这种方式一个很大的缺陷在于:不同的应用系统之间很难进行通讯,受特定的通讯方式的限制。随着信息化的发展,目前,企业考虑到业务整合的时候,就出现了困难,用户感觉到项目的整体费用和项目的复杂性,不能很好地进行控制。
面向服务的集成正是根据这个需求,所产生的。
1 面向服务的体系结构(SOA)
SOA(Service Oriented Architecture,面向服务的体系结构)来源于早期的基于构件的分布式计算方式,在OMG和IONA的推动下,成为了一个大家所广泛认可的规范。90年代,CORBA和微软的COM编程模式,促进了SOA的发展。随着Java编程语言、EJB构件模式的发布以及J2EE应用服务市场的成熟,SOA得到了进一步发展。
理论上,面向服务的体系结构这种思想,在其简易性上,十分吸引人。如果你能够用定义很好的机构封装应用,就有可能将一个单一的应用加入到一个服务的集合中。封装的过程创建了一个抽象的层,屏蔽了应用中复杂的细节(你将不用关心用的是哪一种编程语言,什么操作系统,应用程序用的是什么数据库产品)。唯一相关的时就是服务所描述的接口。
SOA的优势在于高可复用性,灵活性,以及更好的扩展性和可用性。经过15年的软件体系结构的创新,在一系列应用开发项目中,SOA的优点得到了体现。
SOA的首次尝试,只是用于新的业务逻辑的开发,只提供有限的功能,而系统的主体部分,并不采用面向服务的原理构建。另外,竞争和创新意味着多样的,不同的SOA实现方式使得集成没那么容易。
统一采用一种方案,共同获取这是不可能做到的。因此现实世界中,需要能够融合各种差异。吸引早期的教训,各方供应商最终将聚在一起,为SOA提供一个更好的框架。
2 面向服务的集成(SOI)
SOI(Service-Oriented Integration,面向服务的集成)将传统的集成对象与开放的、高灵活性的Web Services整合在一起。面向服务的集成提供了一个抽象的接口,通过这些接口,系统可以进行交互,而不是使用低层的协议和自定义的编程接口,来规定系统如何与其它系统进行通讯。系统只需要以服务的形式出现,选择与该系统交互的其它系统,能够简单发现那些服务,并且在运行的时候或者是设计的时候,与这些服务绑定。
以前业务方面的应用程序,仍然可以使用,但是由于缺少现代的接口,不能被重用。对于IT机构而言,这是一个挑战,需要去适应新的通讯和访问方式,比如网络或是更高的桌面环境产品,如微软的.net。
面向服务的集成使得IT机构能够在已有的应用中提供可重用的服务的功能。
对于一个集成项目,所要花费的相关费用,基本上可以分为四个阶段:初始阶段费用,定制阶段费用,维护阶段费用以及后期变更所需要的费用。不同的集成方式,在各个阶段的费用。
虽然在定制阶段,SOI的费用会比其他类型的集成方式要高,但是,从维护阶段以及后期的变更所需的费用来看,采用SOI可以大幅降低项目的相关费用。
Web Services是基于互联网的应用程序模块,用于在互联网上运行,采用开放的UDDI(Universal Description,Discovery and Integration,通用描述,发现,集成)标准。UDDI标准先由IBM、微软、Ariba制订,到目前为止获得了130多家公司的支持。UDDI提供了一个开放,平台独立的技术框架,来使企业之间能在互联网上找到对方的服务,定义它们在互联网上的交互活动,以及这些信息的共享方式。Web Services并不特指某一公司的产品,服务或开发工具(如微软ASP.Net中的Web Services),而是指在各种协议集下大家共同遵守的基于互联网络的编程平台。 SOI通过提供一个构建、部署和管理集成的体系框架,简化了系统的集成。SOI和"基本"的Web Services使用的是相同的标准集合。
虽然相似,但是由于SOI需要适当的特征,用于更广的度量以及EAI(Enterprise Application Integration,企业应用集成),这就使得SOI已经超出"基本"的Web Services的范畴。具体表现为以下几个方面:
① 能够提供服务。SOI使用标准的接口来展现已有的系统。因为这些已有的系统是生产业务应用,他们不能被改变;SOI必须支持非入侵的服务。
② 支持多种传输方式。Web Services规范中并不要求明确的传输方式,虽然Web服务常被误认为只是通过HTTP方式进行传输。事实上是WSDL(Web Services Description Language,Web服务描述语言)和SOAP(Simple Object Aclearcase/" target="_blank" >ccess Protocol,简单对象获取协议)规范讨论了多种的传输方式。
③ SOI方案必须整合各种不同的企业架构体系(包括MQSeries,CORBA, Tuxedo, TIBCO, JMS等各种企业级产品),因此,对上述主要协议的支持,是SOI方案中的基本要求。
④ 安全性。在评估一个企业集成的技术这个问题上,安全性越来越受到人们的重视。通常情况下,被集成的资源中都有他们自身的安全模式(这些安全模式,可能在开发过程中就已经设计好了)。要想能够被用于集成,SOI方案必须支持基于角色的访问协议,单用户签名,服务使用者与服务提供者之间的安全交换,必须能够集成现有的企业安全系统。
⑤ 对事务的支持。Web Services标准并未指定事务的模型。虽然现在有很多公司正在拟制Web服务事务模型的规范草稿。
为了能够使企业客户接受,SOI方案中必须支持事务的语义(包括commit和roll back等特征)。
⑥ 支持会话的交互。许多企业系统是基于客户/服务器之间的会话交互方式,因为对于事实相应要求更高的系统来说,这种方式的效率更高。为了便于扩展,SOI必须支持会话的交互。 4 小结
面向服务的集成,可以减少不同类型的IT系统的依赖性,降低费用和IT操作的复杂性,提高已部署系统的灵活性。这个新的方式超出了传统集成的范围,能够合理化地将有用的技术进行合并,同时排除了抑制业务创新的障碍。