求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Modeler   Code  
会员   
 
  
 
 
     
   
分享到
SOA如何实现数据共享与交换
 

作者:佚名 ,发布于2012-8-28,来源:比特网

 

引言

近几年,国家信息化建设不断发展和完善,在这个过程中,企业提高了工作效率,降低了处理事务的经济成本。但是,企业内部的计算机应用系统通常是根据各个部门的情况和需求独立建设的,所采用的软件技术、数据格式等存在较大差异,缺乏统一的规划和标准,各系统之间的信息共享和交互较为困难。由于领域决策信息服务平台、决策门户和外网门户等需要依据某些部门的基础数据库数据和决策数据来实现最优化决策?,因此,需要通过数据交换与共享平台对各部门计算机应用系统进行统一规划,利用底层整合的信息资源,为门户、应用和信息资源整合提供数据交换、资源管理等基本服务接口,以实现各部门决策数据在应用层面的互联互通和信息共享。

目前,各个部门的数据交互主要通过对数据的直接访问和存储,或者调用其他部门的业务切人点来实现,这样的模式给各部门带来了处理事件效率低、过程复杂、安全性差等问题。具体表现在以下几个方面:1)数据共享与交换的操作比较复杂,数据信息操作不够方便、灵活。2)不同部门的数据存储系统各不相同,无法实现统一的访问服务接口,数据还不能实现实时协同。3)由于部门的级别不同,应用范围比较大,数据信息的安全没有保证。

针对数据信息操作的灵活性问题,有学者提出了根据不同需求,采用有针对性的开发格式从而减少操作的复杂性的设想,取得了一定效果。针对数据系统异构问题,有人提出采用Web Service和企业服务总线ESB来解决各个数据系统的实时协同问题,现在已经得到了应用。

针对安全问题,许多研究者提出在数据源上加一个网络服务界面,以提高安全性,但需要对那些数据源进行多种验证和身份控制,从而提高需要进行供给和管理的数据用户的数量。而采用面向服务的体系架构,企业能够便捷地构建开放的、模块化的、可重用的软件组件。这种模式尤其适合面向广域网环境的大规模应用。比如中远集装箱运输有限公司,在2005年将21大类电子数据交换应用系统(EDI)成功整合到一个平台,实现了第一期目标,即基于面向服务的体系架构的国内业务流程整合。但是,目前还没有一种可行的设计方案,使普通部门快速实现透明数据资源的共享与交换。

鉴于此,本文拟提出一种基于面向服务的体系结构(SOA)的数据共享与交换系统的设计架构,以提高系统的灵活性,从而解决跨部门的应用集成问题和数据共享问题。

1 数据共享与交换技术结构

1.1 SOA简介

目前的软件开发主要有面向对象和面向构件2种方法,面向对象方法只能支持同种语言,而面向构件方法虽然能做到构件级共享,但还是局限于特定平台。SOA是近年来软件项目开发和信息系统构建方法的一个国际性技术趋势,代表一个开放的、可扩展的、安全的和可组合的软件架构,常用于大型软件项目的开发。许多公司已经将SOA的架构思想应用到商业当中,并取得了很好的效果。

SOA是一种松散耦合的应用程序体系结构,在这种应用体系结构中,所有的业务功能被定义为独立的服务(Service),即在业务层和表现层之间增加了一个服务层,可以独立完成特定的服务功能,使业务层和表现层相互独立,从而适应应用程序需求的变化。SOA是实现数据共享与交换系统的最佳途径,它可以将原来各自为政的IT系统有机地整合起来,实现信息、IT资产的共享和重用。

1.2 SOA的关键技术

本文设计的数据共享与交换系统是基于SOA架构的,SOA的关键技术有Web Service,ESB和XML.Web Service是SOA架构中的基本组成单元,在此基础上应用Hibernate,Spring和Struts2框架技术进行业务逻辑开发。web Service是基于网络的、分布式的模块化组件,它执行Web的标准技术规范,可以在网络上通过消息传递机制动态地被发现、组织和重用,对外封装成由WSDL描述的服务。只要得到Web Service的WSDL文件就可以对它进行调用,不用考虑其运行的平台和实现技术。本文的Web Service采用Xfire技术,它搭建了POJO和SOA之间的桥梁,主要特性就是支持将POJO通过非常简单的方式发布成Web服务,这种处理方式不仅充分发挥了POJO的作用,简化了把Java应用转化为Web服务的过程,而且将繁琐的继承关系和许多其他可能的约束丢在一边。

ESB是一个实现了通信、互连、转换、可移植性和安全性标准接口的企业基础软件平台。ESB的主要功能有通信和消息处理、服务交互和安全性控制、服务质量和服务级别管理、建模和管理等。

XML(可扩展标记语言)允许用户自定义标记和属性,并可依照所定义的标记与属性的语法来开发应用程序,具有良好的可扩展性,而且可以解决部门系统内部和部门系统之间数据格式的差异性问题。

2 数据共享与交换平台的设计

2.1数据共享与交换系统的架构

数据共享与交换系统主要由中心服务器、适配器组件、数据整合、数据交换和资源目录等组成,在物理上则由一系列分布在不同地点的、遵循相同技术架构的节点服务器组成。部门节点之问通过数据共享与交换进行授权,采用基于XML格式的端对端(P2P)对等的方式直接交换,支持各种格式数据之间的转换。此外,该系统提供集成一体化的远程统一部署、监控、跟踪、日志和测试功能,适应平台集中部署和管理的需求。数据共享与交换系统采用Struts2.0,Hibernate,Spring,ExOs,Mule ESB等技术来完成系统开发。图1为数据共享与交换系统架构图。

图1数据共享与交换系统架构

2.2数据共享与交换系统的核心设计

本文的核心思想是数据信息的集成、交换和共享。通过平台的建设,完成包括现有系统和将要建设的系统、各个部门应用系统,以及将来在适当范围内的、其他单位和组织开发或运行系统的集成,在集成的基础上,实现信息的高度共享与交换。首先,根据部门共享与交换数据的共性,以XML格式定义好XSLT映射文件,通过ESB完成消息的发送、接收、处理,数据格式转换,以及路径选择。然后,数据共享与交换应用系统将访问的文件通过WebService接口传入,数据交换服务接口将应用系统中用户提交的XML文件或其他类型文件抽取到系统中,再利用XSD对提取的XML文档进行格式校验,把符合规范的XML文件利用预先定义好的XSLT映射规则自动进行数据转换,从而得到目标XML,并保存到数据共享与交换系统的对应目录中。最后将目标XML加载到部门更新数据库,并把操作日志记录在系统数据库中。

2.2.1 平台的组成部分

系统主要由中心服务器、适配器、节点工作站服务器等组成。中心服务器是数据交换平台的信息控制中枢,主要完成服务组件的组合服务、远程部署、管理配置、监控管理、安全管理等工作。适配器的主要功能是实现与应用的对接,并把抽取和接收的XML消息发送到数据交换平台,从而实现数据路由和数据转换。节点服务器的主要功能是监控信息采集。

2.2.2平台的数据交换方式

数据共享与交换平台为集成服务提供了与异构系统共享数据的能力。系统管理员利用数据交换模块的建模工具为数据文件建模,利用映射定义工具为不同数据格式的文件定义转换形式。目前系统平台主要采用2种交换方式,即数据驱动的同步方式和客户端数据访问方式。

1)数据驱动的同步方式。运行于部门A节点上的数据库接口适配器DBOutAdapter检测出所监控的数据表格发生了数据增量(插入新的数据),增量数据被抽取出来并转化成XML格式文件,经内容路由组件分发到不同部门,由数据转化组件(XSLTTransformer)转化成不同格式的XML文件,并插入位于部门B或c中的异构数据库。发生数据更改或删除时,数据驱动的同步原理同上,如图2所示。

图2数据驱动的同步方式

2)客户端数据访问方式。各部门之间进行数据访问时,发送部门的应用程序通过使用API接口函数将数据打包后发送到数据交换平台,通过平台路由和数据格式转换,为下一个部门提供可以识别和接收的形式,运行于接收部门节点服务器上的接口服务组件(Adapter)从数据库中获得数据并返回。客户端数据访问方式如图3所示。

图3客户端数据访问方式

2.2.3平台与异构系统、应用和数据库的连接

由于各部门信息系统的建设时间和用途不同,其采用的技术也差别很大,老系统一般是C/S架构,新系统可能会采用Java技术或.Net技术,因此各部门的信息系统可能不尽相同。

针对此情况,笔者提出2种方案来进行各部门系统接入的数据共享与交换平台配置:

1)采用C/S结构技术。针对此系统,可以采用数据交换适配器,采用中间件为老系统创建可重用的服务,或者将C/S系统中可向外发布的功能通过适配器实现。为各部门已有系统配置具有数据交换功能的适配器,可以实现与数据中心进行数据交换的功能。

2)采用B/S结构的新技术。近期新构建的系统,大多采用J2EE架构或.NET架构,多为三层或多层体系,可以为SOAP或HTTP技术提供较好的支持。因此,既可以采用数据交换适配器抽取和配置交换数据,也可以直接通过开发接口来实现数据交换平台功能。当前主流的应用服务器都具有部署和运行Web Services的能力,平台通过相关应用提供相关的Web Services,可以很方便地与其他平台和系统交换数据和服务。

3 企业信息共享交换平台的实现

3.1平台总体架构

平台系统由一台中心服务器和多台节点工作站服务器构成。中心服务器部署于企业信息中心,提供包括应用服务组合、组件开发环境、统一部署、监控管理、安全管理等平台公共应用支撑服务。节点工作站服务器分别部署于各部门应用系统节点,构成分布式的服务组件运行环境,并提供事件管理功能(如可靠事件的传输管理机制)等,与各节点应用接口的接口适配器运行于节点工作站上。如图4所示。

3.2平台实现的基本功能

作为集成服务平台的基础服务功能,平台为系统提供了沟通多个异构系统的能力,满足了各种数据信息在各个业务系统中顺畅流动的需求。各种数据信息的存在形式主要分为二进制文件、文本文件和XML格式文件。目前,数据交换平台采用XML作为数据交换的中问格式,同时提供从二进制文本文件到XML文件、从XML文件到XML文件、从XML文件到二进制文本文件的映射转换。系统管理员利用数据交换模块的建模工具为数据文件建模,利用映射定义工具为不同的数据格式文件之间定义转换形式。业务过程管理系统和其他上层应用模块在需要数据格式转换时,也需要数据共享与交换平台的支持。数据共享与交换平台包含3个主要的模块,即转换引擎、数据交换标准定义管理、映射关系管理。

图4数据共享与交换平台技术架构

通过数据交换集成工作平台,管理员可以智能地按照系统提示步骤自动生成数据流程框架,然后根据工作平台提供的各种数据流程设计工具来完成数据交换应用。

标准数据交换平台支持安全机制,而且是可以通过配置进行选择的。如果关闭安全机制,则以普通的方式进行数据传输;如果启用安全机制,所有的数据传输都要经过安全处理,未经安全处理的数据将被拒绝。

通过对数据交换的任务进行管理,可以实现系统的实时监控,具体包括进程管理、流程监控和服务组件监控。

3.3应用系统接入设计

应用系统接入平台主要分为数据接入和服务接入。

3.3.1数据接入方案

1)前置机共享数据库,业务部门负责将业务系统的数据送到前置机的接口数据库中,并对平台开放前置机上的数据库,平台通过配置数据库适配器或文件适配器以及交换数据流程,实现共享业务数据的接入。

2)前置机共享数据文件。前置机上不部署交换节点服务器软件,业务部门负责将业务系统的数据打包成数据文件(如XML文件),送到前置机某一文件目录下,并对平台开放前置机文件目录,平台通过配置FTP文件适配器以及交换数据流程,实现共享业务数据的接入。

3.3.2服务接入方案

1)根据业务需要,开发和封装应用系统的Web服务。

2)通过平台提供的服务注册工具,将服务注册于平台。

3)业务部门通过平台提供的服务授权工具,设定对共享服务的授权。服务接入方案的其他工作有:通过平台提供元数据录入工具,加载对共享交换数据中元数据的描述;平台根据使用共享数据的权限控制策略,设定对共享数据的使用权限。

4 结语

本文通过对SOA架构中关键技术的深入研究,提出并设计了基于SOA的数据共享与交换系统。该系统不是简单地实现不同部门的数据共享与交换,而是根据部门目前信息系统的建设现状,以向企业门户和决策系统提供支持为目的架构的数据共享与交换系统,通过Web Service,ESB和XML等实现各部门决策数据在应用层面的互联互通、信息共享。平台还需要整合各类系统的开发基础构件库,为快速开发决策应用系统提供支撑。

目前本系统的Web框架已经设计完成,主要实现文档和Oracle数据表共享,已经通过测试,下一步工作是实现各种数据库数据之间的相互同步机制。


相关文章

企业架构、TOGAF与ArchiMate概览
架构师之路-如何做好业务建模?
大型网站电商网站架构案例和技术架构的示例
完整的Archimate视点指南(包括示例)
相关文档

数据中台技术架构方法论与实践
适用ArchiMate、EA 和 iSpace进行企业架构建模
Zachman企业架构框架简介
企业架构让SOA落地
相关课程

云平台与微服务架构设计
中台战略、中台建设与数字商业
亿级用户高并发、高可用系统架构
高可用分布式架构设计与实践

 
分享到
 
 
     


基于SOA的工作流(WF)整合
SOA 100问 - 问与答
SOAP 应用模式:处理与性能
ESB架构之企业实施案例
基于SOA架构的企业集成系统
基于SOA的体系架构设计
更多...   


面向应用的架构设计实践
单元测试+重构+设计模式
软件架构师—高级实践
软件架构设计方法、案例与实践
嵌入式软件架构设计—高级实践
SOA体系结构实践


某第三方电子支付企业 SOA架构设计
某电子企业 SOA应用
中国移动 SOA培训
北京大学 SOA架构设计实践
友邦保险 SOA架构设计
上海 SOA架构实践
山东移动通信 SOA体系结构实践
更多...