0 引言
现今条件下,企业信息系统不仅是一个技术系统,信息系统要想获得彻底的成功,不仅要强调技术,更要强调用户需求,而当今的竞争现实和快速多变的环境对企业或组织提出了越来越多有关业务方面的要求。因此,业务流程成为信息系统服务的对象,虽然企业IT系统已经经历多年建设,但是也存在一些突出的共性问题,如集成效果不理想、适应业务变化的能力差等。为了解决上述问题,设计人员依次采用了结构化、客户机/服务器、3层、N层、分布式对象、组件等多种信息系统架构,这些架构虽然在一定范围、一定程度上减轻了问题的压力,但并没有从根本上解决问题。面向服务架构(SOA,Service-Oriented Architecture)是敏捷性的面向服务的体系结构.它把业务逻辑和具体实现技术这二者分离开来圆.它的出现为解决信息系统与业务之间的矛盾提供了一种方案。
1 信息系统架构发展概述
随着信息技术的发展。信息系统架构也不断变化,以适应多变的需求环境,大致经历了结构化、客户机/服务器、3层、N层、分布式对象、组件等多种信息系统架构阶段,但其弊端日益凸现,而在面向服务的应用示范中,独立的、来自不同开发商的系统或COTS(Commercial Off-The-Shelf)产品被视为可以动态共享的服务,使用这些共享的服务要求能够屏蔽系统与服务问的差异,最终满足基于面向服务、面向流程的应用。
如表l所示,信息系统经历了各个发展阶段。从信息系统的功能上来看,经历了从部门的简单应用到系统的复杂处理;从信息系统涉及的范围来看,从单个部门的业务处理发展到跨越部门甚至是跨越企业的应用;从其涉及对象来看,从面向功能的思想经历面向企业流程到现今的面向服务的理念。
表1 信息系统发展示意
2 面向服务的架构SOA
2.1 SOA概述
面向服务构架是一种面向服务的企业应用体系结构.灵活性与松耦合性是它最突出的两个特性。首先,对比传统的3层客户服务器体系结构,具有一个灵活而功能强大的服务层,它能把各个应用的功能抽象成服务,通过请求,服务的方式来获取跨应用的功能调用和数据获取。其次,面向服务构架SOA是一种强内聚松耦合、延展性与兼容性强的分布式信息体系。它不同于市场上许多打包应用,而是可以通过标准化的组件.根据业务的需求搭建出企业所需的系统,并且可以方便地按照业务需求的改变而改变。SOA架构元素如图1所示。
图1 SOA架构元素
2.2 SOA基本结构
SOA的基本结构如图2所示。
图2 SOA结构
(1)服务
由Web服务描述语言(Web Service Description Language,WSDL)来描述;WSDL把服务抽象地描述为一组包含在面向文档或面向过程信息的消息上执行操作的端点的集合:多个相关的具体端点结合在一起就构成了服务。
(2)服务提供方
服务提供者是一个可通过网络寻址的实体:它接受和执行来自使用者的请求。它将A的服务和接口契约发布到服务注册中心;以便服务使用者可以发现和访问该服务。
(3)服务请求方
服务使用者是一个应用程序、一个软件模块或需要一个服务的另一个服务。它发起对注册中心中的服务的查询;通过传输绑定服务;并且执行服务功能。服务使用者根据接口契约来执行服务。
(4)服务注册库
服务注册中心是服务发现的支持者。它包含一个可用服务的存储库:并允许感兴趣的服务使用者查找服务提供者接口。
(5)Web服务的操作
它是与Web服务相关的操作。主要有:发布、查找、绑定、调用。
2.3 SOA范围中的服务
在面向服务体系结构中。映射到业务功能的服务是在业务流程分析过程中确定的。服务可以是细粒度的,也可以是粗粒度的,这取决于业务流程。每个服务都有定义良好的接口。通过该接口就可以发现、发布和调用服务。企业可以选择将自己的服务向外发布到业务合作伙伴,也可以选择在组织内部发布服务。服务还可以由其他服务组合而成。
3 业务流程框架的发展
3.1 企业应用集成
由于电子数据处理系统的应用局限性,随着集成化数据库的要求提出。一个跨越职能部门、面向流程的新视角产生了。集成化的应用系统包括两个集成方向:横向和纵向。横向集成是指沿着企业的价值链跨越部门将办公系统和业务系统连接起来。而纵向集成则强调将办公系统和业务系统的数据提供给计划和控制系统,即集成化的信息系统转向遵循面向流程的设计思想。
如图3所示。集成系统基于面向流程的基本原则,几乎覆盖了企业所有的管理功能。在横向上,实现了跨越各个职能部门来处理经营管理任务。从而使得业务流程更好地面向客户需求;在纵向上,实现了同价值创造密切相关的业务活动和面向价值创造的流程的集成。
3.2 业务流程平台ERPⅡ
ERPⅡ是由Gartner Group提出的,它是—个跨企业面向流程的架构。其主要目的是消除系统信息孤岛,实现系统的整合,使系统全面支持业务流程。对比ERP和ERPⅡ,在其基础之上进一步扩展,延伸到了企业的外部,可以支持和优化企业内外的协同流程。具体如图4所示。
图4 业务流程平台ERPⅡ
3.3 传统业务框架局限性
(1)集成基本都是面向功能
该情况都是基于功能定义的设计方式。只注重从技术和内容去分类,偏重于各自实现的功能.没有强调各类集成间的相互关系和相互影响。以及作为一个整体对企业IT和业务的影响。难以形成灵活配置和扩展的体系架构,管理上也不能提供适应多变的业务需求。
(2)忽略流程的设计和集成
在进行系统设计时,只是简单直接地套用现有的具体业务流程,一旦流程变更或者增加就重新去开发新的流程控制逻辑,使现有资源未被重用,造成资源的浪费。
(3)灵活性、适应性、可扩展性较差
很多都是针对特定的软硬件或者特定的应用环境去开发的,系统的自适应能力差;面向特定应用,体系结构与整个组织关系不大,流程管理作用无法充分发挥。
(4)缺乏合理的粒度规则
各组件要与现有应用程序匹配,就要选择合适的粒度进行系统分析和设计,难度较大且缺乏灵活性。
由以上论述可知,如何根据当前环境要求,把分布在网络中的各种核心流程整合在一起,以客户为中心设计方案,提高企业的核心能力就摆在企业的面前。SOA理念和技术的成熟为这种需求的实现提供了可能,下文将着重论述基于SOA的业务流程应用框架。
4 基于SOA的业务流程应用框架
4.1 基于SOA的业务流程应用
从图5中可以看出,基于SOA的业务流程应用框架的主要特点是在传统架构基础上增加流程管理器和业务服务层。
图5 基于SOA的业务流程应用框架
业务服务层由特定的业务服务族、可复用的服务以及Web Service平台组成。其中业务服务族是针对特定业务领域的一些服务及其相应的数据模型。可复用的服务是指能够在不同业务领域共享的一些服务。Web服务平台则为服务的定义和使用提供一个独立于业务应用平台和技术平台的环境。
流程管理器包括流程引擎、流程定义库、流程实例库、事务管理器和连接器框架等部分。一般首先采用图形方式建立业务流程模型,再存储于块模型中(如BPEl4WS或BPML),并由流程引擎执行。其核心是流程引擎,引擎创建和解释正式流程定义的运行时实例。流程定义(开发时)和流程实例(运行时)存储在库中,系统提供适当的接口,以设计、部署和配置流程定义,并监控和管理流程实例。业务服务层和流程管理器之间通过服务紧密联系在一起。业务服务族提供了粗粒度的业务功能,它们能够映射成业务流程中的任务;服务描述则为业务服务族提供了定义明确合理的接口,从而使业务流程不必了解业务应用和技术平台的细节就可方便调用;业务服务层中的服务注册处确保业务流程层可以在必要的时候动态地定位和访问所需服务。服务之间的通讯采用XML格式的数据,独立于业务应用系统。组合应用通过统一的接口如Web服务来访问分布式组件,向用户提供一个完整的面向流程的方法,来管理企业的各种任务。通过在业务层面上消除系统边界,可以更好地实现流程化。
4.2 基于SOA业务流程应用的优点
企业正在处理两个问题:迅速改变的能力和降低成本的要求。为了保持竞争力,企业必须快速地适应内部因素(如兼并和重组)和外部因素(如竞争能力和顾客要求)。需要经济而灵活的IT基础设施来支持企业。基于SOA业务流程应用有以下优势:
(1)可利用现有的资产
SOA提供了一个抽象层,通过这个抽象层,企业可以继续利用它在IT方面的投资.方法是将这些现有的资产包装成能提供企业功能的服务。组织可以继续从现有的资源中获取价值,而不必重新从头开始构建。
(2)敏捷和管理复杂性
SOA使核心业务逻辑和流程控制逻辑分离开来。首先提高了敏捷性.可以比较顺利地更改现有流程或引入新的流程,因为更改仅限于表示流程控制的服务中;其次,该方法允许封装关键状态代码,这意味着在更改一个流程时,不会影响其他流程;最后,由于只需一次性实现业务逻辑,故可以减少冗余,避免出现不一致的情况。
(3)更快的响应和上市速度
快速从现有的服务组合新的服务,为现代企业提供了独特的优势。通过利用现有的组件和服务。可以减少完成软件开发生命周期包括收集需求、进行设计、开发和测试)所需的时间。这使得企业可以快速地开发新的业务服务,并允许组织迅速地对改变作出响应和减少上市准备时间。
(4)增加重用和易维护
SOA采用适当粒度的对象模式。并使用松散耦合的组件接口,减少复杂性,能够有效重用。易于维护。
(5)易于使用
SOA业务流程是由一系列业务服务组成的.可以更轻松地创建、修改和管理它来满足不同时期的需要。SOA提了灵活性和响应能力,这对于企业的生存和发展来说是至关重要的。
5 结论
基于SOA的业务流程应用框架能够实现更多的复用和集成,流程的自动化不仅使业务流程更加流畅,还加快了流程的周转时间,而且提供了一个灵活、方便的流程集成机制。采用面向服务的架构.使企业业务流程能够灵活地适应外界变化。因而具有很高的业务敏捷性和投资回报率;使其控制的系统不受外部变化的影响,并提供一个更准确、更有适应能力的可扩展架构,对业信息化建设具有一定的参考价值。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/
本文标题:面向服务的企业业务流程应用架构研究