Your SlideShare is downloading. ×
0
SCA架构<br />卓望数码技术(深圳)有限公司<br />2010年12月<br />架构部   宫建涛<br />
SCA架构<br />
SCA架构立方图<br />
什么是SCA?<br /><ul><li>SCA(Service Component Architecture)</li></ul>SCA由Open Service Oriented Architecture collaboration 提出的...
数码相机生产中体会SCA<br />
乐高玩具中体会SCA<br />SCA的理念与乐高玩具的设计思路很相似。<br />组件化/模块化<br />传统的应用好比是普通的玩具,不可拆卸和拼接。<br />      而乐高玩具与众不同,可以按照用户自己的想法随意组装,就是因为它是由...
OSOA国际构件标准组织<br /><ul><li>更为开放的组织协作模式
多样灵活的规范制定机制
www.osoa.org
email, wiki, con-call, f2f meeting
共同支持开源项目推广标准
Apache Tuscany
Eclipse STP
共同支持各类技术大会
OASIS Symposium(08年4月)
SOA中国论坛(08年4-7月)
SOA中国国家标准大会(08年11月)
SCA 规范的内容
Assembly Model
定义了组件装配语言SCAL,以支持服务组件的装配
Component Implementation specifications
定义了使用各种技术开发SCA组件的规范
Upcoming SlideShare
Loading in...5
×

Sca架构

2,213

Published on

SCA架构

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,213
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
24
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "Sca架构"

  1. 1. SCA架构<br />卓望数码技术(深圳)有限公司<br />2010年12月<br />架构部 宫建涛<br />
  2. 2. SCA架构<br />
  3. 3. SCA架构立方图<br />
  4. 4. 什么是SCA?<br /><ul><li>SCA(Service Component Architecture)</li></ul>SCA由Open Service Oriented Architecture collaboration 提出的一种组件化的面向服务编程模型,并于2007年正式捐献给OASIS组织。<br />SCA提供了服务组件模型、装配模型和策略框架来支持各种异构应用的封装和集成。<br />同SCA并列提出的SDO规范,定义了SOA应用程序中访问各种异构数据源的方法。<br />组件可以以各种不同的协议发布服务,包括SOAP、RMI、REST、JMS,甚至可以是虚拟机内的对象直接调用。<br />组件可以使用多种技术实现, 包括EJBs, Java POJOs ,Spring Beans,BPEL process , COBOL ,C++, PHP …<br />SCA中,最重要的一个概念是Service----服务,它的内涵是独立于具体的技术。因此,SCA不会称之为 Java组件架构,或Web Service 组件架构。所谓的具体技术,主要有两层含义:一是程序语言,而是传输协议。<br />现有的组件是和传输协议紧密耦合的。比如EJB组件采用的是RMI传输协议,Web Service组件采用的是SOAP传输协议。SCA组件则能自由地绑定各种传输协议。<br />SCA是对目前组件编程的进一步升华,其目标是让服务组件能自由绑定各种传输协议,集成其他的组件与服务。<br />SCA与传统的业务组件最大区别在于SCA实现了两个功能:一是组件和传输协议的分离,二是接口和实现语言的分离。<br />
  5. 5. 数码相机生产中体会SCA<br />
  6. 6. 乐高玩具中体会SCA<br />SCA的理念与乐高玩具的设计思路很相似。<br />组件化/模块化<br />传统的应用好比是普通的玩具,不可拆卸和拼接。<br /> 而乐高玩具与众不同,可以按照用户自己的想法随意组装,就是因为它是由标准的微小的组件构成。<br /> 基于SCA的应用都是由更小的服务组件组成的,如同乐高玩具的模块;<br />接口标准化<br />用乐高玩具可以搭建各种不同的形状,就好比SOA架构可以实现不同的应用;乐高玩具的模块是基于标准化的,因此可以反复利用,SCA架构也是这样。<br />
  7. 7. OSOA国际构件标准组织<br /><ul><li>更为开放的组织协作模式
  8. 8. 多样灵活的规范制定机制
  9. 9. www.osoa.org
  10. 10. email, wiki, con-call, f2f meeting
  11. 11. 共同支持开源项目推广标准
  12. 12. Apache Tuscany
  13. 13. Eclipse STP
  14. 14. 共同支持各类技术大会
  15. 15. OASIS Symposium(08年4月)
  16. 16. SOA中国论坛(08年4-7月)
  17. 17. SOA中国国家标准大会(08年11月)
  18. 18. SCA 规范的内容
  19. 19. Assembly Model
  20. 20. 定义了组件装配语言SCAL,以支持服务组件的装配
  21. 21. Component Implementation specifications
  22. 22. 定义了使用各种技术开发SCA组件的规范
  23. 23. 包括Java, Spring, C++, BPEL, PHP实现技术规范
  24. 24. Binding specifications
  25. 25. 定义了组件的服务绑定规范
  26. 26. 包括Web services, JMS, RMI-IIOP, REST等
  27. 27. Policy Framework
  28. 28. 定义了对组件的安全、事务、可靠性相关的策略配置规范</li></li></ul><li>SCA体系结构<br /><ul><li>SCA 将构建面向服务的应用程序的步骤划分为两个主要部分
  29. 29. 实现提供服务和使用其他服务的组件
  30. 30. 组装组件,以通过服务引用其他服务的方式来构建业务应用程序</li></ul>SCA 提供了一种机制,用于打包和部署那些紧密相关的组件,这些组件是作为一个整体开发和部署的。这种机制使服务的实现和组装避免了陷入基础设施功能的细节,也避免了调用外部系统。这样可支持不同基础设施间的服务可移植性。<br />
  31. 31. SCA体系结构—组件(component)1<br />SCA最基本的元件是组件(component),这是系统的构成单元,也是提供服务的基本单元。<br /><ul><li>服务(services),表示由本组件提供给其他组件使用的业务功能;
  32. 32. 实现(implementation),这里的实现是指提供了特定业务功能的代码段;
  33. 33. 属性(properties),这是一些影响业务功能的数据值,可以通过设置这些属性值对实现进行配置;
  34. 34. 引用(references),表示本组件的实现所依赖的由其他组件提供的服务。</li></li></ul><li>SCA体系结构—组件(component)2<br />
  35. 35. SCA体系结构—组件模块(composite)1<br /><ul><li>模块(composite)</li></ul>模块 是一起开发和部署到 SCA 系统 的最大紧密耦合组件。由一个或多个具有内在业务联系的服务组件构成。SCA 模块包含一系列组件、外部服务、入口点,以及用于衔接这些部分的机制。模块向 SCA 系统提供服务实现。<br />入口点 定义模块提供的公共服务,此服务可以由同一模块内的其他组件使用,也可以在模块外使用。入口点用于使用特定的绑定 发布模块提供的服务。<br />模块内的外部服务 表示其他模块提供的远程服务。它们位于使用此服务的 SCA 模块之外。组件可以像访问 SCA 组件提供的任何服务一样访问这些外部服务。外部服务使用绑定来描述对外部服务的访问。<br />通常都有一个xxx.composite文件用来描述Composite的结构以及每一个Component的实现,接口,服务,引用的定义。<br />
  36. 36. SCA体系结构—组件模块(composite)2<br /><ul><li>一个组合构件可以包含多个构件。
  37. 37. 每个构件可以定义多个服务和引用;服务和引用通过"接口描述"来描述其业务功能。SCA中包含了两种类型的接口描述:Java接口和WSDL PortType。
  38. 38. 可以为每个构件指定至多一个构件实现。构件实现是构件服务功能的具体实现。
  39. 39. 可以为一个构件定义多个构件属性。
  40. 40. 可以为服务和引用定义一个或多个绑定信息。服务和引用的默认绑定是SCA绑定。 </li></li></ul><li>SCA体系结构—域(Domain)<br /><ul><li>域(Domain)</li></ul>域(Domain)是一个系统或者子系统。它由n个Composite组成。在SCA系统 中,Domain 用于聚合那些提供了相关业务功能的模块。这是通过配置和管理模块组件、外部服务、入口点,以及连接机制来完成的。SCA 系统的配置由所有部署到其中的子系统的组合加以表示。<br />
  41. 41. SCA的优势<br /><ul><li>SCA的好处
  42. 42. 跨平台、跨语言,不改变应用程序情况下,使用不同的技术来作为组件的实现,或者改变通信协议等等
  43. 43. 组件可以自由替换,软件具有高度的弹性以适应变化
  44. 44. 服务可以通过简单的配置进行发布和调用
  45. 45. 提供了组件的装配规范,可以快速高效组装应用程序
  46. 46. 可以适用于各种规模的软件开发</li></li></ul><li>SCA实战1—简单、重用性强 <br />通过java注解实现组件<br />组件内部结构<br />
  47. 47. SCA实战2—可以灵活绑定多种协议<br /><ul><li>灵活绑定多种协议
  48. 48. 支持绑定Ajax、cobra 、erlang、jms、jsonrpc、web service、rmi、http、rss、Script 。</li></li></ul><li>SCA实战3—与Spring紧密集成 <br />通过java注解实现组件<br />application-context.xml<br />helloworld.composite<br />
  49. 49. SCA实战4—与多种服务器集成<br /><ul><li>将tuscany的jar文件放入WEB-INF/lib下面
  50. 50. 修改WEB-INFweb.xml,加入下面的配置
  51. 51. 两种部署配置
  52. 52. 第一种方式
  53. 53. 第二种方式</li></li></ul><li>SCA实战4—客户端的调用<br />
  54. 54. JBI<br /><ul><li>JBI(Java Business Integration)</li></ul>JBI是基于消息交换的组件的集成规范,是由容器和插件(Plug-in)组成的可插入式架构。容器托管使用消息路由进行通信的插件组件。架构上,组件通过一个抽象的服务模型(一个消息传递模型,位于任何特殊协议或消息编码之上的抽象层中)进行交互。在基于JBI的实现中,服务之间并不直接交互。取而代之的是,采用类似EAI实现中广泛应用的消息代理架构,JBI容器扮演在服务之间路由消息的通用中介。<br /><ul><li>JBI容器托管了2类不同的插件组件
  55. 55. 服务引擎(Service Engine,SE)。SE本质上是用来托管JBI环境内部服务提供者和消费者的标准容器f。例如,在JBI环境中经常出现的SE包括数据转换器、业务规则容器和BPEL引擎。
  56. 56. 绑定组件(Binding Component,BC)。BC为JBI环境外部的服务消费者和提供者提供互联性。BC允许集成不提供Java API的组件/应用程序,并使用远程存取技术访问它们。 </li></li></ul><li>SCA与JBI对比<br />
  57. 57. 谢谢!<br />
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×