吐哈油田公司基于SOA应用集成系统

作者:数字石油
字体:
发布时间:2013-10-29 09:28:53
来源:数字石油

 

摘要:阐述了目前流行的SOA技术的概念,从几个不同的方面描述SOA产生的原因并分析了SOA对于企业所能带来的优势。根据现阶段吐哈油田公司的现况,对于SOA在吐哈油田主页的应用进行了技术可行的设计,从构架到系统分析都做了比较详细的阐述,最后对于SOA在目前所遇到的一些困难和SOA的发展做了展望。
关键词:SOA;企业;应用;系统;
一、前言
在二十世纪九十年代的时候,服务的概念就出现了。但是之后一直都处于一个停滞不前以至于没有受到重视。然而到最近几年, SOA 才又重新引起人们的广泛关注。其最主要的原因是现代企业需求的快速变化诱发人们建立动态电子商务、实现实时企业的迫切愿望,而且还在于SOA的实现技术取得了长足的发展。
SOA 从软件体系结构的角度出发改造企业的原有系统或设计新的应用系统,支持了企业未来的应用集成。SOA 将使企业变得更加弹性和灵活,快速响应业务的需求变更。
二、SOA简述
1、SOA定义
SOA是一种架构模型,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。服务层是SOA的基础,可以直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性。
2、SOA的基本特征
1) 可从企业外部访问
2) 随时可用
3) 粗粒度服务接口
4) 分级
5) 松散耦合
6) 可重用的服务及服务接口设计管理
7) 标准化的接口
8) 支持各种消息模式
9) 精确定义的服务接口
3、SOA模型
对于SOA实现来说,以下3个模型是目前最流行的:
1)来自微软的Windows通信基础(Indigo)编程模型,它试图为所有服务元件创建统一的OO模型来简化服务编程。

SO实体
00实体
标注
服务契约
接口
使用[ServiceContract]]标注接口
服务操作
方法
使用[OperationContract]标注接口方法
实现类
使用[ServiceBehavior]标注类,它由服务契约接口派生
实现方法
方法
使用[OperationBehavior]
数据契约
使用[DataContract]标注类,[DataMember]标注成员

2)来自Java Community Process的Java Business Integration(JBI)模型,它通过创建专用(服务)容器形式的抽象层,解决服务编程的复杂度和可变性。

1.jpg

 

Component:组件
determine:确定
provider:服务者
3)来自IBM、BEA、IONA、Oracle、SAP、Siebel、Sybase等的服务组件架构(Service Components Architecture,SCA),它基于的前提是:以结构良好的组件为基础,兼具清晰的接口和明确的组件责任,这样的体系结构有充分的理由被视为SOA。

1.jpg

 

Context:背景
component instance:程序库
for each of type’s component:每一个组件的类型
instance:实例
target:对象
interface:接口
三、基于SOA的吐哈油田动态应用集成
1、SOA与吐哈油田应用集成
随着社会的不断进步,现代企业间的竞争日趋激烈,为适应激烈的竞争,吐哈油田公司进行了机构整合重组,对于目前吐哈油田重组后的竞争力取决于其运营过程的各个环节是否协调和全局优化,只有各个环节的信息能够相最快速的贯穿和共享、应用能够紧密匹配其业业务流程和业务模型,才能迅速实现目前吐哈油田业务重组并响应市场变化。这些就导致油田公司有了实现动态企业应用集成的需求。
目前传统的企业应用集成方法主要有两种,点到点的集成和基于中间件的集成。点到点的方式属于硬编码的方式,在集成应用时工作量较大、开放性不好,且随着待集成的应用的增加,集成的复杂度急剧上升。基于中间件的集成则成本太高、实现过程复杂且无法通用。传统方法的根本问题都是与原有体系结构耦合过于紧密。
SOA 本身就是面向集成的,其松耦合的特点,可以极大的降低集成的复杂度和成本。有了它可以:
· 效率:将业务流程从"烟囱"状的、重复的流程向维护成本较低的高度利用、共享服务应用转变。
· 响应:迅速适应和传送关键业务服务来满足市场需求,为客户、雇员和合作伙伴更高水准的服务。
· 适应性:更高效地转入转出让整个业务变得复杂性和难度更小,达到节约时间和资金的目的。
2、面向服务构架的好处
· 复杂性降低:基于标准的兼容性,与点到点的集成相比降低了复杂性。
· 重用增加:通过重用以前开发和部署的共享服务,实现了更有效的应用程序/项目开发和交付。
· 遗留集成:用作可重用服务的遗留应用程序降低了维护和集成的成本。
3、集成分四步走
首先将遗留应用系统中的组件及模块进行简单打包,封装成服务,通常以Facade (门面模式)的形式暴露给外系统。其次实现一个特定的业务目标,在企业内部实现各个应用系统的集成。第三是协调企业范围内的业务迁移。 第四是按需业务迁移。
目前按需迁移是SOA 的最高形式,SOA 将作为一个战略决策指导现有的业务模型的迁移和布署新的业务模型。
四、基于SOA的吐哈油田公司主页项目的动态集成设计
1、通过结合吐哈油田公司主页项目将介绍如何应用SOA 进行系统架构、实现动态的应用集成。
该项目包括了鄯善-哈密-北京3个区域中心系统。原有系统将进行改造和封装,通过提供基于标准的服务接口或组合服务的Facade ,将原有各机关处室、二级单位中的业务功能暴露出来,提供包括原有子门户功能、一致性认证系统以及其它遗留系统的服务接口,以便在新的主页中对服务进行编排和重组,构建动态的业务流程。系统架构如图所示。本系统采用Web服务来实现SOA 架构中的服务。

1.jpg

 

2、系统分析
该系统的模块主要包括:服务流引擎、动态业务流程建模器、服务匹配Agent(代理) 、服务调度Agent 、数据库、门户服务等。各机关处室、二级单位通过服务的封装和组合,将本地门户业务流程、一致性认证系统和其它遗留系统的功能提供给主门户系统,在经过用户认证后它们可以完成在主门户的各种操作。
当主页定义新业务流程时,将启动动态业务流程建模器来定制整个业务过程。服务匹配Agent 将获取给定的服务描述 ,Agent 将对服务描述信息执行服务匹配算法过滤以得到所需的服务集,然后再考量代价系数和可靠性系数,再次滤出代价系数最小和可靠性系数最大的服务集,最后,根据服务的优先级找到匹配的最佳结果。当被绑定的服务发生了异常等情况时,该Agent 将重新进行服务的查找,并为该流程动态绑定最佳可用服务提供一个最优的可选集。用户启动某个流程时,服务流引擎将读取中心数据库中的流程定义,并根据流程上下文和活动上下文,按照ECA 规则进行流程流转、活动激活、任务的指派和资源的分配等动作。服务流引擎是整个SOA 架构的核心部分,它保证了流程、活动、任务和资源在各个分布的服务间按定制的流程迁移。服务流引擎并不直接与其它的服务通信,通信被转交给服务调度Agent 完成。它一方面获取流程和活动的上下文,并传递给被调用的远端服务,同时它也接受远端服务的返回参数及异常通知。该Agent 维护着一张状态表(State Table) ,它记录了每个服务执行的precondition(前提条件) 和postcondition(后置条件) ,记录了流程执行日志和主要事件的审计,并通过维护一个自有的缓存结构来提供基本的事务回滚机制。此外,该Agent 还进行服务租约期的检查,当服务租约期到期时,它将调度服务匹配Agent ,以重新绑定所需的服务。
吐哈油田公司主页项目的应用实践充分说明了SOA 是一个支持动态企业应用集成的系统结构。服务松耦合设计其实是一把双刃剑,在带来应变敏捷性的同时,也给业务建模和服务划分带来难题。这就是为什么在SOA中,业务建模的争论总是最多。面向服务的体系结构(SOA)设计将跨越计算机系统,并且还可能跨越企业边界。我们不得不考虑在使用 Internet 时安全性功能和需求以及如何链接伙伴的安全域。Internet 协议并不是为可靠性而设计,但是我们需要确保消息被提交并被处理一次。
因此,在将Web 服务应用于SOA 领域的过程中,将仍有许多亟待解决的问题。在目前都还没有很理想的解决方案,故将会是今后较长一段时间内研究的重点。
 
 
 
 
 
参考文献
[1] 岳昆,王晓玲,周傲英. Web 服务支撑技术:研究综述
[2] 范玉顺,李慧芳. 企业集成技术的研究现状与发展趋势
>更多相关文章
网友评论
用户名: 密码:
验证码: 匿名发表
咨讯新闻 | 国内动态 | 高端领域 | 高端访谈 | 图书教材 | 行业研究 | 政策法规 | 政府动态 | 企业图片 | 生产集输 | 会展新闻 | 生产管理 | 产品信息 | 新品上市 | 勘探开发
生产集输 | 储运销售 | 炼化处理 | 系统集成 | 技术创新 | 先进技术 | 先进案例 | 行业协会 | 协会信息 |
关于本站 - 广告服务 - 免责申明 - 招聘信息 - 联系我们
冀ICP备09012143号-2  数字石油 版权所有,未经书面授权禁止使用
Powered by EmpireCMS7.0  © 2002-2013 EmpireSoft Inc.