[摘要]介绍SOA的基本概念,研究基于SOA的电子平台的构建特点及涉及的相关模式。研究表明,基于web服务的SOA架构构建的电子平台符合企业的需要。
[关键词]SOAweb服务模式
中图分类号:TP-9文献标识码:A文章编号:1671-7597(2009)1210084-01
随着我国信息化以及互联网技术的迅速发展,电子平台得到了蓬勃发展。但是在电子平台建设的过程中,标准不统一,缺乏数据沟通机制,形成新的“信息孤岛”。而面向服务体系结构(SOA,Service Oriented Architechture)的兴起为解决上述问题指明了方向。
一、面向对方服务体系结构(SOA)
(一)SOA概述。面向对象服务体系结构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。[1]
其体系结构主要有服务提供者、服务使用者和服务注册中心组成。
服务提供者是一个可通过网络寻址的实体,它接受和执行来自使用者的请求。它将自己的服务和接口契约发布到服务注册中心,以便服务使用者可以发现和访问该服务。服务使用者是一个应用程序、一个软件模块或需要一个服务的另一个服务。它发起对注册中心中的服务的查询,通过传输绑定服务,并且执行服务功能。服务使用者根据接口契约来执行服务。服务注册中心是服务发现的支持者。它包含一个可用服务的存储库,并允许感兴趣的服务使用者查找服务。
(二)SOA技术的实现-Web Service。SOA本身是如何将软件组织在一起的抽象概念,并没有确切地定义服务具体如何交互,而仅仅定义了服务如何相互理解以及如何交互。虽然Web Services并不是实现SOA的惟一方式,但目前Web Services是实现SOA的最好方式。[2]
Web服务(Web Services):Web服务建立在开放标准和独立于平台的协议的基础之上。
XML Schema:W3C的推荐标准,一经确定立刻成为全球公认的XML环境下的首选数据建模工具,它是实现SOA的基础。
简单对象访问协议(Simple Object Access Protocol,简称SOAP):
实现SOA的协议。它是一种允许两个软件系统进行通信,而无需考虑参与交流的计算机使用的软件和硬件平台的消息格式。[3]
Web服务描述语言(Web services Description Language,简称WSDL):
采用XML语言来描述Web Service的属性的文档,其中包括Web services做什么、位于哪里及如何调用等信息。WSDL文档在网络服务的定义中使用下列元素:Types,Message,Port Type,Binding,Service等。
最后在Web服务领域,也需要一个集中的服务注册目录来提供服务注册,以实现广泛环境内的服务发现和服务集成。UDDI正是为了提供这样的服务而制定的全新的Web服务规范。
二、系统平台结构
以下是某个电子系统平台的总体架构图(图1)。其在逻辑上分成三个部分,分别是数据拥有者、数据访问者和系统管理者,分别对应于SOA体系结构中的服务提供者、服务请求者和服务注册中心。
其中,用户接口层主要由六个功能组成,分别是服务生成、服务发布、查询条件定义、查询执行、本体管理和服务管理,分别供服务提供者、服务使用者和平台管理者使用。
领域本体层由领域本体库构成,用于存放定义的领域问题空间。领域本体库屏蔽各数据源语义的差异,为用户提供统一的数据视图。
访问服务层主要由数据访问服务集和UDDI注册中心两个部分组成。数据访问服务集由任意多个服务组成,这些服务由数据拥有者调用用户接口层的服务生成构件来生成。
图1系统平台总体架构
三、系设涉及到的相关模式
DAO(Date Access obiect)模式:它是夹在业务逻辑与数据库资源中间通过在整个应用程序中应用数据访问对象设计模式,使我们能够把底层的数据访问逻辑和上层的业务逻辑分开。
Abstract Factory 模式:工厂模式专门负责将大量有共同接口的类实例化。工厂模式可以动态决定将哪一个类实例化,不必事先知道每次要实例化哪一个类。
四、使用SOA架构构建平台优势
编码灵活性:可基于模块化的低层服务、采用不同组合方式创建高层服务,从而实现重用。
支持多种客户类型:借助精确定义的服务接口和对XML、Web服务标准的支持,可以支持多种客户类型,包括PDA、手机等新型访问渠道。
更易维护:服务提供者和服务使用者的松散耦合关系及对开放标准的采用确保了该特性的实现。
五、总结
基于SOA的分布式应用集成框架建立在的电子系统平台,可维护性和可扩展性都比较出色。无论编程或者网络结构的角度,集成应用系统的建立都相对容易,节约大量的成本。并且,由于有UDDI注册中心的存在,使得所有的服务都是动态的,为实现动态的服务进一步实现虚拟办公打下了良好的基础。
参考文献:
[1]Roger Nagal,Ride Dove.21 Century Manufacturing Enterprise strategy:An Industry-Led View Infrastructure[M].Iacoaa Institute Lehigh University,1991.
[2]周坷,基于SOA软件架构的企业应用[J].微机发展,2005,15(11):52-53.
[3]李华,BPEL和BPELJ常见问题解答[EB/OL].
作者简介:
万哲君(1986-),男,汉族,江西省南昌市人,硕士研究生,主要研究方向:软件架构。