霍凤财 孙宝翔 任伟建 冯 洋
(1.东北石油大学电气信息工程学院,黑龙江 大庆 163318;
2.大庆油田装备制造集团检测中心,黑龙江 大庆 163000)
企业服务总线(Enterprise Service Bus,ESB)是将XML、Web服务技术与传统中间件相结合而形成的一种技术。由于ESB可以提供网络中最基本的连接枢纽,因此是企业神经系统中必不可少的一部分。ESB技术的形成使传统的软件结构得到了改变,同时提供了一个相较于传统中间件更为经济的解决方案。不同应用之间的技术差异可以通过ESB技术在某种程度上得到消除,以协调不同应用服务器之间的相互运作,从而完成不同服务之间的通信与整合[1]。
目前油田生产经营管理使用的应用系统主要分为统建系统和自建系统两大类,统建系统主要以线的形式开发,服务于某专业;自建系统主要以点的形式开发,服务于某单位或部门。上述系统依据不同的业务逻辑和业务范围开发完成,主要用来满足油田管理部单项业务的需求,但并没有实现数据之间的钻取关联,难以为管理者提供实时、完整、准确的决策支持。因此将现有数据充分利用,开发一种为企业决策者提供数据分析依据的一体化集成平台十分必要。
在此,笔者运用C#语言、Oracle数据库和ESB技术,在面向服务的体系结构(Service-Oriented Architecture,SOA)技术研究的基础上,通过中间件和ESB技术抽取油田管理业务功能,构造面向服务的集成系统,为油田管理部提供一体化和个性化的决策支持环境。
基于ESB的一体化集成系统主要由异构系统通信模块、ESB传输模块和单点登录(Single Sign On,SSO)技术模块3部分组成:
a. 异构系统通信模块是通过数据驱动及内容聚合等手段,对多信息源、多平台和多系统进行必要的处理和协调,保证了数据处理系统中各单元与汇集中心间的连通性与及时性,为操作系统、业务系统和管理系统的应用与数据共享提供依据,从而使不同系统数据的相互衔接得以实现。
b. ESB传输模块使数据在数据总线中通过异步或同步的方式进行信息交换,减小数据重新加载的时间,数据访问效率得以优化,从而将原来的单一数据应用到以多数据应用为目的的数据信息高度融合之中。
c. 一体化集成门户平台是运用SSO技术实现的一体化应用系统操作模式,其构建了基于JSR168规范的具有统一访问入口的门户平台。
在分布式的网络环境下,异构信息系统建立在信息与通信两个模型基础之上,因此体现出了它的互操作性[2]。其中,由模型结构和模型语义约定两个部分构成的信息模型,主要用来解决数据之间的相互理解问题。在开发过程中,要基于行业本身的业务特点,根据各行业的具体实际情况来制定相应的规范标准,此后才能形成相关的信息模型,数据的互通需要有合适的通信模型来实现,而建立在XML技术基础上的Web服务技术是建立异构系统通信模型的有效手段,其代表着未来的发展方向[3]。
对于石油企业而言,随着各自数据中心的建立,数据的互操作问题存在于不同单位的信息系统之间、同一单位内部不同信息系统等多个层面之间,以某油田采油厂为例,其通信模型的总体架构如图1所示。
图1 某油田采油厂异构系统通信模型的总体架构
异构信息系统的互操作结构,其数据交换主要包括获取数据和更新数据这两类处理方式,在这两种数据交换的基础之上,请求应答和发布预约两种数据交换机制可以被构建出来。在通信模型的实现过程中,其包含的客户端会自动解析获得的WSDL文档,随后获得服务提供方提供的相关服务信息,自发形成多个代理客户端,使用户可以利用代理客户端完成通信工作,通信模型实现模式如图2所示。
以某油田采油厂的异构系统通信模型为例,先将A2数据库、A5数据库和其他业务数据库的数据信息传递至数据中心,然后利用采油厂关于信息化的标准,作为处理互操作问题的信息模型,并在利用基于Web的服务技术之后,形成适合采油厂各信息系统数据之间交互的通信机制,形成采油厂异构系统通信模型。当某一信息系统需要利用本属于其他系统的数据时,通过访问异构系统通信模型,该模型就会将其他数据进行数据转换以交换给请求方,这样数据就可以在不同单位的信息系统之间、同一单位内部的不同信息系统等多个层面之间进行互相利用和操作。本异构系统通信模型并不是采用对接复杂系统进行设计的,所以能够符合信息与通信模型之间的松散耦合要求。
图2 通信模型实现模式
SOA的核心架构是ESB[4]。从功能上看,ESB能够对内容进行路由和过滤,能够传输复杂数据,并拥有基于事件驱动和文档导向的处理机制和分布式的运行管理模式,还可以提供一系列的标准接口。SOA通过定义好的接口,可以联系应用程序的不同功能模块,只要把旧的应用程序利用标准接口进行改造,SOA就可以重复利用软件以融合各种资源,因此其他应用系统就能够便捷的使用这些功能[5]。
以某油田采油厂为例,通过对油田管理系统数据交换的现状进行深入研究,提出一个采用面向服务方式并使用ESB作为中间架构的数据交换架构。由于Web Service可以同时被数据交换和终端用户访问,根据这个特点,提出统一服务模式这个概念。所谓统一服务模式,就是采用Web Service方式,为用户访问和数据交换平台提供一个统一接口,从而实现对Web Service的重用。某油田采油厂ESB架构如图3所示。
对于采油厂油田管理部在用的12个信息系统,每个信息系统的数据来源都较为分散,有时为了完成一项功能的查询,需要单独访问A2及A5等多个数据库。如果通过调用系统内部API函数、重用组件及Services等技术,以标准的通信、转换和互连格式为基础,开发出某采油厂的数据服务总线即ESB服务技术,这样在用户有不同的管理需求时,ESB数据总线就可以通过异步或同步的方式使数据在信息系统之间进行交换,减少数据重新加载的时间,提高数据访问的效率,从而实现单一数据应用到以多数据应用为目的的数据信息高度融合。
图3 某油田采油厂ESB架构
SSO是比较常用的用于整合企业业务的解决方案,其定义是在登录不同应用系统时,只要这些系统之间是互相信任的,那么用户只要登录一次,便可登陆所有系统。企业应用集成中身份认证的整合就是SSO。
SSO技术的实现原理(图4):当使用者首次登录应用系统1时,由于之前未曾登录,所以会被送到认证中心进行认证;认证中心检验用户提交的登录信息,如果校验成功,则发送给用户一个认证凭证Token,当使用者访问其他应用系统时,则把刚刚得到的Token作为自己的登录凭证,应用系统会将这个Token凭证送到认证系统进行校验,如果校验成功,则用户就可以在不重新登录的情况下访问其他应用系统。
图4 SSO技术的实现原理
以某油田采油厂为例,根据各种业务信息水平的需要,逐步建设了油田管理部的各个业务网站,由于各个信息系统功能设计、开发方法的不同,形成了它们自己的用户体系,出于工作需要,会不断增加新的业务网站,这样在登录不同应用系统时,需要使用不同的用户名和密码信息,但多套用户信息非常容易记混,登录错误就会耽误工作,降低工作效率。随着不断的发展,一定还会增加新的应用系统,所以引入单一用户登录的解决方案,并使用Cookie实现了SSO,使用Cookie实现SSO的原理如图5所示。
图5 Cookie实现SSO的原理
笔者立足某油田原信息系统的部分工作流程和管理习惯,通过ESB和分布式计算模型技术,为不同数据体或数据集之间建立关联关系,并通过SSO技术融合不同来源或不同业务系统间的数据信息,构建一个可根据不同需求用户来展示相关数据信息的平台,最终实现了油田生产经营管理过程中的单项业务和综合业务管理之间的资源共享和业务整合,同时,不同层面的油田管理业务需求得到了较好满足。该系统既能满足油田开发技术人员的单项专业需求,又能为各级决策者提供综合性的数据分析成果作为决策参考。
[1] 王恒,辛耀中,尚学伟,等.智能电网调度控制系统数据总线技术[J].电力系统自动化,2015,39(1):9~13.
[2] 徐田华,杨连报,胡红利,等.高速铁路信号系统异构数据融合和智能维护决策[J].西安交通大学学报,2015,49(1):72~78.
[3] 孙友仓.基于Web服务的异构信息系统通信模型研究[J].中国科技信息,2007,(14):107~109.
[4] 吴高峰,丁君辉,徐远兵.基于内容的ESB消息路由机制[J].计算机系统应用,2015,24(1):139~142.
[5] 邹伟平.基于ESB的高校数据交换平台的设计与实现[D].南昌:南昌大学,2012.