l SOA架构
SOA架构是一种分布式的软件组件模型。整个系统被设计和实现为一组相互交互的服务,它使得系统中的某些服务能够充分利用其他的服务同时却无需考虑其物理位置。在该模型中,任何的业务功能被作为提供的一个服务使用。应用程序的不同功能(服务)通过这些服务之间定义良好的接口和契约联系起来,使得构建在系统中的服务可以以一种统一和通用的方法进行调用。这种具有中立的接口定义(没有强制绑定到特定的实现上)的特征称为服务之间的松藕合。松藕合系统的好处有两点:它的灵活性;当组成整个应用程序的每个服务的内部结构和实现逐渐地发生改变时,它能够继续存在。这就为解决EAI集成问题和快速开发新的IT系统铺平了道路。SOA模型如图1所示,说明了SOA中的不同角色及其工作流程。SOA架构的组件包括:
(1)服务提供者:服务提供者是一个可通过网络寻址的实体,它接受和执行来自使用者的请求;
(2)服务使用者:服务使用者是一组使用服务提供者所提供的一项或多项服务的组件;
(3)服务储备库:服务储备库包含服务的描述,服务提供者在该储备库中注册其服务,而服务使用者访问该储备库已发现的所提供的服务。
2 SOA的具体实现
SOA是一种软件架构,而不是局限于某个技术的组合,它超越了技术范围。SOA的关键是“服务”。W3C将服务定义为:“服务提供者完成一组工作,为服务使用者交付所需的最终结果。最终结果通常是使用者的状态发生变化,但也可能是提供者的状态改变,或者双方都产生变化”。服务是网络中可用的软件资源。服务提供者通过标准机制提供服务,使用者通过网络有计划地使用服务。服务储备库发布服务所在位置,并在使用者请求服务时定位服务。服务使用者和提供者的角色不是惟一的,服务提供者也可以是使用者,反之亦然。SOA具体的实现有很多,包括Web Service,Ses-sionBean,JINI等,但随着Web Service技术被越来越重视,其己经成为构建SOA的主要技术。
3 基于Web Service实现SOA
3.1 Web Service体系结构
Web Service是近几年提出的一种新的面向服务的体系结构,它是基于Web服务提供者、服务请求者和服务注册代理的不同操作来建立的。具体来说其运作分为三部分:发布操作一服务提供者通过发布操作向服务注册代理注册自己的功能和访问接口;查找操作一服务请求者通过查找操作向服务注册代理查找特定的服务;绑定操作一服务请求者通过绑定操作实际使用服务提供者所提供的服务。
3.2 Web Service技术支持
Web Service技术建立的面向服务架构基于开放性标准。一些典型的开放性标准有:XML(可扩展标记语言);SOAP(简单对象访问协议);WSDL(Web服务描述语言);UDDI(Web服务注册规范)。Web Serv-ice本身就是一种SOA架构,可以实现各种应用程序资源的互联互通,大大促进了软件源的共享,从而成为新型的提供分布式的(全球性的)信息整合手段和应用系统EAI解决方案。
3.3 Web Service结构的构造实现
(1)基于CORBA和Java的Web体系结构
基于CORBA和Java的Web结构的运行机制是:CORBA客户方程序从Web服务器下载执行,并与应用服务器上的CORBA应用对象通过Internet对象请求代理间协议(Internet Inter-ORB Protocol,IIOP)通信,调用其指定的操作。CORBA应用对象首先对客户的请求进行认证和解释,根据客户请求的内容,或直接访问资源层的数据库或与网络上的其他CORBA对象交互,共同完成客户请求。各种新开发的Web应用,只要使用接口定义语言(IDL)封装成CORBA对象,在CORBA系统中登记注册后,就可以动态地加载进入Web系统,迅速地为客户提供服务。体系结构如图2所示。