维普资讯 http://www.cqvip.com _■: j ■■ | ・电力信崖 _ 耸 ‘ 兰 主 量 ● 面向服务的企业应用平台 系统架构设计与实现 陈清萍,何呜(安徽省电力公司科技信息部,安徽合肥230061) 0引言 安徽省电力公司的信息 化建设道路已经走过了近l 0 年的时间,信息化已经渗透 到电力生产、经营、企业管理 的各个方面。全省目前已在 运行的信息系统包括生产技 术、生产运行、电力营销、人 事管理、财务核算、物资管 理、OA等。这些系统的建设 时期不同,开发商各异,采用 的技术路线和标准也千差万 别,导致业务系统之间的整 合相当困难。 2005年初,为构建一体 化的企业级应用系统,确定 了先构建企业应用平台 (EAP),再在应用平台的基 础上搭建业务的系统建设思 ) 一 。 ) 系统层次不清晰,经常发生本 I\ 架构的认识程度有限,构建的 摘 要:企业应用平台为安徽电力企业提供 了灵活、可扩展的基于SOA的技术框架,它 屏蔽了分布式应用系统开发的技术细节,简 化开发复杂度,提高开发效率和质量 企业 应用平台将业务服务的实现和服务接口分 离,并能以多种方式部署系统,满足企业对 应用系统的安全性 可靠性、可扩展性以及 性能上的需求;实现业务组件重用,将业务 逻辑和认证、日志、监控.异常管理等通用 需求分离,并可以灵活地配置;将业务逻辑 该属于服务层的代码分散在 表示层或持久层,造成系统内 各部分的联系过度紧密,当需 要对部分业务逻辑进行更改 时,往往会对其他紧耦合的部 分造成影响,导致系统维护困 难。由于业务组件间互相依 赖,无法复用,造成开发工作 重复,开发效率低下。此外对 于大部分业务系统都需要的 通用需求,如日志、监控、异 常管理等,往往会由于开发人 的实现和调用分离,以便于同一个服务实现 可以通过多种通信传输方式来调用。对安徽 电力企业应用平台系统架构的设计与实现进 行了全面阐述。 关键词:企业应用平台;系统架构;设计 | 员的认识程度和开发水平的 不同,最终的实现效果会有极 大的差异,有些系统甚至完全 不考虑这些非业务功能需求。 通过建设企业应用平台, 路,将分散的业务系统整合 成为业务系统的集成开发,降低了业 企业希望达到的目标是:将业 务服务的实现和服务接口分 系架构设计必须是灵活可扩展的,并 能够规范业务系统的开发。 务系统的集成难度。企业应用平台将 承担几方面的任务:它将作为新建 业务系统的开发平台,为企业应用 离,并能以多种方式部署系统,满足 企业对应用系统的安全性、可靠性、 1设计目标 在系统开发过程中,系统架构 设计是技术要求较高的重要环节。系 统架构从设计上可抽象为表示层、服 务层和持久层。普通开发人员对系统 可扩展性以及性能上的需求;实现 业务组件重用,将业务逻辑和认证、 日志、监控、异常管理等通用需求 分离,并可以灵活地配置;将业务 逻辑的实现和调用分离,以便于同 开发提供良好的技术框架;它将成 为公司大部分业务系统运行的基础 平台;Jt ̄,b它也将成为企业员工的 工作平台。因此企业应用平台的体 78 维普资讯 http://www.cqvip.com 一个服务实现可以通过多种通信传 服务实现必须具有更好的服务质量。 这样的结构也有利于业务系统适应 化了客户端应用程序和 输方式来调用。 务服务组件之间的交互, 应用程序的请求到达业 之前,还有一些更细致的工作需要从 结构上加以解决,比如层间传递消息 的方式、进程间的通信机制,以及如 何满足企业应用的安全性、运行管理 等需求。平台采取以下策略:首先从 业务逻辑的快速变化,真正做到随需 而变。 面向服务的体系结构提供了一 种方法,通过这种方法,可以构建分 布式系统将应用程序功能作为服务 2平台系统架构设计 2.1面向服务的体系结构 面向服务的体系结构(SOA一一 service-oriented architecture)是 一个组件模型,它将应用程序的不同 提供给终端用户应用程序或其他服 务。业务服务应具有下列特征:松散 耦合、位置透明、协议。服务通 功能单元(称为服务)通过这些服务 之间定义良好的接口和契约联系起 来。接口是采用中立的方式进行定义 的,它应该于实现服务的硬件平 台、操作系统和编程语言,这使得构 建在各种这样系统中的服务可以以 一横向切割业务系统,从中抽取出通用 的逻辑,包括认证、日志、性能和异 常的管理等,在客户端应用程序的请 常实现为粗粒度的软件实体,它作为 单个实例存在,并且通过松散耦合的 基于消息通信模型来与应用程序和 其他服务交互。 求到达业务服务组件之前,平台截获 请求,并应用这些通用的组件进行预 处理(见图2)。 宏观地说,平台中间服务层介 种统一和通用的方式进行交互。 基于面向服务的体系结构,服 2.2整体架构分析 企业应用平台的系统架构设计 吸收了SOA思想,是一个松散耦合 的三层分布式体系结构(见图1)。 于客户端应用程序和业务服务组件 之间并将它们隔离开来。在中间服务 层又细分成服务接口层和服务实现 层,其中,服务接口层框定服务边 界,可以拒绝未经授权的或者无效 的来自客户端的请求;服务实现层 负责响应客户端应用程序对业务逻 辑组件的调用。 务使用者可以不必关心与之通信的 特定服务,因为底层基础设施或服务 “总线”将代表使用者做出适当的选 择。基础设施对请求者屏蔽了尽可能 多的技术。特别是来自不同实现技术 (如J2EE或.NET)的技术规范不 应该影响SOA用户。如果已经存在 一客户端应用程序与业务层(服 务层)的交互通过简单的“请求/应 答”机制来完成。抽象出一类组件 BusinessAction,该组件的主要职 责就是包装实际的业务逻辑组件,并 响应来自客户端应用程序的请求。 通过简单的请求/应答方式,简 个服务实现,就应该重新考虑用一 如前所述,平台体系结构的设 计目标之一就是为客户端应用程序 个“更好”的服务实现来代替,新的 。 客户端应用程序 。 i 鞭 | 。时{ 答 中间服务 服务接口 I 服务实现 图1三层分布式体系结构 图2客户端通过平台运行时服务调用业务逻辑组件 79 维普资讯 http://www.cqvip.com ■■- 里酗 ●准 | ・毫力信息 ・ l i : Web Services .Net Remoting l客户端应用程序I lnterface 给客户端应用程序。 I Message Queuing InProe \▲ ● 3结语 企业应用平台作为新建业务系 服务接口层 TT卸sp0ns 一 一-——- - 一 目 统的开发平台,将会规范业务系统的 开发,实现业务服务的复用和互操 + 配置文件 作,并为业务系统的开发提供公共的 网TDmisnpastpc0hnins-g l…・一’_1 MeWebs staSgeevr lQceuse uing IDCnPOrMoc 底层服务支持,包括性能监视、异常 脯 用 ….一一一I_lJ墨 罂暨_- ■ ■I处理节点l - 一 由Busines 配置文件 图3服务层的内部组成 提供多种通信传输方式调用业务组 口层和服务实现层的传输器,其职 件(见图3)。 责是调用服务实现层的管道,它可 这一调用过程可以描述如下: 以根据配置,使用不同的通信方式 (1)客户端应用程序通过Web (Web Service、消息队列、DCOM、 Service、消息队列、NET Remoting 或进程内通信)将请求传递给服务实 或进程问的通信等多种传输通道 现层。 (Transport)发送一个对某个服务的 服务实现层的管道与服务接口 请求; 层的管道具有相同的结构,所加载的 (2)传输通道接收到请求,并将 通用逻辑预处理节点完成诸如记录 其传递到服务接口层的管道 日志、监视性能等功能,而目标处理 (Pipeline)实例; 节点主要负责调用BusinessAction。 (3)管道(Pipeline)是一个可灵 一个BusinessAction对象包含了实 活配置的组件,它根据配置文件来载 际的服务(完成某个业务功能的方 人多个通用逻辑预处理节点 法),它可以是一个内部的业务组件, (Handler),各种预处理节点依次根 也可以是其他业务组件的代理。通常 据上下文对象处理各自的逻辑并向 一个BusinessAction被执行后就产 后传递,最终到达该管道的最后一个 生一个响应对象,然后经过以下过程 节点——目标处理节点(Target)。 返回给客户端应用程序:(1)业务逻 服务接口层主要负责完成服务 辑处理节点调用结束后,产生响应对 的边界功能,比如接收、分发和返回 象;(2)服务实现层的管道接收到响 消息等,该层管道所加载的预处理节 应对象,然后应用余下的处理节点, 点可以是通用的逻辑服务组件,如对 最后返回响应对象到服务接口层的 服务请求者进行合法性认证以及对 管道;(3)服务接口层的管道执行余 接收到的服务请求消息进行验证 下的处理节点,并发送响应对象到传 等;目标处理节点则是连接服务接 输通道;(4)传输通道返回响应对象 80 处理、应用审计、数据访问等服务。应 用平台屏蔽了业务服务部署的物理 位置,在部署时实施人员或管理员可 动态调整服务部署的位置,在业务服 务层增加一种调整负载的手段。为了 满足未来系统的升级需要,系统采用 管道和过滤器的设计模式,可以方便 地替换已有的处理步骤或重组步骤。 企业应用平台的建设于2005年 初开始启动,至2006年6月已初步 建成,其中门户、权限、工作流及技 术平台已通过验收。目前应用平台已 在省公司实施,员工月报、电蓄能技 术管理、法律事务等系统已在应用平 台上开发成功并正常运行,全省统一 开发的人力资源、生产管理、调度管 理等模块均基于应用平台开发。实践 证明应用平台的系统架构先进、合 理、清晰,并为企业应用平台的应用、 扩展打下了坚实的基础。目 口责任编辑张钦芝 收稿日期:2006—11—03 陈清萍(1 974一),女,安 徽芜湖人,高级工程师,从事 计算机应用研究工作; 何 鸣(1 956一),男, 广东湖州人,高级工程师,从 事计算机应用研究工作。