企业流程业务集成方案企业信息化建设现状分析近几年来,随着信息化的发展以及企业管理水平的提高,企业信息系统整合的需求越来越强烈。企业信息化经过几年的建设,企业内部往往存在了多个相互独立的、面向特定职能的应用系统。这种系统一般面向企业中某一部门、或某一科室的需求,而由于现在企业的组织结构一般是按职能进行部门的划分,所以也就造成了面向部门所开发的系统,其功能也是面向特定职能的。这样,在企业中往往存在着这样的一种情景,各职能科室为自身管理方便的需要,建立了多种不同的系统。这些系统要求基层的业务人员登录系统录入基础数据,各职能科室人员再根据自己的需要登录系统进行数据的统计分析。因此,基层业务人员不得不面对不同的系统,甚至是相同的数据也要在不同的系统中进行重复的录入;而各职能科室的管理人员如果想要了解其它的不被自己所管理的数据时,也不得不请求其它业务系统的系统管理员为自己建立一个新的账号,进行登录查询。另一方面,许多优秀的企业管理思想已经被越来越多的企业管理者所接受。SCM、ERP、APS等等先进企业管理思想的神私面纱正逐渐的被揭开,并获得了越来越多的企业的认同。然而,当这些企业雄心勃勃地准备建立相应的信息系统时,他们不得不面临这样一个相同的问题,即如何保护企业对现有应用的投资,包括系统的建设费用、业务人员在现有系统上建立起来的工作经验等等。这些分离的应用隔离了业务之间的关系,原本连贯完整的业务流程被人为的破坏。而业务人员由于熟悉了自己的工作环境因此不希望这些系统被完全的抛弃。信息集成要解决的问题因此,随着企业的发展,企业应用集成已逐渐提到企业信息化建设的日程上来。综合来说,集成所要解决的问题包括以下几点:将面向职能的系统进行面向角色的整合按照企业的管理思想,将分散的业务进行集中的管理将分散的业务数据进行集中的数据整合解决远程异构系统间信息互通的问题基于流程的业务整合方案3.1目标建立企业业务流程中心,统一管理业务流程,并驱动底层的数据集成及消息传输。建立企业数据中心,为应用提供统一的数据接口,集中分布于各个应用的数据,实现数据的共享,避免信息的重复录入。建立企业的消息中心,为企业应用提供发布/订阅或点对点的通讯模式,以必要的时候以消息的形式驱动底层的数据集成。3.2总体方案企业管理水平的提高要求信息系统能够从整体的角度对企业的业务过程进行统一的管理,要求能够快速的适应由于客户需求的变化、生产能力的提高、供应商供应能力的变化等等各种因素而导致的对企业生产经营过程及组织结构进行的调整。因此企业信息化建设要解决的核心问题之一就是如何建立企业的业务流程中心,使得管理者可以“运筹帷幄之中,决胜千里之外”。企业信息化建设要考虑的另一个问题就是如何以一种可扩展的、松耦合的方式,实现对企业现有应用、新建应用的集成,并保证应用之间足够的独立性。本集成方案采用中创软件商用中间件有限公司的Infor系列中间件产品作为底层的中间件支撑平台。Infor系列中间件提供一个安全稳定、扩展灵活的基础架构平台,实现可靠的消息通讯,实现构件的管理和协同;通过工作流中间件和报表工具等开发设施的协助,Infor系列中间件使得快速构建复杂应用,轻松应对业务变化成为可能。图1.Infor系统中间件对企业应用的支撑体系从应用系统的构建、运行管理到各个应用的整合,从单一应用构建、业务数据交换到企业应用集成,从传统业务模式、Web服务到业务流程再造,Infor系列中间件可以提供全面平台支持,让您随需而变,快速构建复杂应用,在激烈竞争中脱颖而出。基于Infor系列中间件构建的企业业务集成解决方案如下图所示:图2.基于Infor系列中间件业务集成解决方案3.2.1业务流程中心应用的集成首先是业务的集成。业务流程中心在企业信息系统集成方案中处于核心的位置。业务流程中心要为企业提供业务过程建模、管理、监控、分析等全生命周期的管理职能,负责组织企业的运营过程,协调部门与部门、人与人之间的协作过程,调度工作项在业务人员之间的分配。数据层面的集成也通过业务流程中心来决定何时进行数据的抽取与转移。本方案的业务流程中心使用中创工作流中间件InforFlow来实现。InforFlow是遵循国际工作流管理联盟(WFMC)规范实现的工作流中间件,为工作流自动化和构建流程应用提供基础平台。InforFlow实现了流程逻辑与业务逻辑的分离,能够可视化的进行业务流程的分析、定义和业务单元的组装,从而使应用开发人员更关注于业务逻辑的实现,降低了复杂流程应用的开发难度。InforFlow支持顺序、分支、同步、循环、自循环、会签等丰富的工作流模型,支持流程的动态调整,使开发者与最终用户从容应对变化,提高应用系统的灵活性和适应性。InforFlow支持复杂业务流程的建模,使用普通活动、路由活动、子流程活动、块活动等活动类型,可以对企业完整的运营过程进行分层、直观的建模。InforFlow支持事件插件的处理,在流程实例、活动实例状态发生改变的任一时刻,允许应用扩展业务功能。在本方案中,数据中心对外提供的数据抽取接口以及消息中心对外提供的发布消息的接口,即可实用事件插件进行实现,实现后将其插接在业务流程的某个环节中。这种实现方式将每个环节要完成的核心的业务逻辑与为支持集成而由系统自动完成的数据抽取、消息发布等等逻辑隔离开来,从而实现了这些集成组件的业务无关性及可重用性,进一步增强了系统的适应业务变化的能力。在本方案中,业务流程中心对外提供了两类接口:XPDL接口XPDL是WfMC所定义的用于描述业务流程的定义语言,InforFlow严格的使用此语言进行流程建模。通过此接口,业务流程中心可以接收外部系统定义的业务流程,并对业务流程进行合法性检查,也可以向外部系统提供业务流程的完整描述。流程控制接口流程控制接口以符合规范的形式对外提供流程控制的功能。应用可以通过本地的调用代理对工作流引擎发起远程调用,完成对实际业务流程的驱动。应用可以通过这个接口完成对业务流程执行实例的控制及流程实例运行信息的跟踪查询。客户订单管理的业务流程如下:1.市场人员接收客户订单并录入订单管理系统;2.技术人员进行技术分析,并根据客户需要做出设计方案;3.市场人员依据技术人员出具的设计方案进行报价;4.市场人员将设计方案及报价发送客户确认,并签订合同。市场人员从任务处理器中获取“录入订单”的任务,并通过“订单管理系统”录入订单信息;订单管理系统通过远程调用代理向工作流引擎发送提交任务的请求;工作流引擎按照流程定义给技术分析人员分配任务;工作流引擎调用数据抽取组件从订单管理系统数据库中抽取订单信息,存储到数据中心;工作流引擎调用消息发布组件向消息中心发布消息;消息中心将数据发送给已订阅订单信息的“设计系统消息代理”;设计系统消息代理将数据进行拆包及本地化的格式转换,并存储到本地数据库中。可以看出,本方案具有的两大特点:以工作流引擎为核心,利用工作流引擎调度业务系统及各种扩展的组件。将为集成而开发各种集成业务组件同核心的业务系统隔离开来,使得业务系统可以不依赖于集成平台而独立运行。同时也提高了各独立于业务系统的集成组件的可复用性。3.2.2数据中心数据中心是企业信息化建设的核心之一。主要完成数据中心向应用数据索取数据、发布消息及向订阅数据的应用发送数据的功能。在数据的传递过程中,数据中心还将通过数据获取与发送接口完成数据格式的转换、打包、拆包等等步骤。数据中心通过一定的接口将应用所提供的数据收集上来,进行发布,并通过数据发送接口主动的向订阅者发送数据。数据中心使得企业数据的集成变得简单易行,有效的避免了应用的数据库之间的差异,并从业务层面上简化了数据的提供者与数据的订阅者之间的错综复杂的业务关系。数据中心是从数据层面连接分离的各个应用的桥梁。数据中心负责在适当的时候从各企业应用中收集数据,对数据进行发布,并发送给所有的订阅者,使得企业各部门能够利用信息集成的成果,辅助决策和管理。在本方案中,数据中心需要以点对点的模式从各应用数据库中抽取应用的数据到数据中心,而各应用可以订阅自己感兴趣的业务数据,并接收数据中心发送过来的业务数据。安装在各应用端的客户端程序完成消息的订阅、数据发送、数据接收功能。数据中心提供的数据集成基于企业应用集成中间InforEAI。InforEAI采用XML消息表示,基于发布/订阅的信息共享和消息路由机制使得业务系统的信息共享简单和易于变化,可以连接异构系统和操作环境,业务系统之间的松耦合使得在局部系统出错的时候能更好地恢复,从而保证数据交换平台具有更高的强壮性和扩展性。数据抽取数据抽取是指将业务数据从应用系统的数据库中抽取到数据中心的过程。数据的抽取是由业务驱动的。当业务人员完成他的某项任务时,业务流程中心通过以插件形式配置到工作流引擎中的数据抽取组件向应用数据库发出数据抽取的命令,并通过部署在应用端的消息代理将指定的业务数据抽取并存储到数据中心数据库。数据发送数据发送是指将订阅者订阅的业务数据从数据中心发送到应用数据库的过程。与数据的抽取相同,数据的发送也是由业务驱动的。一个可能的场景是,当业务人员处理他的某项任务之前,需要先从数据中心获取最新的业务数据,这时就可以把负责发送数据的组件以插件的形式配置到工作流引擎启动活动之前的时刻。这样,当活动启动时,业务流程中心即可将数据通过部署在应用端的消息代理发送并存储到应用系统数据库中。数据的发送同样涉及数据的打包,类型转换的过程。数据订阅客户端应用如果要从数据中心获取数据,首先要向数据中心订阅自己所需要的数据。数据中心提供了用户可以订阅的消息主题。3.2.3消息中心消息中心对外向企业应用提供了发布/订阅及点对点的通讯模式,在本方案中,基于InforBus/Q实现的消息中心是企业应用之间进行通讯的中继路由机构,通讯的模式可以是发布/订阅模式,也可以是点对点模式。消息代理是消息中心在客户端的本地代理,业务人员可以使用安装在客户端的消息代理向消息中心发布/订阅消息。消息中心接收到消息后,可以对消息进行持久化(存储到数据中)。消息中心收到客户端发出的消息后,也可以发起对某个业务集成组件的调用。一个典型的情况是,当某类业务人员对自己管理的计划进行变更后,需要将变更的数据传递到数据中心,以供数据中心给所有订阅此变更消息的应用系统发送数据。在这种情况下,数据的集成事件的触发是由消息驱动的,而非由任务驱动的。与任务驱动方式相比,消息驱动的数据集成是一种更为灵活的集成策略。然而,这种集成策略本质上违背了业务之间的承接关系,是对规范化管理的一种破坏,因此,应该尽量的避免过多的使用这个策略。3.2.4集成组件集成组件是以系统集成为目的而实现的一类业务组件,集成组件独立于业务系统,在各业务系统之间完成消息传递、数据抽取与发布等功能。集成组件有利于保障平台所要集成的各个系统之间的独立性,是以松耦合形式实现应用集成的有效方式。在本方案中,目前提供以下几类集成组件:数据抽取组件向数据中心发起进行数据抽取的命令,完成从应用系统数据库中抽取业务数据的过程调用。数据发布组件向数据中心发起发布数据的命令,由数据中心将指定的数据分发给所有的订阅者。消息发布组件向消息中心发出发布消息的命令,由消息中心完成消息向订阅者的发分。在本方案中,集成组件不能由业务系统直接调用,而是根据配置,通过业务流程中心(工作流引擎)与消息中心自动发起的。3.3方案优点分析面向服务的集成总线图3.面向服务的集成总线整个系统构建于基于企业服务总线而搭建的企业信息化建设平台之上,为企业信息化建设打下了良好的基础。平台提供了构建企业应用所必须的各种基础设施,为企业提供了从技术层面到业务层面进行信息化建设所经常面对的问题的解决方案。面向服务的总结结构使用以后开发的新系统可以方便的集成到平台中去。可扩展性高,可方便的集成新的应用较高的可扩展性是本方案突出的优点之一。面向服务总线的体系结构使得新增的应用可以方便的插接到系统中去。用户只需要独立的完成新增应用的开发,并通过业务流程中心重新对业务过程进行组织,将新开发应用包含进来,就可以通过远程调用代理与消