人力资源管理信息系统的实现与商务智能应用
宋庭新 黄必清 邵贝恩 万方数据|

0 引言

    集团型企业是一个多法人的经济联合体,集团总部与各分/子公司之间通过股权、资金、技术等纽带紧密地联系在一起。因此,在信息化建设中,集团总部应用系统面临着业务集成的强烈需求,主要表现在:①跨企业的资源控制与管理,各分/子公司异地分布的特点,往往需要在资金、人力、设备、物料、技术等多方面综合考虑,要求系统必须能够实现内部资源优化配置,达到利益最大化;②信息资源共享,集团企业内部往往存在着各种信息资源的产生和应用关系,需要建立公共的信息标准和共享资源信息库,确保各种信息资源在整个集团的有效利用;③系统必须具备更大的可扩展性,要求各种信息系统能够根据业务需要实现一定的功能重构;④分布式体系结构的要求,由于集团企业的异地分布,系统必然是一个分布式的体系结构。以每一个下属企业的数据库服务器为核心,形成多个分布的客户机/服务器(Client/Server,C/S)和浏览器/服务器(Browser/Server,B/S)体系结构群。企业之间可以通过虚拟专用网(Virtual Private Network,VPN)构建集团内部的Intranet,形成c/s与B/S的集成体系结构,实现集团内部的网络通信。

    然而,传统的企业应用集成方法,如公共对象请求代理结构(Common 0bject Request Broker Ar—chitecture,CORBA)、分布式组件对象模型(DistributedComponent Obiect Model,DCOM)和企业版Java Bean(Enterprise Java Bean,EJB)等分布式对象技术已经很难适应企业集成的技术需求。近两三年来,以IBM为代表发展起来的面向服务的体系架构(Service Oriented Architecture,SOA)较好地解决了统一资源描述和服务协同的难题,以服务为中心的集成(Service Oriented Integration,SOI)已经成为集团公司跨企业信息集成的有效解决方案。SOA以开放标准和技术为核心,强调开放性和互操作性,这种面向服务的Web服务计算模式正在走向成熟,已经成为更大范围内企业集成的一种重要使能技术。面向服务架构针对服务的描述、服务注册、服务的组织和访问等,引进Web服务描述语言(Web Services Description Language,WSDL)、简单对象访问协议(Simple Object AccessProtocol,SOAP)、统一描述、发现和集成(UniversalDescription,Discovery and Integration,UDDI)等开放技术标准,提供了一个独立于实现平台和实现语言的松耦合集成支持环境。

1 集成服务平台总体结构与功能设计

    从满足集团企业“集约化经营、集成化管理”的需求出发,本文采用SOA和Web服务技术,构建“上下贯通,横向关联”的集成应用架构,支持集团企业产品研发体系、资金运作与财务监管体系、营销服务体系、采购供应体系、决策支持体系的集成应用,以提高集团整体经济效益和综合竞争能力。

    该业务集成服务平台基于SOA架构,主要由企业服务总线、集团服务总线和业务流程管理三部分组成(如图1)。企业服务总线部署在各分/子公司,每个分/子公司都需要一个企业服务总线。在企业服务总线中,部署有不同功能的Web Services组件,主要包括销售服务组件、采购服务组件、财务服务组件、研发服务组件,这些服务组件由一系列具有不同粒度和功能的原子web Service组件组成,可以直接连接到企业数据库,并以标准接口的形式对总部或者企业内部提供数据服务。集团服务总线中也部署有不同功能的Web Services组件,这些组件的作用是调用企业服务总线中的Web Services组件,组成较粗粒度的服务,为总部业务流程的灵活重组提供支持。业务流程管理主要是按照营销、采购、财务、决策支持和产品研发的需求,对集团服务总线中的Web Services组件进行组合和编排,形成上述五大业务体系的业务流程。这种积木式的业务流程编排方式,不仅可以按需灵活重组业务流程,而且具有标准化接口和松散耦合的特点。同时,服务总线的方式并没有破坏企业原有应用系统,原有系统依然可以继续使用,保护了投资。

 

图1 集成服务平台总体结构

    针对上述总体结构,设计了集成服务平台的功能树模型(如图2),主要包括:

 

 

图2 集成服务平台功能树

    (1)集团服务总线该总线是支撑集团企业五大业务系统集成的基础平台,部署在集团总部,主要功能包括标准协议支持、消息服务、总部服务组件管理、安全管理、性能监控、事务处理、模型一视图一控制器(Model,View,Controller,MVC)框架、连接池等。
 (2)企业服务总线 部署在各分/子公司,主要对各分/子公司的务组件进行管理,并提供系统级服务,功能与集团服务总线基本相同。

 

    (3) 统一描述、发现和集成中心为集团服务组件和企业服务组件提供统一的注。册和目录服务,是集团企业所有服务组件的访问地址存放处。在实现方案上,可以将各分/子公司的服务组件的访问路径统一存放在总部的数据库中,在查找和调用这些组件时可以先从总部数据库中查询组件的位置。

    (4)业务流程管理对集团企业业务流程进行管理、编排和重组。业务流程管理平台可以支持用户自定义的业务流程再造,当集团企业业务流程发生变化时可以快速改变流程结构,以适应新的业务需求。

2 接口规范和服务总线设计

    2.1 标准协议

    基于SOA架构的服务总线必须采用标准的协议对企业进行应用集成,目前在服务总线中广泛使用的标准协议有以下几种:

    (1)简单对象访问协议

    SOAP是一个基于可扩展标记语言(eXtensibleMarkup Language,XML)用于分布式环境下交换信息的轻量级协议。SOAP在请求者和提供者对象之间定义了一个通信协议,该请求对象可以在提供的对象上执行远程方法调用。由于SOAP是平台无关和厂商无关的标准,在带有单独IT基础架构的合作伙伴之间的松耦合互操作中,SOAP是支持服务调用的最好方法,它的优点在于完全和厂商无关,相对于平台、操作系统、目标模型和编程语言可以独立实现。

    (2)Web服务描述语言

    WSDL规范定义了一个XML词汇表,该词汇表依照请求和响应消息,在服务请求者和服务提供者之间定义了一种契约。可以将Web服务定义为组件,这个组件通过描述SOAP消息接口的WSDL文档来提供可重用的应用程序功能,并使用标准的传输协议来进行传递。WSDL描述包含请求消息格式、响应消息格式、向何处发送消息等信息。

    (3)统一描述、发现和集成

    UDDI规范提供了一组公用的SOAP应用程序接口(Application Program Interface,API),使服务代理得以实现。UDDI为发布服务的可用性和发现所需服务定义了一个标准接口。UDDI实现将发布和发现服务的SOAP请求,解释为用于基本数据存储的数据管理功能。为了发布和发现其他Web服务,UDDI通过定义标准的SOAP消息来实现服务注册(service registry)。注册是一种服务代理,它是服务请求者和服务提供者之间的中介。一旦请求者决定使用特定的服务,开发者通常借助于开发工具创建服务代码来绑定服务。Web服务不需要使用UDDI,但因为UDDI是建立在Web服务上来完成自身工作的,所以UDDI是服务发现的一个好的解决方案。

    2.2 服务总线设计

    业务集成服务平台采用SOA架构和WebServices中间件的形式实现。为支持该架构,需采用两条服务总线,即在集团总部采用集团服务总线(Corporation Service Bus,CSB),在各分/子公司采用企业服务总线(Enterprise Service Bus,ESB)。ESB的作用是支持各企业的Web Services组件、标准协议并进行服务管理。集团服务总线的作用是支持总部的Web Services组件,这些组件将调用各分/子公司的服务,组合形成总部的服务,以实现总部的业务流程,或者提供服务给各分/子公司使用。ESB支持SOA技术,以“软总线”的方式,提供服务问协作、管理和控制的分布式架构,用于构建、集成、部署和监控管理各种企业的分布式资源。一个ESB可提供如下能力:①SOA;②基于上下文的路由和过滤;③用XML作为信息表示与交换的标准;④支持多种标准接口;⑤操作和管理服务组件。服务总线是业务集成平台的核心内容,除了提供支持Web Services组件的容器以外,还需要提供其他附加功能模块,主要包括:①支持XML/SOAP/WSDL标准协议,用于服务组件之间通讯;②提供UDDI目录服务,用于服务组件的注册和查找;③提供消息服务,用于服务组件的异步调用和消息驱动;④提供服务组件管理平台,用于部署、卸载服务组件;⑤提供安全管理机制,用于服务组件的安全验证;⑥提供性能监测工具,用于服务组件的性能监视和调试;⑦提供事务处理机制和数据持久框架,用于访问数据层;⑧提供Struts/JSF等框架,用于支持MVC模式的应用程序开发;⑨提供连接池,用于连接到底层数据库。

    需要指出的是,除了Web Services组件需要开发以外,上述功能模块均可由应用服务器提供,并不需要额外的开发工作,但需要开发人员根据具体情况对服务总线各项功能模块进行配置和调整。服务总线功能模块如图3所示。

 

图3 服务总线功能模块
 2.3 服务粒度的选择

    在业务集成服务平台中,部署有不同粒度大小的Web Services组件。其中,ESB中服务的粒度较细,CSB中服务的粒度较粗。CSB中的服务组件通过调用和组合ESB中较细粒度的服务组件,来形成较粗粒度的服务。服务粒度如果选择得太细,会增加组件复用的程度,但导致组件数量增加,影响服务总线的效率;服务粒度如果选择得太粗,会降低组件复用的程度。因此,应该根据业务流程的实际需要来掌握服务粒度的大小。

    服务粒度选择的一般原则是,按照集团总部五大业务系统(营销、采购、财务、决策支持、产品研发)的分类,将服务组件划分为五大类,每一大类再次细分。ESB中服务粒度的选取原则是:一个服务组件对应一个数据表及其关联表。对单一数据表的访问要求带有查询过滤条件和简单的业务逻辑;对多个数据表的访问要求使用带过滤条件的多表连接查询和子查询;在必要情况下可将较复杂的业务逻辑封装在存储过程、触发器和视图中,在服务组件中完成触发和调用。CSB中服务粒度的选取原则是:只能通过企业服务组件访问数据库,不能直接访问企业数据库,但允许直接访问总部数据库。可以封装一定的业务逻辑,调用一个或者多个企业组件服务。

    2.4 服务接口规范

    在定义服务时,必须按照一定的接口规范来定义web Services组件,在Web Services组件中分别编写查询数据的方法。Web Services组件对外主要提供数据服务,以输入和输出参数的形式对外暴露功能接口。在设计服务接口时,往往在一个WebService组件中定义多个方法或者函数,Web Serv—ices组件正是通过这些方法来访问企业数据库。服务组件在设计时采用的规范是:根据服务组件的分类和服务粒度的大小,将对数据访问的共性功能,如增加、删除、查询、修改和调用存储过程等基本功能连同业务逻辑一起,以方法的形式封装在Web Services服务组件中,同时还需定义服务名称、服务播述、方法名称、方法描述、输入参数及类型、输出参数及类型等。表1所示为服务接口规范的格式(以客户信息服务为例)。

表1 服务接口规范的格式

 

 
 
 3.3 Web Services组件设计

    web Services组件设计的关键是:首先要分析清楚集团总部在集成过程中,主要对哪些业务数据进行集成和监控,亦即集团总部需要查看分/子公司的哪些业务数据。对于总部关心的数据,可以在企业级层面开发部署相关的Web Services组件,通过这些组件获取企业数据库中的数据,为总部提供数据服务。其次,总部对企业级服务组件进行组合,以形成较粗粒度的服务组件。企业服务组件的开发并不需要一次到位,可以采取分步实施的策略,对总部集成急需的组件先开发,暂时不需要的后开发,逐步建立起完善的企业服务组件库和集团服务组件库。目前,支持Web Service组件开发的工具很多,如JBuilder,Rational Aplication Developer,JDeveloper,Eclipse,Microsoft.NET Visual Studio等,可以快速开发出基于Java和.NET技术的Web Serv—ices组件。

4 服务编排与流程管理

    在两级服务总线和Web Services组件的基础上,为支持集团企业五大业务体系的系统集成,必对集团服务总线中的Web Services组件按照功能和业务逻辑进行组合,即对服务组件进行编排,以形成业务流程。业务流程设计可以采用高级编程语言、第三方业务流程管理平台和BPEL实现。服务编排和业务流程设计是构建实际应用系统的基础。

    4.1 流程编排方法

    在SOA架构下,需要采用流程驱动的开发方式,即对Web Services组件进行组合和编排,以形成业务流程。目前,用于业务流程编排和组合的方法主要有BPEL、第三方业务流程开发平台和使用高级语言自定义的业务流程三种。

    (1)业务流程执行语言

    BPEL是为Web服务编排和组合而开发的一种流程设计语言,它是由BEA,IBM和微软公司共同开发和制定的,目前已经成为业界标准。BPEL也被称为BPELWS或BPEL4WS。BPEL采用XML形式的语法,用于指定基于Web服务的业务流程行为。合佟袄伴可能将服务提供绘流程,也萄以向流程请求服务,或者参与到流程的双向交互中。BPEL通过指定顺序来编排Web服务,并针对每个服务分配的责任,用来指定合作饮伴的公共接口和描述可执行流程。使用BPEL描述的商业过程将会通过一系列的Web Services组件发生作用,这使得任何协同操作的实体会以相同方式执行处理过程中的一步或多步。BPEL已经成为服务组合狸业务流程编排的标准语言,因此得到广大厂商的支持,戎为开发基予SOA架掏疵用的主流业务流程描述语言。

    (2)使用第三方业务流程平台定艾业务流程

    目前,还有许多第三方,商开发了自己的业务流程编排和管理平台,例如Cordys BCP,金蝶BOS等。第三方业务藏程开发乎螽的优点是在更嘉层次上实现了对业务流程编排的支持,具有流程定制简单,开发效率高,支持客户自定义流程。当业务流襁发生变化时,客户霹以叁己快速定义流程。但由予这种方式并菲标准,不支持BPEL,应用程序的移植能力较差。

    (3)使用高级语言定叉敷务流程

    上述两种业务流程编排方式都需要得到专用般务流程管理平台的支持,这些专用业务流程管理平台都构建在基本黪应用服务器基礁上。敷BEAWeblogic产品系列为例,Weblogie Server提供对服务总线和Web Services组件的支持,IntergrationServer提供对BPEL的支持,且Intergration Server构建在Weblogic Server基础之上。如果企业不准备投资购买专用业务流程管理平台,也可以采用一种较力赢层的监务流程设计方式,繇使震高级语富如Java,C#,按照一定业务逻辑和顺序,调用企业服务总线中的Web Services组件,这种方式的好处是不需要专尾流程服务平台懿支持,只需要应震服务器即可。但这种流程设计的开发效率较低,且不支持客户自定义流程。
 

图7 现有系统的数据封装

    Web Services组件的设计主要采用JBuild—er2006等J2EE集成开发工具,并采用BEAWeblogic Server9.0作为应用服务器。业务流程建模和设计采用JDeveloperl0.1开发基于BPEL的业务流程,并采用Oracle BPEL Process Managerl0.1作为业务流程管理服务器和BPEL执行引擎。上述技术方案在经纬纺机实施以来,有效地整合了集团公司的信息系统,成功实现了总部和各分/子公司之间核心业务系统的集成。

6 结束语

    本文提出的以服务为中心的集成服务平台具有以下特点:①标准化接口和松散耦合性解决了集团企业中异构资源的信息集成问题;②使用统一的流程管理平台,解决了跨企业的业务协作流程的编排和服务组合问题;③可方便地为集团企业提供专业化的集成服务平台,对企业现有业务系统具有很强的兼容性,保护了企业信息化过程中的前期投资。

CIO之家 www.ciozj.com 公众号:imciow
关联的文档
也许您喜欢