基于网格技术的企业应用系统集成研究
赵玉国何兴曙
(中国石化胜利油田分公司物探研究院信息技术研究室,山东东营257022)
摘要:针对当前企业的大量异构应用系统不能互联互通、资源不能共享、数据不能联动的现状,利用基于OGSA体系结构的最新网格开发工具GT4构建一个数据网格平台来集成现有应用系统,并详细描述实现的技术路线,给出整个系统的体系结构的描述。对其中的数据一致性维护、服务选择和系统异构性的消除等关键技术提供了解决方法。
关键词:网格;应用集成;关键技术
中图法分类号:TP393文献标识码:A
Research on Enterprise Application Integration Based Grid Technology
ZHAO Yuguo
(Sinopec Shengli Oilfield Company Geophysical Research Institute of Information Technology Research Center,Dongying,Shandong,257022)
Abstract:Aimed at a great lot of heterogeneous application systems,which are disconnected, can not share the resources with each other and in which the data can not be cooperated in existence,we propose to use the newest grid development tool GT4based on OGSA to construct a data grid platform,in which application systems are integrated.The technical approach of implementation and system frame are described.Meanwhile,solutions on key technologies are proposed,involved in maintain of data coincidence,service select and elimination of systems heterogeneousness
Key words:grid;application integration;key technology
0.引言
近年,随着企业信息化技术的不断发展,企业内部构建了各种应用系统如:ERP、CRM、SIM等。如何将各种分散的且隶属于不同部门的计算和数据资源,有机地结合起来,形成一个虚拟组织,为用户提供高性能的计算、存储、传输服务,实现企业内部不同地域和不同部门之间信息系统的无缝集成,已经成为亟待解决的关键问题。
网格作为未来网络技术发展的重要方向,其主要目标是实现不同资源的全面共享,为用户提供一种“即连即用”式的服务[1]。网格计算具有高性能、一体化、知识生产、资源共享等技术优点,其节点异构自治、资源动态演化、任务分布协同,可以消除了网络中的信息孤岛和资源孤岛[2]。
本文从框架设计、实现方案等方面,给出了具体的系统集成技术路线。并对其中的数据一致性维护、服务选择以及系统异构性的消除进行了探讨。在实际应用,实现了利用网格技术构建数据网格平台,集成现有的各种异构数据库应用系统,统一数据格式,以达到数据融合、数据共享、信息联动的目的。
1.相关技术
1.1企业应用集成
企业应用集成(EAI,Enterprise Application Integration)是通过连接企业所有必需的异构功能实体来方便跨越组织界限的信息流、控制流的传递,将企业组成一个协调的整体,以进一步提高生产率。按照企业应用系统集成层次的不同,它包括:数据层的集成、应用接口层集成、用户界面集成、应用系统间集成。
目前采用得较多的集成技术是基于消息的中间件方式,如IBM MQSeries、微软的MSMQ等,该方式通过一个中间件产品实现各种系统间的交互。由于不同的IT厂商所提供的产品的不兼容性,在利用消息中间件进行系统集成时,须定制化开发,系统实现的效率低、开发工作量大、周期长。而网格技术
能很好地处理系统间的不兼容性,为企业应用集成框架的建立提供了一种全新的思路。
1.2网格技术
construct用法
开放网格服务体系结构OGSA(Open Grid ServiceArchitecture)融合了Web服务技术和网格技术,建立在开放网格服务基础设施OGSI(Open Grid Services Infrastructure)之上。为分布式系统提供了新的框架。OGSA实现了服务发现、动态创建、生命周期管理和通知机制,使得各种应用能够进行共享和互操作,恰好满足大型企业系统的广域分布、异构性现状以及共享性要求。
2.基于网格技术的企业应用集成框架设计和实现方案
2.1集成方案
基于网格技术的企业应用集成采用开放网格服务体系结构OGSA作为基本框架。在OGSA中,将一切均抽象为服务,包括计算机、程序、数据、仪器设备等,以便于于通过统一的标准接口来管理和使用网格。Globus Toolkit软件包和Web Service是构建OGSA的两大支撑技术,前者相当于网格操作系统,已成为广泛接受的网格技术求解方案,后者是访问网络应用时普遍采用的标准框架。系统集成方案如图1所示。
图1系统集成方案
利用GT4(Globus Toolkit4,是Globus联盟推出的最新的遵循WSRF(webservice resource framework)规范的网格开发工具)建立网格平台,在该平台上建立网格门户、数据中心服务器、CA(certificate authority)服务器、UDDI(universal description,discovery,and integration)服务器。其中,网格门户是对各应用系统的数据进行融合后,实现数据查询、数据统计、数据挖掘的界面;数据中心服务器将各个应用系统中需要交互的数据提取出来并以统一格式存放在该中心中,作为这些应用系统数据的备份;CA(certificate authority)服务器是发布、签署、验证数字证书的中心,在网格中的任何活动均需要有相应的数字证书以表明合法的身份和相应的权限;UDDI(universal description,discovery,and integration)服务器是服务注册、发布、查询、匹配中心,网格提供的所有服务均需注册。同时,对现有应用系统端和数据中心配置WebService,将各种应用封装为服务[5],利用配置在应用系统端的WebService直接对应用系统的数据库进行操作,这样就达到了在不作任何修改、不影响原系统使用的情况下实现数据共享、信息联动、数据融合的目的。
2.2体系结构设计
客户端用户通过Web浏览器访问网格门户,发现系统中所有资源的信息,包括网格服务、操作状态、技术文档等,拥有系统账户并经授权的用户可以动态地添加、访问、操作自己的文件和数据,提交、监视
和取消与相关应用系统的交互。当用户通过网格门户请求网格服务时,网格接口先将用户的请求转换为XML文件,并传送给任务分析模块,形成任务的宏观工作流程。分析模块针对工作流程中的每个阶段,向网格服务管理和发现层查询本系统中是否有对应的网格服务。如果发现了这些服务,就进行任务优化,生成该任务所需的网格服务列表,然后调用这些服务,并把服务的结果暂存到Cache中,通过网格门户提交给客户端用户;如果没有发现该服务则返回出错信息,用这种方式实现了应用接口的动态集成。网格服务管理和发现采用服务注册技术(如果在网格需要进行特定的计算时,一个接
收服务的节点不能提供该服务,而系统中的其他节点拥有此服务,那么网格服务管理和发现层可通知拥有此服务的节点,将服务注册到这个节点上且激活该服务),按照UDDI标准来完成每个服务器节点的Web Service注册,注册登记自己所能够提供的服务,如果某个服务器节点不含有Web Service配置,那么它也可以通过UDDI的标准API来完成服务的登记与注册,便于与现有系统的集成。根据以上分析集成方案的体系结构设计如表1所示,体系结构分为4层,即服务封装层、服务管理和发现层、服务接口层、应用层。下层为上层提供服务,上层调用下层提供的服务。
服务封装层从应用系统中抽取信息元数据并将其转换为统一的标准格式,然后将数据进行聚合后封装为服务;在服务管理和发现层中将服务封装层提供的服务进行收集、注册并对外发布,同时负责服务的调度的优化组合和服务监控;服务接口层负责对用户任务的翻译和描述以及任务的分析;应用层是用户和集成系统交互的界面。
3.关键技术
3.1数据一致性的维护
数据中心存放各个应用系统需要交互数据的备份,当应用系统的数据发生改变时应及时更新数据中心的数据,但是由于应用系统的逻辑上没有本机数据与数据中心数据一致性维护功能也没有与WebService交互的功能,因此数据的数据一致性维护只能依靠WebService的定时执行来完成。由于一次数据更新可能会形成大量数据在网络中的流动,因此数据更新不宜太频繁,可以根据实际情况设定更新时间,根据的应用系统数据库本身更新频率以及数据中心交互数据的更新频率和服务访问的频繁性加以综合考虑。为了避免数据的整体更新,一般在应用系统数据库中建立数据索引并在数据中心设置数据缓冲池,临时存放更改的数据项。当应用系统与数据中心之间数据维护时,首先由WebService根据数据索引与应用系统数据库的内容确定需要更新的内容,然后将这些数据上传到数据中心更新相应数据,同时刷新数据索引,然后将需要与其它系统联动的数据项写入数据中心的数据缓冲池,等待适当的时机,用这些数据去
替换相关应用系统数据库中的数据项。部署在应用系统端的WebService会定时查看数据中心数据缓冲池,及时用数据中心缓冲池中的数据项更新应用系统数据库的内容,并填写数据更新记录,通知相关人员。
3.2服务的选择排序方法
网格服务选择是网格应用的关键技术。在集成系统中,每一个应用系统都被封装成网格服务并部署在网格中,并以WSDL描述服务。对于用户需要的服务,可能存在多个合适提供服务的网格节点,不同的节点可以为用户提供不同等级的服务质量,因此选择合适的服务是提高网格计算性能重要手段。服务质量描述了服务提供方能够满足服务接收方需求的能力。可以从很多方面来描述服务质量,如可扩展性、并发处理能力、相应时间、吞吐量、可靠性、可用性、准确性、安全性等[6]。这些QoS 属性对于网格服务来说同样重要,它们分别从不同的角度反映了网格服务的性能。在集成中,构建服务选择子模块,在网格节点的选择过程中,服务选择子模块将调用数据集成中的服务质量评估子系统,首先将各节点的各项服务质量量化,统一度量。然后根据用户定义的服务质量权值向量和节
点提供的服务质量属性矩阵,运用综合评判方法,评估每个节点能够提供服务质量综合值,然后对节点排序择优。在多个节点中,选择较高的节点为用户服务,可以确保集成系统能够满足用户质量要求。在排序的过程中涉及到服务质量指标的主、客观分析和定性指标的量化分析。本文采用层次分析法(AHP)
首先确定影响服务质量的主要指标,将这些指标按其关联隶属关系构成递阶层次模型(通常该层次模型包括三个层次:目标层、准则层和方案层),通过对方案层中各方案以两两比较的方式确定诸方案的在定性指标下的相对重要性,将定性评价转化为定量评价。层次分析法的关键是构造判断矩阵以及层次单排序和一致性检验。算法描述如下:
选择排序算法:
1.确定影响服务质量的主要标指标,构建层次模型
2.确定各指标的权值
3.构造判断矩阵,进行量化分析
4.层次单排序和一致性检验
5.根据各节点在不同指标的评价值以及权值得到综合评价,进行排序择优。
3.3系统中异构性的消除
在网格环境中,存在各种不同的应用系统,这些应用系统基于有不同的硬件、操作系统和数据库系统。
同时,不同的数据库又是独立设计的,不同的数据语义之间存在着很大的差异。集成系统能将不同的数据源集成到一个被理解的文档中,主要采用了可扩展标记语言XML来消除来自不同系统的数据源的异构性,利用模式元数据定义模式信息,包括数据库和字段的属性、单位、精度、数据约束等描述信息,对于XML文档可以利用其DTD或XML Schema文档,对于Html文档或其它文本文件没有定义模式信息,设计相应的包装器程序从中抽取结构化的数据增添模式信息;利用定位元数据定义导航信息可以采用文件名,数据库名+导航算法,数据库名+查询谓词,统一资源定位(URL),URL+查询谓词等方式来获取数据源的位置。利用XML文档采用简单对象访问协议SOAP和Web服务描述语言WSDL来消除各组件间的异构性,从而形成统一的数据库系统。
4.结束语
利用上述方法和技术,成功地将某油田企业不同时期开发的、运行在不同环境、使用不同数据库技术的14个应用系统成功地集成在一起,形成一个该单位内部使用的数据网格平台,简化了该单位管理流程,提高了管理效率。
目前,该应用集成只在小规模范围内有效,为了增加系统的稳定性和可靠性,还需要对网络流量控制、服务的相似性理解和组合优化进行更多的研究。另一方面,服务信息现在仅限于Web服务和Grid 服务,对于非结构化的信息服务没有广泛涉及,利用非结构化信息提取技术,可以作为一个新的研究方向。
参考文献
[1]Foster I,Kesselman C,Nick J,et al.The physiology of the grid:An open grid services architecture for distributed systems integration[EB].2004.
/research/papers/ogsa.pdf.
[2]都志辉,陈渝,刘鹏.网格计算[M].北京:清华大学出版社,2002.
[3]Foster I.A globus primer[EB].2005./toolkit/docs/4.0/.
[4]Forster I,KesselmanC,Nick J,et al.Grid services for distributed system integration[J].Computer,2002, 35(6):37-46.
[5]Mark Turner,Fujun Zhu.Ioannis Kotsiopoulos Using Web ServiceTechnologies to create an Information Broker:An Experience Report[C]//26th International Conference on Software Engineering (ICSE2004),Edinburgh,Scotland,UK.2004.
[6]OGSA Distributed Query Processor.[EB/OL].[2005-04]./dqp/.

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。