论文部分内容阅读
[摘要]企业信息化建设过程中,各个应用系统的异构性,旧有的应用系统的整合,使得企业全面的数据交换和共享成为信息化建设中无可回避的重要问题,给出一个基于WEB SERVICE的企业数据交换系统的解决方案,较好地解决这一问题。
[关键词]Web Service 数据交换 数据模式
中图分类号:TP3文献标识码:B 文章编号:1671-7597(2008)0410076-02
在企业信息化建设过程中,随着ERP、CRM、SCM、OA、财务系统以及企业信息门户EIP等信息系统的相继建设完成,信息交换和共享的需求显得越来越重要,但企业信息化中的各个业务系统可能是由不同的软件开发商进行建设的,它们之间应用的平台可能不同、数据库也不一样、开发语言和程序接口更是五花八门,加上企业拥有的一些过去遗留的异构系统,它们数据错综复杂、结构各异,这其中就包括了大量分散、异构的数据库系统。种种问题的存在严重妨碍了企业信息的交换和共享。
因此,能够在Internet环境下进行企业间的松散耦合和应用集成的信息交换技术成为研究热点。Web服务技术为企业解决多平台、多结构数据、跨地域的信息交换问题提供了一条解决途径。基于Web Service的企业数据交换系统是当前解决大型企业集团信息化过程中数据交换与共享的有效途径。通过这一数据交换服务系统,可以把企业内部和外部的各种相关数据资源进行整合,为企业的信息资源规划提供了可能,从而更加有效地搭建起企业的信息化平台,为企业的建设发展提供有力的支持和保障。
一、Web Service和XML介绍
Web Service 是一种提供可缩放的、松散耦合的能够在非特定平台环境下交换信息能力的编程模型,它的主要目标是在现有的各种异构平台的基础上构筑一个通用的与平台无关、语言无关的技术层,实现各种不同平台上的应用的连接和集成。XML、SOAP 和WSDL 是组成Web Service 平台的主要技术[5]。
(一)XML
XML(eXtensible Markup Language , 可扩展标注语言) 开始设计的最初目的是用来弥补HTML 作为在Internet 上描述数据的标准语言的不足,然而出色的优点使得它成为今天Internet 上的信息交换标准。它的主要优点在于: ①自描述性:使得计算机在没有人为干涉的情况下理解它的含义。②可扩展性:用户可以按照需求定义自己的标记,而不像HTML 那样每个标记都是预先定义好的。③可校验性:用户可以通过DTD 或XML Schema 来校验文档格式是否满足要求。④层次结构:能够保证信息的层次性描述。
(二)XSLT
XSLT(可扩展样式语言转换)是一种用来转换XML文档结构的语言,它的主要功能就是转换,将一个XML文档转化为其他的可格式化对象。使用XSLT可以将XML文档转化为另一个逻辑结构的XML文档、HTML文档、XHTML文档等。使用XSLT进行数据格式转换的重要思想是把XML文档视为一种树结构,转换的过程就是从源树生成结果树的过程。在XSLT文档中定义了源树和结果树中对应部分的转换规则,每条规则中包含了一个模板,并对应着一种模式。模板定义了转换的结果,而模式则规定了需要进行转换的元素或属性对象。
(三)SOAP
SOAP(Simple Object Access Protocol , 简单对象访问协议) 为在一个松散的、分布式的环境中使用XML 对等地交换结构化的和类型化的信息提供了一个简单且轻量级的机制。SOAP 使用HTTP承载消息, 而使用XML 格式化消息, 它定义了一种在HTTP客户和服务器之间传递命令和参数的机制,并不关心服务器端或客户端使用的是哪种操作系统、程序语言和对象模型,它所需要的仅仅是使用HTTP作为传输协议,因而它是完全平台无关的,因而也不需要对现有的路由器、防火墙或代理服务器做任何改动。同SOAP相比,其他的分布式应用协议的缺点显而易见:如DCOM只能运行在Windows下,CORBA离不开ORB的支持,而RMI又只能用Java实现等等。
(四)WSDL
Web服务描述语言(Web Service Description Language ,WSDL)是一个XML变体,用来标准化Web Service的定义,它用一种和具体语言无关的抽象方式定义了给定Web服务收发的有关操作和消息。WSDL允许Web Service定义一个服务做什么,使用什么协议,以及在哪一URL处可以找到。
二、基于Web Service数据交换研究
通过以上的介绍,可见基于XML 技术的Web Service 很适合建立这种企业数据交换系统。下面将介绍我们构建的这样一个数据交换系统,它采用Web Service 技术,将系统的数据展示和需求都看作是一种服务,通过服务的请求和调用实现系业务统间的数据交换。有了一个数据交换服务中心后,任何一个需要进行数据交换的业务系统只要在数据交换服务中心进行注册,就可以实现被别的业务系统检索或进行的数据交换。数据交换服务中心充当数据交换中介的角色,任何一个业务系统只需要和数据交换服务中心进行信息交互,而不需要跟目的业务系统直接交互,也不需要知道目的业务系统的数据格式、地理位置,甚至不需要知道目的业务系统是否存在。数据交换服务中心根据业务系统发送来的消息内容自动完成后续任务。这样就屏蔽掉了异构业务系统的差异性,也减轻了业务系统端的复杂性,实现了数据交换的透明性。整个数据交换系统的实现分数据交换服务中心和业务系统数据交换应用端两部分。
(一)系统功能模块结构框图
(二)数据交换中心
数据中心完成数据的存储、格式转换和数据交换,它由一系列中间件、服务、Web Service接口以及数据仓库组成。其核心组件包括数据交换引擎、系统管理、WEB服务管理以及WEBSERVICE接口。
数据交换引擎:实现数据交换的核心功能,提供模式管理,数据变换和交换等服务。
系统管理服务:实现对系统的配置管理和状态监控。通过系统管理服务配置数据中心各部分运行参数,服务的启停控制,监控整个系统的运行状态。
WEB服务管理:提供对WEB服务的注册管理和发布功能。通过WEB服务管理,各数据交换客户端向数据中心注册自己的数据交换WEB服务。数据交换控制服务:根据注册的信息进行WEB服务的路由,主动调用数据交换应用端的数据访问服务来向数据交换应用端传送数据或从数据交换应用端获取数据。
WEBSERVICE接口:向外部应用程序和数据交换应用端节点进行数据交换的相关WEB服务,WEB服务的实现可以是基于HTTJP、邮件SMTP以及JMS等各种协议的,可以是异步的也可以是同步的。
(三)数据交换应用端
代表业务应用系统主动参与数据交换服务。根据信息服务要求,触发业务应用系统的内部处理流程,并反馈相应结果。
数据映射模块:利用XML-RDBMS 中间件来建立XML 数据与关系数据库的双向映射,并在数据中心上注册自己提供的数据模式。
WEB服务接口:提供本地的服务调用方法和访问接口,供数据中心以及本地的应用系统调用,实现与数据中心及本地应用系统的互操作。
数据交换控制模块:作为数据交换的终端节点自动响应数据中心发出Web 服务请求,对服务请求进行解析,实现数据过滤和数据的自动转换。
(四)工作流程
数据交换服务系统一般有两种工作模式:数据拷贝式交换和数据查询式交换。前者在数据产生后即主动由生产者传送到需求者,后者是在需求者需要的时候才由需求者发起的查询请求。
1.数据拷贝式交换流程
(1)应用端节点A通过数据映射模块提取欲交换的数据。(2)应用端节点A调用数据中心WEB服务,将欲共享或交换的数据发往交换中心。(3)数据交换中心根据各业务系统发布的数据交换规范及业务系统应用端A的目的地B的数据模式进行数据转换、扩展等。(4)将转换后数据打包成SOAP包放入消息队列等发送。(5)数据交换中心调用应用端B相应的WEB服务,将数据推送给B。(6)B将接受的数据转换,放入本系统数据库中,完成数据交换。
2.数据查询式交换流程
(1)数据请求者通过交换控制模块向数据交换中心发出数据查询请求。(2)数据交换中心收到查询请求后,根据系统的配置检索到数据的提供者信息并向提供者提出数据查询请求。(3)数据提供者取得对应数据映组成SOAP包调用数据交换中心相应WEB服务将数据传送给交换中心。(4)数据交换中心调用数据请求者相应WEB服务将数据推送给数据请求者。(5)数据请求者通过数据映射模块取得欲查询的数据。
三、结论
采用基于WEB SERVICE技术构建的企业数据交换服务系统是企业信息化建设中实现数据交换与共享的一个好的建设方案。能够有效地屏蔽各异构系统之间的差异,将各个应用系统全面地进行集成,实现高效的数据交换与共享。同时,它也能有效地整合企业旧有的各类业务系统,且业务系统端的开发难度大大降低,确保信息化建设早期的投入得以继续发挥作用,降低了企业信息化建设总成本。基于WEB SERVICE的企业数据交换服务系统有着很大的通用性和技术优势,可以方便地扩展到internet范围中去,将企业集团的各项业务整合起来,以WEB SERVICE的形势对外提供服务和开展业务,将企业集团的发展推向全球。
参考文献:
[1]DCI.DataExchanger数据交换中心,北京慧点科技.2003.2.
[2]企业应用集成套件InfoEAI2.0技术报告,中创科技.2005.6.
[3]谢佳,铁路建设项目管理系统数据交换平台的研究与实现,西南交通大学硕士论文,2006.5.
[4]简霏,基于服务的民航数据交换和共享平台的研究,中国民用航空学院硕士论文.2006.1.
[5]顾宁、刘家茂、柴晓路,Web Services原理与研发实践,机械工业出版社,2006.1.
作者简介:
李红斌,男,湖南长沙人,硕士研究生,研究方向:分布式计算技术;史殿习,男,山东人,硕士生导师,博士,研究方向为中间件、分布式计算。
[关键词]Web Service 数据交换 数据模式
中图分类号:TP3文献标识码:B 文章编号:1671-7597(2008)0410076-02
在企业信息化建设过程中,随着ERP、CRM、SCM、OA、财务系统以及企业信息门户EIP等信息系统的相继建设完成,信息交换和共享的需求显得越来越重要,但企业信息化中的各个业务系统可能是由不同的软件开发商进行建设的,它们之间应用的平台可能不同、数据库也不一样、开发语言和程序接口更是五花八门,加上企业拥有的一些过去遗留的异构系统,它们数据错综复杂、结构各异,这其中就包括了大量分散、异构的数据库系统。种种问题的存在严重妨碍了企业信息的交换和共享。
因此,能够在Internet环境下进行企业间的松散耦合和应用集成的信息交换技术成为研究热点。Web服务技术为企业解决多平台、多结构数据、跨地域的信息交换问题提供了一条解决途径。基于Web Service的企业数据交换系统是当前解决大型企业集团信息化过程中数据交换与共享的有效途径。通过这一数据交换服务系统,可以把企业内部和外部的各种相关数据资源进行整合,为企业的信息资源规划提供了可能,从而更加有效地搭建起企业的信息化平台,为企业的建设发展提供有力的支持和保障。
一、Web Service和XML介绍
Web Service 是一种提供可缩放的、松散耦合的能够在非特定平台环境下交换信息能力的编程模型,它的主要目标是在现有的各种异构平台的基础上构筑一个通用的与平台无关、语言无关的技术层,实现各种不同平台上的应用的连接和集成。XML、SOAP 和WSDL 是组成Web Service 平台的主要技术[5]。
(一)XML
XML(eXtensible Markup Language , 可扩展标注语言) 开始设计的最初目的是用来弥补HTML 作为在Internet 上描述数据的标准语言的不足,然而出色的优点使得它成为今天Internet 上的信息交换标准。它的主要优点在于: ①自描述性:使得计算机在没有人为干涉的情况下理解它的含义。②可扩展性:用户可以按照需求定义自己的标记,而不像HTML 那样每个标记都是预先定义好的。③可校验性:用户可以通过DTD 或XML Schema 来校验文档格式是否满足要求。④层次结构:能够保证信息的层次性描述。
(二)XSLT
XSLT(可扩展样式语言转换)是一种用来转换XML文档结构的语言,它的主要功能就是转换,将一个XML文档转化为其他的可格式化对象。使用XSLT可以将XML文档转化为另一个逻辑结构的XML文档、HTML文档、XHTML文档等。使用XSLT进行数据格式转换的重要思想是把XML文档视为一种树结构,转换的过程就是从源树生成结果树的过程。在XSLT文档中定义了源树和结果树中对应部分的转换规则,每条规则中包含了一个模板,并对应着一种模式。模板定义了转换的结果,而模式则规定了需要进行转换的元素或属性对象。
(三)SOAP
SOAP(Simple Object Access Protocol , 简单对象访问协议) 为在一个松散的、分布式的环境中使用XML 对等地交换结构化的和类型化的信息提供了一个简单且轻量级的机制。SOAP 使用HTTP承载消息, 而使用XML 格式化消息, 它定义了一种在HTTP客户和服务器之间传递命令和参数的机制,并不关心服务器端或客户端使用的是哪种操作系统、程序语言和对象模型,它所需要的仅仅是使用HTTP作为传输协议,因而它是完全平台无关的,因而也不需要对现有的路由器、防火墙或代理服务器做任何改动。同SOAP相比,其他的分布式应用协议的缺点显而易见:如DCOM只能运行在Windows下,CORBA离不开ORB的支持,而RMI又只能用Java实现等等。
(四)WSDL
Web服务描述语言(Web Service Description Language ,WSDL)是一个XML变体,用来标准化Web Service的定义,它用一种和具体语言无关的抽象方式定义了给定Web服务收发的有关操作和消息。WSDL允许Web Service定义一个服务做什么,使用什么协议,以及在哪一URL处可以找到。
二、基于Web Service数据交换研究
通过以上的介绍,可见基于XML 技术的Web Service 很适合建立这种企业数据交换系统。下面将介绍我们构建的这样一个数据交换系统,它采用Web Service 技术,将系统的数据展示和需求都看作是一种服务,通过服务的请求和调用实现系业务统间的数据交换。有了一个数据交换服务中心后,任何一个需要进行数据交换的业务系统只要在数据交换服务中心进行注册,就可以实现被别的业务系统检索或进行的数据交换。数据交换服务中心充当数据交换中介的角色,任何一个业务系统只需要和数据交换服务中心进行信息交互,而不需要跟目的业务系统直接交互,也不需要知道目的业务系统的数据格式、地理位置,甚至不需要知道目的业务系统是否存在。数据交换服务中心根据业务系统发送来的消息内容自动完成后续任务。这样就屏蔽掉了异构业务系统的差异性,也减轻了业务系统端的复杂性,实现了数据交换的透明性。整个数据交换系统的实现分数据交换服务中心和业务系统数据交换应用端两部分。
(一)系统功能模块结构框图
(二)数据交换中心
数据中心完成数据的存储、格式转换和数据交换,它由一系列中间件、服务、Web Service接口以及数据仓库组成。其核心组件包括数据交换引擎、系统管理、WEB服务管理以及WEBSERVICE接口。
数据交换引擎:实现数据交换的核心功能,提供模式管理,数据变换和交换等服务。
系统管理服务:实现对系统的配置管理和状态监控。通过系统管理服务配置数据中心各部分运行参数,服务的启停控制,监控整个系统的运行状态。
WEB服务管理:提供对WEB服务的注册管理和发布功能。通过WEB服务管理,各数据交换客户端向数据中心注册自己的数据交换WEB服务。数据交换控制服务:根据注册的信息进行WEB服务的路由,主动调用数据交换应用端的数据访问服务来向数据交换应用端传送数据或从数据交换应用端获取数据。
WEBSERVICE接口:向外部应用程序和数据交换应用端节点进行数据交换的相关WEB服务,WEB服务的实现可以是基于HTTJP、邮件SMTP以及JMS等各种协议的,可以是异步的也可以是同步的。
(三)数据交换应用端
代表业务应用系统主动参与数据交换服务。根据信息服务要求,触发业务应用系统的内部处理流程,并反馈相应结果。
数据映射模块:利用XML-RDBMS 中间件来建立XML 数据与关系数据库的双向映射,并在数据中心上注册自己提供的数据模式。
WEB服务接口:提供本地的服务调用方法和访问接口,供数据中心以及本地的应用系统调用,实现与数据中心及本地应用系统的互操作。
数据交换控制模块:作为数据交换的终端节点自动响应数据中心发出Web 服务请求,对服务请求进行解析,实现数据过滤和数据的自动转换。
(四)工作流程
数据交换服务系统一般有两种工作模式:数据拷贝式交换和数据查询式交换。前者在数据产生后即主动由生产者传送到需求者,后者是在需求者需要的时候才由需求者发起的查询请求。
1.数据拷贝式交换流程
(1)应用端节点A通过数据映射模块提取欲交换的数据。(2)应用端节点A调用数据中心WEB服务,将欲共享或交换的数据发往交换中心。(3)数据交换中心根据各业务系统发布的数据交换规范及业务系统应用端A的目的地B的数据模式进行数据转换、扩展等。(4)将转换后数据打包成SOAP包放入消息队列等发送。(5)数据交换中心调用应用端B相应的WEB服务,将数据推送给B。(6)B将接受的数据转换,放入本系统数据库中,完成数据交换。
2.数据查询式交换流程
(1)数据请求者通过交换控制模块向数据交换中心发出数据查询请求。(2)数据交换中心收到查询请求后,根据系统的配置检索到数据的提供者信息并向提供者提出数据查询请求。(3)数据提供者取得对应数据映组成SOAP包调用数据交换中心相应WEB服务将数据传送给交换中心。(4)数据交换中心调用数据请求者相应WEB服务将数据推送给数据请求者。(5)数据请求者通过数据映射模块取得欲查询的数据。
三、结论
采用基于WEB SERVICE技术构建的企业数据交换服务系统是企业信息化建设中实现数据交换与共享的一个好的建设方案。能够有效地屏蔽各异构系统之间的差异,将各个应用系统全面地进行集成,实现高效的数据交换与共享。同时,它也能有效地整合企业旧有的各类业务系统,且业务系统端的开发难度大大降低,确保信息化建设早期的投入得以继续发挥作用,降低了企业信息化建设总成本。基于WEB SERVICE的企业数据交换服务系统有着很大的通用性和技术优势,可以方便地扩展到internet范围中去,将企业集团的各项业务整合起来,以WEB SERVICE的形势对外提供服务和开展业务,将企业集团的发展推向全球。
参考文献:
[1]DCI.DataExchanger数据交换中心,北京慧点科技.2003.2.
[2]企业应用集成套件InfoEAI2.0技术报告,中创科技.2005.6.
[3]谢佳,铁路建设项目管理系统数据交换平台的研究与实现,西南交通大学硕士论文,2006.5.
[4]简霏,基于服务的民航数据交换和共享平台的研究,中国民用航空学院硕士论文.2006.1.
[5]顾宁、刘家茂、柴晓路,Web Services原理与研发实践,机械工业出版社,2006.1.
作者简介:
李红斌,男,湖南长沙人,硕士研究生,研究方向:分布式计算技术;史殿习,男,山东人,硕士生导师,博士,研究方向为中间件、分布式计算。