SCA规范学习-装配规范.docxVIP

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

基于SCA的ESB分析:

SCA:

为构建基于SOA的应用和解决方案提供了编程模型

致力于为服务构件以及连接各服务构件的访问方式而包容各种广泛的技术的模型实现了组件与传输协议的解耦(即组件自由绑定协议,并且支持自定义的扩展绑定)

Tuscany是SCA的JAVA实现,其基本架构如下:

重点关注tuscany的扩展机制:

Implementation:SCA组件(Component)的实现方式,一个SCA组件可以由各种语言或者技术平台实现,如:POJO,EJB,SpringBean,bpel流程,各种脚本语言等等。

Binding:是SCA的绑定(Binding)规范的实现,SCA服务(Service)和引用(Reference)的绑定方式,即一个SCA服务可以暴露为WebService,JavaRMI服务,http资源,jms消息等等,一个SCA引用也可以通过WebService,RMI调用,http调用,jms调用等方式调用远端服务。

Databinding:数据绑定方式,用与在Binding中定义参数的传输格式,比如WebService的Binding普通用XML格式,SCA的Binding普通用SDO格式,Jsonrpc的Binding普通用Json格式等等。

Interface:是SCA的接口(Interface)规范的实现,SCA服务(Service)和引用(Reference)的接口暴露方式,普通有Java,WSDL等类型。

这套扩展机制为整合各个平台的服务提供了基础。

ESB:

实现传输协议的转换

实现消息格式的转换

消息路由

数据集成

处理不同来源的业务

Tuscany中,对于传输协议的转换、消息格式的转换以及处理不同来源业务已经有所实现。具体分析如下:

传输协议的转换:通过绑定实现。比如一个SCA组件可以向外部提供一个ws的服务,同时在该服务的实现中加入一个corba服务的引用。这样,用户就可通过调用ws服务的方式,实现对corba服务的调用。且tuscany的扩展机制允许针对新的协议加入自定义的绑定。

实现消息格式的转换:通过数据绑定实现。TuscanySCA支持的数据类型有XML、SDO、JAXB、DOM、JSON等等,其内部有一个消息转换器来实现不同格式消息之间的转换,这种转换机制并不都是一一对应的,而是传递的。比如SDO要转换成AXIO,但Tuscany并没有实现这两种格式的直接转换,而是将SDO转换成StAX,然后StAX再转换成AXIO。具体的转换路径使用Dijkstra最短路径算法获得。而数据绑定是绑定中的子元素,相当于tuscany已经实现格式转换,并且同样允许自定义的数据绑定加入。

处理不同来源的业务:相当于支持处理同步、异步的事件。SCA在向外界提供服务时,可以选择同步和异步两种方式(异步细分为Asynconeway、Deferredresponse和Callback),用以处理不同来源的业务。

消息路由和数据集成,以及服务的加入(注册),删去(注销),修改(更新)是需要加入的功能。

以SCA架构为基础,或者说以Tuscany为基础实现ESB能节省不少工作。

SCA规范学习:

SCA装配规范

在SCA中,构件(或者组件)是最小单元,多个构件可以构成组合构件,组合构件用以完成某个或者某些相关的功能。构件有其具体的实现(即代码),而组合构件的创建与配置则需要SCDL文档来实现。

SCA装配规范即是针对构件不同的装配需求而规定了SCDL文档该如何写。

本学习文档针对规范中提到的SCDL文档中一些重要元素,采用结合tuscany中的例子的方式来匡助理解这些概念。

Component

以下为带有component元素的XMLschema

componentname=xs:NCNamerequires=listofxs:QName?

autowire=xs:boolean?

requires=listofxs:QName?policySets=listofxs:QName?

constrainingType=xs:QName?*

implementation/?

servicename=xs:NCNamerequires=listofxs:QName?

policySets=listofxs:QName?*

interface/?

bindinguri=xs:an

文档评论(0)

153****2021 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档