SOA已经成为公认的IT基础架构发展的趋势,它为我们描绘了一幅美妙的IT系统和业务系统完美结合的图画。然而,即使是在各咨询机构推崇SOA,各厂商大肆宣传推广SOA,用户普遍认可SOA的今天,SOA的美好未来依然给人一种不清晰、不踏实的感觉。我们常常说SOA需要解决如何落地的问题。这个难题无法一蹴而就,必须花费很多时间才能逐步进行解决。但在目前,我们已经为SOA找到了一个着地的落脚点,这就是SCA/SDO规范。
面向构件,新一代的软件开发模式和方法。那么它的规范和标准又是什么呢?
本文中将探究PHP等流行脚本语言怎样包含SCA、SDO这些相同的SOA技术……
本文是一个考虑开发组合应用程序的系列的一部分。组合应用程序集成现有的SOA服务并创建能够以不同的方式组合的新服务。我们最初使用WebSphere Application Developer IE v5.1开发了一个演示组合应用程序,其中使用了WebSphere Business Integration SF作为其运行时。随着WebSphere Process Server v6及其对应的开发工具WebSphere Integration Developer v6的发布,一种基于服务组件体系结构(SCA)的新编程模型出现了,从而要求将构件从遗留编程模型迁移到新的编程模型。下面我们将与您分享在此迁移过程期间学习到的一些重要教训。
SCA被人们赞扬为是一种能够以较低的应用障碍建立服务的一种方法和把SOA连接到Web 2.0的方法。
2007 Microsoft Office system 提供了一套服务器、客户端和工具,可使企业和软件供应商更容易地在企业内构建和部署复合应用程序。
Apache Tuscany小组上月发布了服务组件架构SCA项目的1.2版及服务数据对象(Service Data Objects,即SDO)项目的1.1版。
随着全球信息化的浪潮,信息化产业不断发展、延伸,已经深入了众多的企业及个人,SOA系统架构的出现,将给信息化带来一场新的革命。
JavaOne 2008上,Jos Dirksen和Tijs Rademakers演示了协同使用服务组件架构和Java业务集成框架以求两全其美。
PC市场竞争越来越趋于白热化,传统的“寒促”、“暑促”活动等已经不能满足竞争的需要,单纯的阶段性促销向全年促销转变是大势所趋。
因为SaaS这种软件交付模式可以允许中小企业在不增加IT投入的基础下,快速实现信息化,同时也能够大幅度降低信息化给企业带来的风险。
开放SOA合作组织刚刚发表了SCA Java EE集成规范草案0.9版,该草案定义了在Java EE应用环境中如何集成SCA和Java EE。
徐少春表示,目前金蝶正准备筹划一系列资本的动作,包括中间件有意分拆在内地创业板挂牌上市。“如果政策允许,我们金蝶希望回归A股。”
业务组要求ASF提供多种方式的远程服务访问,兼顾性能和跨平台的不同需求,因此在原有的Web Service的SCA发布及绑定的功能外,集成了Hessian
SCA规范旨在简化服务的创建和合成,对于运用基于SOA方式服务的应用构建十分关键。随着SCA规范的完成,联盟合作厂商希望将其标准化过程提交给OASIS。
使用分布式SCA Domain来跨多个JVM工作并不比单独SCA domain难。
这里每一个运行的node都有一个domain的描述,所以我们创建一个org.apache.tuscany.sca.domain.SCADomain的实例
不同服务之间可以互相调用. 看到这里问题似乎解决. 但是翻遍论坛没有找到一篇用java以外的语言来实现component的.我想这是SOA的 编程语言无关性的最重要的部分, 是整合不同语言, 不同技术架构系统的关键所在.
SCA Spring的Java客户程序与实现模型指定了Spring框架是如何在SCA中使用的
使用SOA构建业务解决方案主要的优势之一就在于其能按照业务需求的变化和革新快速组装新的解决方案。SCA提供了各种将已存在应用连接成为一个新的构件应用的方法。如果已存在应用确实有一个可调用接口,那么有三种主要方式来将应用功能连接成构件服务的解决方案
既然SCA是为基于SOA思想的系统而制定的开发、部署规范,它首先必然是具备了SOA的一系列的优点,象跨语言、分布式、以服务的思想构建系统等。SCA对于组件中的服务的调用提供了异步调用的支持,在异步调用的支持上SCA的考虑也较为全面,象JMS方式的、RMI方式的等等。
本文将会介绍一个Eclipse的SCA开发插件,用以协助开发者使用Eclipse进行Apache Tuscany开发,完成相关的配置和运行任务。以上代码描述了一个HelloImpl类完成的SCA组件,提供了一个Hello服务和Web Service(SOAP)和JSONRPC绑定。
本文档由对SCA装配模型的简短概述开始。文档的后半部分描述了SCA的核心元素
SCA Java运行时由core和extension组成。Core本质上来说是一个多VM的wiring引擎。该引擎使用IOC(控制反转)和DI(依赖注入)原则来连接组件。
特别地,Spring提供了依赖注入机制的运行时容器,以便应用组件能避免直接对中间件API的编码。Spring框架能用于创建服务组件,并通过其依赖注入特性来连线构件中的服务组件。
文档的后半部分描述了SCA的核心元素,SCA component(译为:组件)和SCA composite(译为:构件)。SCA既为服务的组件也为组件服务的创建,包括对SCA构件中复用已存在的应用功能提供了模型。
一经定义,组件可以使用属性来声明配置,这将在接下来的实现中映射到accessor和mutator。//例1:组件声明 如果被要求使用一个公用密钥体系,Policy Set可以包含一些加密方法,信任关系和密钥存储的信息。
我一直觉得难以理解的是,中间件这样一个在IT界广泛使用多年的概念,为什么在电信界得到这样的结果?甚至那些互联网软件的开发商,也在中间件和协议的问题上绕起了弯子。
它简化了实现业务服务的组件编程模型,这些组件可以使用不同编程语言实现。在同步、异步情况下,组件都可以被方便的调用。可扩展性 组件可被简单的被替换。
当开始考虑Tuscany SCA java运行时环境的时候,理解高层调用是什么和为什么是非常有用的。--[endif]-->EmbeddedNode - 分布式域中的一个节点 一般认为EmbeddedSCADomain在调出运行时给出了一个必要的好的入口点。
-
sca用户指南 ligang1111|构客网|2007-12-14 16:49
这篇用户指南帮助你熟悉SCA概念,并且带你浏览示范怎样创建SCA 应用的一个例子。我们想让程序员 在开发应用的时候,不用担心将要被使用的环境。SCA快速指南给你做SCA概念的概述,并且为下面的例子给你打好基础。
Java SCA子项目的目的是为了提供一个基于SCA的企业级的服务基础设施 Tuscany SCA不仅仅是一个参考的实现。它不应该规定死编程模型而是应该支持多种编程模型。Java SCA基础设施是非常模块化的,高度的可扩展性以便用户可以定制它来适合自己的需求。
今日有位朋友给我留了言提到SCA当在异构分布式环境的情况下,不论是否使用SCA规范来实现,都采用Web Service来完成面向服务的服务调用,觉得SCA没有什么优势可言,其实不然……
Tuscany于8月31日发布了0.99版本,此版本较之前发布的0.91版本在结构上做了较大的调整,其服务的调用方式又重新进行了规划,本文就其服务调用过程进行探讨。
本文主要介绍Tuscany SCA开源软件中动态代理模式(Dynamic Proxy)及方法调用Invocation 。
Tuscany (意大利语为Toscana)的名称由伊特鲁里亚(Etruscan)演变而来,伊特鲁里亚文明在公元前500年罗马人入侵之前,统治着Tuscany地区。这里曾是著名古战场,在2220年前春季,迦太基统帅汉尼拔曾在这里全歼了不可一世的罗马军团,而这一战役堪称是世界战争史上的经典之作。
上一篇文章主要讲述了Tuscany SCA的插件板模式及工厂模式的发展和提升,本文主要介绍Tuscany SCA开源软件中动态代理模式(Dynamic Proxy)及方法调用Invocation 。这个invoke方法的内容主要是在调用被代理的方法前后方便地加上你自己的逻辑,如下例子
一个Contribution也对应为一个Bundle,此种方式使Tuscany的Contribution具有了热部署和动态修改替换的能力。1. 创建OsgiSCADomain,继承自SCADomain. OsgiSCADoamin参照DefaultSCADomain,做了少许改动。
IBM发布了一系列全新或增强的服务及软件,用以简化面向服务的架构(SOA)的应用。
程序员或者架构师都有着自己的“孩子”,不论自己的孩子是好是坏,都为自己的孩子有一点成绩而激动不已。现在的我也正在培育着一个自己的“孩子”
这篇用户指南帮助你熟悉SCA概念,并且带你浏览示范怎样创建SCA 应用的一个例子。它也说明了Tuscany支持的多种不同环境(例如命令行客户端或Web应用)以及如何打包程序以运行在这行环境中。
SCA全称Service Component Architecture,即服务组件框架。它由BEA、IBM、Oracle等厂商联合制定的一套符合SOA思想的规范。
最近一段时间先后看了SCA规范和OSGI的规范。看完之后再对二者作一个全面的比较。
近十年可以说是软件开发的黄金年代,从客户/服务器模式到三层体系再到分布式架构,不断提高软件灵活性和高聚合性,在应用不断扩大的情况下,软件复杂度一再扩展,新的体系也随之孕育。
自从2007年3月21日 OSOA组织的 SCA装配规范V100发布之后,根据这个规范实现的apache组织开源项目Tuscany中SCA子项目的结构也作了大幅度的调整。
在写程序的时候,经常要设置一些变量,什么局部变量,全局变量。和常量相比,变量有一个好处,在需要计算的地方使用,可以随时修改参与运算的值。
在SCA V1.0装配规范中,相对较为独立的组件只有三个,粒度由小到大分别是Component、Composite和Domain,其他Service、Reference、Property、Wire等都是辅助性的元素。
SCA规范中的"三大件"分别是Component 、Composite和Domain 。
可以很多不同领域角度来看SCA,从数据结构的角度来看SCA,可以从软件开发模型的角度来看SCA,可以从软件生命周期来看SCA。
SCA中有两种组件类型,即Component 组件类型(Component Type)和Composite组件类型(Composite Type),对应这两种组件类型
SCA规范从v0.9,v0.95,0.96最终发展到了v1.0 ,完成了第一个里程碑。从SCA规范v0.9到v1.0,从概念到装配规则都发生了一些变化。
BEA宣布,将与IBM、Oracle、SAP、Iona、Siebel和Sybase一起,支持一种构建和包装应用程序的新规范,即Service Component Architecture(服务组件架构,SCA)。
基于Java 的service 接口和实现组件的Java类
最近一直在考虑平台的总体结构以及服务框架的问题,粗粗的接触了OSGI和SCA等思想,有了一些思路,但是还不是很清晰。
SCA面向服务的组件模型,源于IBM 的WSIF,SCA的目的是使用户在构建企业应用时有一个不再直接面对具体的技术细节的层次
在SCA规范正式版发布之前,总感觉缺少SCA容器打包部署方面的描述。终于在1.0版中看到了将打包部署作为了单独的一个章节列了出来。
SCA规范中定义了构件、服务的元数据描述规格。如果是一个Java的构件实现,会先从Java Class中查找元数据信息。
SCA是一个开发SOA面向服务应用的简单模型规范,它描述用于使用 SOA 构建应用程序和系统的模型。
Tuscany作为SCA Spec1.0实现,现在已接近Release 1.0的尾声,在近期将发布。其结构相对7月份发布的0.91版本进行了较大的调整,优化了代码的结构并且增加了部分新功能。
开-闭”原则(Open-Closed Principle)是面向对象的可复用设计(Object Oriented Design或OOD)的基石。
本节继续对Tuscany SCA扩展机制进行探讨,详细说明了Binding扩展机制方式及示例。
Tuscany SCA在运行的时候进行各种服务的装配,根据XML格式的SCA元素的定义,从SCDL和其他格式的文件中读取装配的信息。