摘 要 为了解决目前广泛应用的商务应用体系架构的不足和异构系统通信的问题,本文通过SOA提供的标准化架构,在应用系统间建立起了一个松散耦合“服务器+代理”的数据交换平台,实现了异构数据的交换与数据共享,并开发了基于Web服务的商务平台,充分利用了Web服务的特性,使得系统具有良好的可扩展性和可维护性,解决了异构系统通信的问题并弥补了目前广泛应用的商务应用体系架构的不足。
1 引言
2 基于Web服务的SOA模型
3 基于SOA的DEP体系架构
4 异构通信平台设计
4.1 系统架构
系统平台运行于分布于全国各地的多台服务器上,从结构和功能上大致分为:旅游门户网站、Web Service应用服务、系统数据服务、UDDI、旅行社数据服务、酒店数据服务、车站航运数据服务、网银结算服务,每类服务均由不同地区不同平台类型的服务器组成。
系统的主体部分以及重心在旅游门户和Web Service应用服务,旅游门户针对用户的请求作出相应,而数据服务则全部来自Web Service应用服务。与旅游网合作的旅行社、酒店和交通运输单位使用Web Service发布的接口与之通信,按就近原则将业务数据传输到旅游网的数据服务器集群中,牵涉到结算的数据由旅游网的结算网关统一结算,临时数据则存储在本地。这种系统结构是一种分布式的计算结构,也是一种典型的多层架构:用户接口层是旅游网门户,主要进行绘制界面和与最终用户交互,在应用程序中是一些 aspx的页面和页面相关代码;业务逻辑层封装商业逻辑和规则并且调用各个服务器的Web Service提供的服务,负责提供对用户请求的响应和与合作单位通信,为合作单位提供数据的统一接入方式,在异构的系统之间提供服务支持,在应用程序里面被封装为。NET组件;Web服务代理层调用各个Web服务生产代理类,生成代理对象;数据访问层主要完成底层与数据库的交互工作,项目中所有Web应用底层的数据操作都采用了同一套业务代码以达到重用的目的;物理数据层由数据库服务集群和分散在各地的合作单位数据库组成,使用抽象数据接口进行访问,很好地利用了各类数据资源。UDDI服务用于系统所有 Web服务的发布和发现,以便于系统中各个合作伙伴之间实现更好地合作。
4.2 系统门户
系统门户是整个系统的核心部分,系统中各部门发布的Web Service接口在这里得到了集成,然后展现在用户的眼前。旅游门户设计模式采用典型的3层模式设计,即表现层、业务逻辑层、数据访问层(本地数据访问为数据接口层,远程数据调用为SOAP接口层)。
(1)表现层。表现层是用户直接看到的Web页界面,也是用户直接与整个系统打交道的地方。系统中所有页面基本都采用Microsoft新一代 Web Forms技术构建,这种技术与传统的ASP、JSP技术不同,它的好处是可以很方便地将前台用户看到的页面与后台实现代码相分离,这就非常容易将表现层和业务逻辑层相分离。
(2)业务逻辑层。中间业务逻辑层封装的是业务逻辑和规则。系统功能的逻辑顺序和访问方式在此进行了非常详细的定义。通过调用数据访问层逻辑或 SOAP接口层定义的对象类型生产函数实体进行功能引用。
(3)数据访问层。为了避免烦琐的建立数据库连接、关闭数据库连接等操作,也为了最大限度地实现代码重用,在MS.NET环境下编写了此层逻辑代码,系统中其它企业部门本地底层数据操作均使用此数据层代码。
(4)SOAP接口层。对 Web Service服务器开放Web服务访问,通过基于XML的对象简单协议SOAP(simple objectac- cessprotoco1)协议,在Web上交换结构化的信息和类型信息。 另外,在客户端服务器上生成本地Web Service代理类,通过定义对象的方式使用 Web服务器的功能。
4.3 支持信息服务和客户端
包括旅行社、酒店、车站航运的Web Service服务,主要作为信息的提供方而存在,这几部分的Web Service的设计思想基本一致。以车站为例,Web Service服务器提供列车时刻的查询服务接口,同时提供预订服务接口,接受来自门户的订单,同时将订票结果返回给Web Service的调用者,这实际上与门户形成了一种B2B的动态电子商务模式 。
门户提供了旅行社加盟合作的Web Service接口,加盟后的旅行社可以提交自己公司的旅游线路等信息,同时为了方便旅游公司制定自己的旅游线路,客户端调用信息服务中心的Web Service查询接口,可以直接查询天气、住宿、交通等信息。
4.4 系统特点
本系统体现出大型、超大型商务 Web Service应用程序的许多新特点:
(1)简单性。在概念上它是简单的,程序的部署和运行方面它也是简单的。虽然表面上看起来要完成本系统的部署过程比较复杂,这主要是因为系统中涉及企业部门比较多,实际应用中单个企业部门服务器的部署还是比较简单的。由于系统是用 HTTP协议进行连接,所以XML消息可以自由通过防火墙,不需要重新配置防火墙。
(2)完好的封装性。从外部使用者的角度而言,Web服务是一种部署在Web上的组件,具备对象的良好封装性,对使用者而言,他能且仅能看到系统中各企业部门Web Service对象提供的功能列表。
(3)松散耦合。只要本系统中所暴露的所有的Web服务的调用界面不变,而当其实现发生变更的时候,调用者是不会感到有什么变化的,Web服务的实现的任何变更对他们来说都是透明的。
(4)跨平台、跨语言集成能力。由于 Web Service是建立在一些开放的协议(HTTP、SOAP、WSDL、UDDI、WSFL)基础之上的,能够做到跨系统、跨平台之间的应用系统的集成。
(5)易扩展性。这种模式是动态的、应用程序之间的集成,它具有即时装配能力,因此具有良好的可扩展性。本系统中的 UDDI注册中心为系统提供了良好的可扩展性。
5 结束语
实践表明,利用JMS、Web Services、ESB、XML等SOA核心技术实现的DEP具有简单、灵活、开放和可扩展等优点,能够有效地实现异构数据的交换与数据共享。目前实现的DEP主要针对后台使用关系型数据库的应用系统,对非关系型数据库的系统如基于Lotus开发的办公自动化系统,系统无法直接进行数据交换,需通过一个 Web Services架构来实现。