基于SOA的油田应用软件系统集成方法

点击数:161212010-05-14 16:05:23 来源: 北京精英达康科技有限公司

 一、引言

    中国的石油和天然气需求增长持续达到全球最高水平,到2020年,年平均增速将达4.5%。随着国际能源格局的变革、经济全球化的竞争,中国石油化工企业面临着关键业务发展的问题,如提高发现和生产石油的效率,提高燃料零售利润和市场份额,符合健康、安全和环境规范(HSE)的要求等。这些业务需求都对信息化提出了更高要求。目前,油田已存在许多应用软件,它们分别是在不同时期由不同的软件开发商分别开发的。各个系统不仅在开发和使用环境上存在差异而且都具有自己独立的数据库。异构数据库的数据错综复杂,形成了“信息孤岛”,造成数据较高的冗余,而一些生产中实际需要的数据却没有提供,不利于数据的深层挖掘。成为数字油田的建设的障碍,因此有必要对油田应用软件系统的集成进行深入的研究。Web server的主要目标就是在现有的各种平台的基础上构建一个通用的与平台无关、语言无关的技术层,各种不同平台之上的应用依靠这个技术层来实施彼此的连接和集成。传统的web应用技术解决的问题是如何让人来使用web应用所提供的服务,而web server要解决如何让计算机系统来使用web应用所提供的服务。SOA技术是web server的技术发展,是一个特例。

    二、SOA的体系结构及关键技术

    早在1996年,Gartner提出了SOA(Service OrientedArchitecture,面向服务的架构)的思想,由于当时的技术水平和市场环境尚不具备实施条件,SOA并未引起业界的广泛关注。近几年随着XML技术的出现和Web服务的流行,才使SOA得到了充分发展。SOA是利用面向服务的商业建模技术和Web服务技术,将应用程序的不同功能单元以服务之间定义良好的接口和契约联系起来,实现不同系统之间的整合与协同。这样,使SOA使用户可以独立于实现服务的硬件平台、操作系统和编程语言,把各种资源互连起来。

    1.SOA架构的体系结构

    (1)服务提供者(Service provider)

    服务提供者是创建服务的实体,将独立的业务功能单元组织成服务。它把自己的服务和接口契约发布到服务注册中心,用于服务请求者访问。它主要的功能是:定义、设计并实现可提供的服务功能;用WSDL(WebServiceDefinitionLanguage)描述这些服务,并用UDDI在服务注册中心发布相应的WSDL文档。

    (2)注册中心(UDDI)

    服务注册中心处于中心位置,它接收并存储服务契约的实体,供服务请求者查询请求的服务。服务提供者将服务的信息发布到这里,服务的注册信息包括与该服务交互必要的所有内容,如网络位置、传输协议以及消息格式等。其主要功能是:增加、删除或修改已发布服务提供的服务数据,按用户的请求从注册表中查询服务数据。

    (3)服务请求者(Service consumer)

    服务请求者是需要使用服务的应用程序或其他的服务,它从注册中心中查询需要的服务,并通过传输机制来绑定该服务,然后通过接口契约规定格式的请求来执行服务功能。其主要功能是:通过访问服务注册表项,发现提供所需服务的WSDL文档。

    注册中心的服务信息位于服务的提供者和请求者之间,它将服务提供者所提供的服务按一定的标准组织并分类,并向请求者发布服务接口,请求者使用查询功能发现提供者。服务提供者与服务请求者通过事先定义好的契约进行交互。

 

2.SOA关键技术

    基于Web服务是SOA的最佳实现方案。web服务是由uRL(Uniform resource locator)确定的软件应用,其接口和绑定能够以XML(Extensible Markup Language)的形式定义、描述和发现,并且支持借助Internet协议,如SOAP(Simple ObjectAccess Protoc01)o Web服务采用WSDL(Web ServicesDescription Language)作为其服务接口描述语言、通过UDDI(Universal Description Discovery and Integration)协议规范进行Web服务的网上注册和服务查找定位,并使用SOAP传输协议在网络间进行XML格式的信息交互。

    (1)发布(Publish)

    发布采用基于XML的WSDL语言描述的服务在UDDI注册中心注册。用于描述服务请求者所要求绑定到服务提供者的细节以及服务本身的属性、功能、参数等。WSDL的通用定义允许开发工具创建各种类型的交互的标准接口,同时隐藏它是如何由应用程序代码调用服务的细节。用WSDL描述定义服务的好处在于其文档可以方便快捷的通过SOAP协议传输,并且具有全球统一性,便于服务的重用和集成。

    (2)发现(Find)

    由于服务描述的统一性,服务请求者(Web客户)可以通过Intemet到UDDI注册中心方便的查询所需服务和服务提供者。

    (3)绑定(Bind)

    在检索服务时,一旦服务请求者发现合适的服务,服务请求者将根据服务描述中的信息来绑定服务提供者、调用服务,使服务请求者能够真正使用服务提供者。

    三、基于SOA的油田应用系统集成实现

    1.基于SOA的应用系统集成步骤

    基于SOA架构进行应用系统集成,通常要按照以下几个步骤执行。

    (1)从各个子应用系统中提取供于外部应用的功能模块。通常,这些功能模块是一些能够清晰、完整地表示其业务价值的软件实体。并且,相应地软件实体包含了它所能提供的所有服务。

    (2)将这些功能模块定义为服务组件形式。具体是定义服务的描述信息、服务的接口以及调用服务所需要的定位信息等。将软件实体的概念模型转换成实际的服务模型。

    (3)将已经实现的服务发布到服务注册中心,供其他服务请求者进行查找和绑定。

    (4)绑定和调用服务,将各个应用信息系统集成起来,实现企业应用在功能层面的集成。

    2.油田应用软件系统集成实现

    在各个院(所、厂、子公司)及其相关企业应用系统内部,运用Web service进行封装,通过Web services来包装各个不同的单位已有的应用系统接口,然后在Web services的层次上做出调用,就可以屏蔽下面的具体平台。将某个钻井公司应用软件作为服务提供者,将该公司的信息系统的接口转换成WSDL文件,,以XML数据格式将WSDL文件信息通过HTTP/SOAP协议发布到注册中心UDDI中,此时其他单位作为服务请求者就可以通过该UDDI来查找得到wSDL文件,根据WSDL文件中的信息来发现和绑定该服务提供者。以达到访问该钻井公司后端的应用系统的信息,从而获取所需要的数据和信息。

    油田已存在许多应用子系统,它们分别是在不同时期由不同的软件开发商分别开发的,各个系统不仅在开发环境上存在差异而且都具有自己独立的数据库。为了实现各系统的数据共享,实现各单位的相关业务的共享与交流,采用本文的SOA架构,以Web服务为实现手段,让各个单位以服务提供者的身份向油田UDDI发布服务,分别提供自己的web服务接口,供其他单位以服务请求者的身份调用,达到共享服务的目的。服务请求者只需通用的Web服务接口,无需考虑Web服务的内部实现机制、操作平台以及开发语言等实现细节。由于Web服务的松耦合性,当某个子信息系统需要业务更改时,只要保持其对外提供的服务接口不变,将不会影响其他信息系统。

    web Services的开发工具采用J2EE。J2EE以容器的形式为所有组件提供底层服务,安全、可靠,使应用程序具备跨语言、跨平台的能力。服务调用工具则根据各信息系统的实际情况具体使用。

    四、结束语

    文章提出了一种面向服务架构的利用Web服务技术实现油田应用软件系统集成的方案。基于SOA的集成使用XML6示准屏蔽了底层数据格式差异和平台差异,它松散耦合应用的特性解决了传统的软件开发模式和系统集成方法造成的油田系统信息孤岛和紧密耦合局面,极大地促进了油田应用软件系统应用与管理水平的提升。该设计理念也适用于其他相关行业的系统集成,也是今后应用系统集成发展的方向。

上一页1下一页
【责任编辑:(Top) 返回页面顶端
下一篇 -->

云计算架构模型探讨概述

数字油田:现状与趋势

<--上一篇
昵称: email: 主页: