SCA简介及配置示例
SCA简介及配置示例
SCA(Service Component Architecture)是为实现 SOA 而产生的一种规范。它提供了一种编程模型,能够十分方便、快速地来构建 SOA 所需的系统和应用。
SCA内部既融合了IOC的思想,同时又把面向对象的复用由代码复用上升到了业务模块组件复用,同时将服务接口,实现,部署,调用完全分离,通过配置的形式灵活的组装,绑定。从代码级的面向对象思想,到组件级的EJB概念,再到服务级的SOA理念,是一个开发复用的不断提升的过程,经历的经验教训正在给实践做出最好的指导。SOA提倡的就是更高级别的复用,服务的复用。
SCA基于这样的理念:将业务功能作为一系列的服务而提供,并用这一系列的服务组装起来的解决方案来满足特定业务需求。
SCA就是一个致力于为 服务构件 以及 连接各服务构件的访问方式 而包容各种广泛的技术模型。
SCA的核心元素,SCA component(构件)和SCA composite(组合构件)
SCA Component
Component是SCA组合件中业务功能的基础元素。其通过SCA Composite联合成完整的业务解决方案。
Component是实现的可配置实例。构件提供和消费服务。多个构件可以使用和配置为同一个实现,而每个构件又可以对实现有不同的配置。
Component是实现的可配置实例。构件在xxx测试数据posite文件中作为组合构件的子元素来声明。
Component 元素的属性中,name(必须) – 构件的名字。在同一组合构件里的所有构件中名字必须唯一。
component 元素有零个或一个implementation 子元素,该子元素指定构件所使用的实现。
Component 元素有零个或多个service 子元素,用于配置构件的服务。
SCA Composite
SCA Composite被用于在逻辑分组中装配SCA元素。其在SCA 域中是组合的基本单元。Composite包含一系列的构件、 服务、 引用以及内连它们的连线,外加上用于配置构件的一系列属性。
SCA Domain
以下SCA配置示例是摘自我的Tuscany Demo,帮助理解Composite、Component的概念。(Tuscany是实现了SCA标准的Apache项目。)
示例1
< composite xmlns ="http://docs.oasis-open.org/ns/opencsa/sca/200912"
xmlns:tuscany ="http://tuscany.apache.org/xmlns/sca/1.1"
targetNamespace ="http://sample"
name ="helloWorld-composite" >
< component name ="HelloWorldComponent" >
< implementation.java class ="edu.shao.tuscany.sample.service.impl.HelloWorld" />
</ component >
</ composite >
示例2
< composite xmlns ="http://docs.oasis-open.org/ns/opencsa/sca/200912"
xmlns:tuscany ="http://tuscany.apache.org/xmlns/sca/1.1"
targetNamespace ="http://sample"
name ="helloSpring-composite" >
< component name ="HelloSpring" >
< implementation.spring location ="applicationContext-preprocess.xml" />
< service name ="IHelloSpring" >
< tuscany:binding.rest uri ="http://localhost:8080/shao/HelloSpring" >
< tuscany:wireFormat.json />
</ tuscany:binding.rest >
</ service >
</ component >
</ composite >
示例3
< composite xmlns ="http://docs.oasis-open.org/ns/opencsa/sca/200912"
xmlns:tuscany ="http://tuscany.apache.org/xmlns/sca/1.1"
targetNamespace ="http://sample"
name ="addition-contribution" >
< component name ="AdditionWS" >
< implementation.java class ="edu.shao.tuscany.sample.service.impl.Addition" />
< service name ="IAddition" >
< binding.ws uri ="http://localhost:8080/Addition" />
</ service >
</ component >
</ composite >
< composite xmlns ="http://docs.oasis-open.org/ns/opencsa/sca/200912"
xmlns:tuscany ="http://tuscany.apache.org/xmlns/sca/1.1"
targetNamespace ="http://sample"
name ="calculator-contribution" >
< component name ="CalculatorComponent" >
< implementation.java class ="edu.shao.tuscany.calculator.client.Calculator" />
< reference name ="addition" >
< binding.ws uri ="http://localhost:8080/Addition" />
</ reference >
</ component >
</ composite >
编程思想、规范标准
SCA简介及配置示例
摘要: SCA(Service Component Architecture)是为实现 SOA 而产生的一种规范。它提供了一种编程模型,能够十分方便、快速地来构建 SOA 所需的系统和应用。 SCA内部既融合了IOC的思想,同时又把面向对象的复用由代码复用上升到了业务模块组件复用,同时将服务接口,实现,部署,调用完全分离,通过配置的形式灵活的组装,绑定。从代码级的面向对象思想,到组件级的EJB概念,再到服务级的SOA理念,是一个开发复用的不断提升的过程,经历的经验教训正在给实践做出最好的指导。SOA提倡的就是更高级别的复用,服务的复用。 SCA基于这样的理念:将业务功能作为一系列的服务而提... 阅读全文
posted @ 2013-04-03 09:57 windlaughing 阅读(380) | 评论 (0) 编辑
UML中的类间关系
摘要: 继承(泛化) generalization [,d?en?r?l?'ze???n]指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力,继承是类与类或者接口与接口之间最常见的关系;在Java中此类关系通过关键字extends明确标识,在设计时一般没有争议性;实现 realization [,ri:?l?'ze???n]指的是一个class类实现interface接口(可以是多个)的功能;实现是类与接口之间最常见的关系;在Java中此类关系通过关键字implements明确标识,在设计时一般没有争议性依赖dependency 阅读全文
posted @ 2013-03-27 11:41 windlaughing 阅读(8) | 评论 (0) 编辑
分类: 编程思想、规范标准
标签: SCA
作者: Leo_wl
出处: http://HdhCmsTestcnblogs测试数据/Leo_wl/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
版权信息