基于SCA与Web服务应用集成的研究与实现小结

来源:互联网 发布:u家工场 知乎 编辑:程序博客网 时间:2024/05/22 14:44

     最近几天看了一篇关于基于SCA与Web服务的应用集成的论文,在此做一下小结。

    企业应用集成(Enterprise Application Integration)是指对企业中完成各种不同业务功能的应用进行集成,使得各应用能够实现信息的共享与交互。传统的企业应用集成,如数据级集成、应用接口级集成、业务逻辑级集成等都属于紧耦合的集成方式,灵活性和扩展性比较差,而且也不利于业务流程的调整和优化。

随着Web Services技术的出现和SOA思想的提出,面向服务的集成,即基于SOA的企业应用集成逐步被人们认可。Web Services本身的特点及SOA的优点使得面向服务的集成具有实现技术和位置透明、定义良好且基于标准的接口、很好的灵活性、渐进式集成等的优点。但这种方式也存在一些不足。首先,Web Services作为一种技术标准,只定义了如何构建Web服务,而没有提出如何组合Web服务,服务组合问题是SOA一个重要的问题。其次,Web服务只是实现SOA的一种最佳方式,并不等同于SOA。基于SOA的企业应用集成不能局限于Web Services,而且有些应用也不适合采用Web Services。但BPEL只能对Web服务进行组合和编排,而且BPEL是面向高层次的业务流程,不适合低层次的服务组合。但是SOA对于企业应用集成来说确实是一个很好的框架和设计方法,也是未来的发展趋势。因此如何以SOA对企业应用集成进行架构,而不仅仅局限于Web Service技术已成为研究热点。

《基于SCAWeb服务的应用集成的研究与实现》一文提出了一种基于SOASSW架构,即基于SOASCASDOWeb Service相结合的应用集成架构。该框架引入了服务组件架构(Service Component Architecture)。通过引入SCA,很好的解决了基于SOA应用集成的缺陷,也实现了业务组件和传输协议的解耦。SCA发展了Web服务,不但定义了一种服务组件模型,而且定义了一种服务组合模型,有效的解决了Web服务组合问题;而且SCA提供了一种统一的调用方式和基于组件的构建模型,能够使不同类型的服务通过统一的方式调用和构建,从而解决了基于SOA应用集成局限于Web Sevice的困境。

文章提出的基于SOASSW架构分为五层,从下到上分别为数据源层、数据服务层、SCA组件构建和组装层、服务发布与调用代理层以及服务调用层。其中,数据服务层、SCA组件构建和组装层是服务提供者。 

数据服务层:数据访问服务(Data Access Service)屏蔽了底层数据源的差异性,向SCA组件层提供SDO数据服务。

SCA组件构建和组装层:使用SCA编程模型,把已有或新开发的应用程序功能单元封装成SCA组件并进行组装,对于外界提供的非SCA服务,通过SCA提供的基础设施引用。对于安全性、可靠性消息等非业务功能的实现,由SCA运行时环境支持。

SCA组件的组装包括SCA模块内的集成和SCA模块间的集成。

SCA模块内的集成是指将一些相关的服务按照顺序、循环、调用、路由等关系进行组合,即确定服务间的调用和依赖关系。

SCA模块间的集成是更高层次的组合,通常将同一业务领域的组合组装成一个域,构成更高层次服务。

服务发布与调用代理层:将SCA组件构建和组装层生成的SCA服务组件发布成Web服务,供服务消费者请求调用。

服务调用层:服务请求者对SCA组件服务进行调用和编排,构建符合业务功能的业务过程。

 

基于SOASSW框架具有如下特点:

(l)服务组装:与技术和语言无关的服务复合表示法。

(2)服务构件:与技术和语言无关的、可复合的服务实现表示法

(3)服务数据对象:与技术和语言无关的服务数据项表示法。

(4) SCA绑定(SCABinding)规范适用于服务和服务需求。绑定允许通过特定的访问方法或传输来提供服务并满足服务需求。

(5)Web服务绑定允许利用Web服务技术来访问外部需求或公开S以服务。SCA提供了服务组件之间的互连的复合视图,而Web服务提供了用于访问服务组件的互操作方式。Web服务绑定还提供了SCA系统与其他服务之间的互操作衔接,这里的其他服务是指SCA系统的外部服务,但它们供SCA复合体使用。

(6)JMS绑定允许S以组件使用JMsI来通信。它提供了连接到所需的JMS资源的JMS特有的连接细节。它支持使用QueueTopic类型的目标。

(7)EJBsessionBean绑定可以将先前部署的SessionBean集成到SCA装配中,并允许向使用EJB编程模型的客户公开SCA服务。EJB绑定既支持无状态的SessionBean模型也支持有状态的SessionBean模型。

 

原创粉丝点击