技术开发 频道

与中石油分享SOA成功实践

描述

    根据生产运行管理系统建设总体规划、建设目标和主要功能,系统选用SOA技术架构作为系统实现的模式。参考架构如图所示。


图6

  
    该平台功能展现层、流程支持层、服务总线层、数据访问/系统连接层、数据模型及数据存储层以及报表系统构成。
    系统平台内部各个层次有一定联系,但相互之间也需要保持高度的松散耦合关系。不同层次可以独立进行建设和更新,层次之间可以支持跨层的调用方式。任一层次的更新修改都需要尽量降低对系统内其他层次的影响,同时所做的更新建设工作必须要能够快速进行重用,以支持其他不同层次对它的使用。
    下面对各个层次逐一进行简单介绍。
  
1. 功能展现层
    功能展现层用于统一用户访问入口,并集成化整合展示生产运行系统的各种信息和交互功能。功能展现层需要实现包括任务管理以及各岗位所需功能的展示和灵活定制,能够适应岗位或组织结构变化。此外需要考虑日后和企业门户系统的集成。
    主要功能:
    界面框架
    界面框架用于展示生产运行系统的各种信息。各类信息分组形成不同的内容组合,以一些独立的小窗口排列在门户页面上,方便用户对内容和应用的访问。门户界面表达元素应当有多种内容构成(如图形、表格、主动的内容推送等),用于定义用户访问门户时的直观体验。此外需遵循统一的页面风格、颜色、字体等视觉效果设计规划。
    多渠道接入服务
    多渠道服务可以在Web上、通过电子邮件或通过无线设备提供特定格式内容,使之通过选定的渠道到达客户端。利用信息/功能展现平台提供的内容管理和格式转换功能,将特定信息加以转换,使之能够适应客户端设备。
    离线访问和处理
    移动设备以及不具备通讯连接的作业现场,用户并不能保证总可以连接到网络中进行联机的处理。这样,在本系统必须考虑离线访问和离线的表单提交。
    信息推送,并进行方便的处理
    移动设备“移动”的特点,使传统的“拉”方式,即由使用者频繁的连接服务器,并检查有无需要办理的事务的方式不能完全满足用户的需求。本系统除了实现传统的“拉”的方式以外,必须实现“推送”功能,即待办事务产生后,系统应能够通过消息方式(如及时消息)通知用户。
    提供基础平台的生命周期管理
    对展现平台的生命周期管理主要目的在于通过缩短构建、部署和管理门户的时间,来加速本项目的实施速度。它应当基于J2EE技术之上,提供扩展的开发框架,使之能够支持服务开放标准的各类组件,并使本项目能够按时完成开发。同时,在系统平台层面提供更高的可用性和安全性。
    集成化设计开发环境
    集成化设计环境为构建本系统提供一种可共享的编程模型。利用这个设计环境,开发人员可以使用相同的、简化的方法来构建Web服务、业务流程和集成项目,并将其部署在J2EE标准的应用服务器之上。
  
2. 流程支持层
    流程支持层用于集中开发制定基于业务流程管理(BPM)的流程应用。将中石油工程技术当前以及未来开发的各种IT应用资源在该层次上进行流程化组织和编排,可以支持生产及管理相关流程、复杂应用逻辑的部署和管理。利用J2EE所提供的底层基础设施服务,保障应用系统的高可用性。
    主要功能:
    BPM用来提供应对业务变化的能力。借助BPM,用户可以自动编排构成业务流程的各步骤顺序,从而提高业务运作效率。
    通过成熟完善的流程建模工具,建立跨越多个内部系统、外部资源以及人工工作流的业务流程模型,并执行这些业务流程,使得系统具有直观清晰的用户界面,用于创建、测试、诊断和部署特定的业务流程。
    通过动态集成服务,充分利用J2EE提供的稳定高效平台,用于支持消息、Web服务、集群、安全等多种支撑功能。
  
3. 服务总线层
    服务总线层是生产运行管理系统实现SOA架构的核心中枢系统。利用该层次,生产运行管理系统可以将目前已有的各种异构IT资源以标准化的服务形式统一注册管理在服务总线层。基于服务的元数据管理(Metadata),对服务进行定位、合法性校验、服务版本控制和注册管理等多种服务。
    安全服务和服务管理功能将在系统内建立多种安全策略,实现信息安全的控制和管理内容,以保障服务的访问安全以及服务运行质量。
    主要功能:
    服务注册
    服务注册用于实现分布式访问和浏览的集中式服务注册中心,存储了完整的服务、模式、变换、服务接口和Web Service策略信息。
    服务管理
    管理能力对于服务总线而言是至关重要的,不仅能满足服务集成需求,还需要在公共层提供智能化的可管理基础架构。
    通过在运行时汇总关键的统计信息并在管理员定制的范围内实现实时管理信息的可视化,服务总线能够支持系统运行状况的全面监控。
    除此之外,还要提供错误报警功能,用于监控系统性能和触发报警。报警可以通过灵活的机制自动启动必要的响应,这些机制包括电子邮件通知、触发的业务过程或管理控制台报警等多种方式。
  
4. 数据访问/系统连接
    数据访问层将针对目前中石油生产运行系统数据形式多样、内容格式不同、物理存储位置分散等特点,通过统一的方式实现数据的存取。对于外部系统提供的数据使用标准的系统连接方式加以实现。
    为了支持多种系统连接能力,需要支持多种传输协议,用于保障生产运行管理系统与外部系统或者内部各层次的连接,确保未来系统的扩展不受技术和底层通讯协议的限制。
  
5. 数据存储/数据模型
    针对油气田工程技术服务的特点,结合国内、国际行业相关规范建立适合中国石油的数据模型,并在此基础上完成数据库表的设计部署。
    数据存储能够支持大数据量的处理和存储、与外部系统的批量数据交换(导入/导出)、合理的数据备份方案、数据存储访问的优化,提供数据维护策略。

6. 报表系统
    提供报表处理功能,以满足系统对各类报表的需求,如报表模版定制、报表自动生成、生成多种形式的输出格式(如PDF/EXCEL)、图表显示等。由于本系统包含报表种类繁多,且随着业务的发展会逐渐产生新的报表需求,要求本系统提供报表定制工具能够满足用户自行定制的需求。

应用架构

    从系统应用架构角度来看,生产运行管理系统分为:用户界面层、应用层、数据层和系统接口,如下图所示。


图7

  
    用户界面层分为内部用户和外部用户。在内部用户层面分成集团公司用户、地区公司用户、专业分公司用户、作业队四个层次的用户;外部用户包括甲方/油公司和非本地区公司作业队。用户可以通过灵活的方式接入系统进行生产管理和监控。

经验总结

  •  本项目是一个典型的应用开发项目。通过在一个地区的试点建设,然后在多个区域进行推广。而不同地区之间具有一定的差异性,需要通过SOA的灵活性,达到对多变化的支持。并可进一步实现功能快速定制和部署。
  • 本系统在需求、设计阶段通过对上述方法的采用,系统地分析了业务功能,为基础功能及基础数据的标准化做好了准备。
  • 开发阶段可以实现人机交互与业务逻辑的并行开发,通过以上讲述的方法,在保证质量的前提下可以有效提高系统开发的速度。
  • 为与其他系统地集成打下了良好的基础。本系统建设了通用的工作流平台和ESB。
  • 完成了中石油自主知识产权的先进平台建设。本方案基于J2EE平台建设完成了人机交互和核心服务系统,可广泛用于其它项目的建设。

 

0
相关文章