您现在的位置是:首页 > IT基础架构 > 软件与服务 >
业务流程管理与集成系统的软件体系结构
摘要信息技术的快速发展和应用改变着企业的商业环境.面对市场竞争越来越激烈,如何提高系统柔性,以支持企业重组和业务流程再造;如何集成异构系统,对原有系统资源的利用和保护....
1 引言
以Internet为代表的信息技术的快速发展和应用改变着企业的商业环境,使商业运行节奏越来越快,企业的价值链更加紧密和多样性.企业的布局和资源的配里不以地域、国家和行业为主要考f,而是根据企业价值链,通过优化资源配里、降低企业的组织成本和交易成本,提升企业的市场竞争力,进而使企业的价值最大化。这种以价值链为核心的企业变革主要表现为企业的重组(包括组织结构、业务流程和业务操作方式的重组),CSCIndex顾问公司抽查621家北美和欧洲最具实力的企业调查结果表明,在497家北美公司中有69%、在124家欧洲企业中有75纬都推行一项或多项不同的企业重组工程;其中业务流程重组最为突出,因为企业流程的重组可获得的“戏剧性”成就— 将生产周期缩短70%,成本降低40肠,顾客满意度、产品质I$和总收入均提高40%。比如,柯达公司对新产品开发实施业务流程重组,把35毫米焦距一次性照像机从产品概念到产品生产所需要的开发时间一下子缩减了50%.从原来的38周降低到19周。
企业的重组工程的趋势是朝电子商务的运营模式转变,这种变化深刻影响着企业的组织结构和企业内部的作业流程。因此,必须解决企业应用中的“信息孤岛”现象,把针对相对具体和复杂业务的各项独立系统集成起来是企业信息系统
支律企业重组工程面临的问题.在构造一个信息系统时每一个项目干系人(Stakeholder)都要考虑如何提高系统柔性,以支持企业重组和业务流程再造?如何集成异构系统,对原有系统资源的利用和保护?
在实际开发中。许多系统需要返工往往并不是因为系统功能没有完成,而是因为质量性能得不到满足,而这些质量属性又总是交织在一起的,在系统设计时没有方法使其中的一性能最大而不牺牲其他质性能,这就要求在着手设计系统时首先要考虑好如何满足系统的业务性能(如投放市场时间、成本、系统的生命周期和目标市场等)和质量性能,如何满足质蚤性能的动态属性(运行时可以测量的属性,如安全性、可用性、功能性和使用性等)和静态(运行时不能测量的属性,如可修改性、移植性、重用性、集成性和可测试性等)属性,并根据需求在这些性能之间权衡,这种权衡可通过分析系统软件体系结构来实现一个系统的软件体系结构是系统分析时优先考虑的诸多因素中最早着手的物件(Artifact),它反映了系统应该包涵的全部属性,是对系统需要实现的诸多属性的平衡,比如系统运行效率与安全性、维护性与可靠性、目前开发成本与今后扩展成本之间的平衡,系统对这些质量属性的实现就是通过系统的结构平衡实现的,并且可能是设计者一开始不能用文字表述的。
2 面向业务的软件体系结构
企业应用系统中软件成分越来越复杂,系统规模不断扩大,使得软件体系结构越来越庞杂,系统的质量和性能己经不再仅仅取决于实现算法和数据结构,软件系统体系结构在一定程度上决定系统的优劣。软件体系结构提供了一种使软件开发活动可被管理、形式化、可组织的一种工具,通过它可以把软件开发过程中的一些物件转化成新的软件体系结构下的物件,例如,我们可以通过软件体系结构把软件的需求规格说明转化成系统设计、把设计转化成实现。
软件体系结构是指计算机软件(程序)系统的一个或多个系统结构,它们由组成系统的构件、构件的外在表现属性和构件之间的关系构成软件系统的体系结构有好坏之分,一个好的体系结构能够使软件系统满足特性要求、性能要求和生命周期的需求,而不好的体系结构则不能。因此,在系统开发工作启动时我们要通过实验、验证等评估方法,选择一个最好的体系结构来构造系统。
软件体系结构很多,文中将软件体系结构分为五类:以数据为中心的体系结构、数据流体系结构、虚拟机体系结构、调用和返回体系结构和独立构件体系结构,每一类体系结构都为我们提供了一种分析系统需求的基点和设计系统的方法,并且都是行之有效的、实用的.但都是立足于技术角度,从产品域分析体系结构所定义的构件,构件间相互作用的信息和构件的外在表现属性即该构件被其他构件操作时它所能提供的服务、性能统计、错误处理、共享数据的应用等等。系统的质t属性孺求源于系统的业务需求,如果我们从业务域出发考虑系统的体系结构,通过抽象企业应用需求中的业务建模,用业务功能构件实现业务处理中的具体工作来描述业务逻辑在软件体系结构中的静态属性,用参与者匹配和过程定义来建立业务流程、业务活动和组织机构间的关系,并用工作流虚拟机作为支撑,解释运行反映业务流程的过程模型实例,实现软件体系结构中的动态属性。通过对业务逻辑和系统实现的分离,系统软件体系结构中的静态属性和动态属性的逻辑,用业务逻辑的表现实体来描述企业应用系统的体系结构,企业应用中的业务逻辑描述实体可分为:业务流程、业务活动和参与者。通过对它们之间的信息文换机制独立封装,可降低业务逻辑、业务数据和业务操作实体三者间的藕合,实现在业务域中的业务流程的柔性管理(即业务过程管理)和不同业务活动的应用功能在业务流程的集成。
业务流程指在企业或机构中,能够实现业务目标和策略的相互连接的过程和活动集。业务流程可以用工作流来描述,将其表示成为能够完全或部分由计算机自动执行的业务过程,在此过程中,文档、信息或任务按照预定的规则传递,企业人员、已有软件互相之间协调工作,以实现企业业务的整体目标,通过流程建模定义业务处理过程中涉及到的各种数据,包括开始和中止条件、各个工作环节及相互之间的控制流和数据流关系等。
业务活动是业务流程最小工作单元,表示了业务的具体功能,对应工作流中一个逻辑步骤或环节的工作任务,一般分为手工操作和自动处理两类。通过对业务活动建模,可以分离活动的内容和活动的控制关系,这样活动的内容可以是一个用户界面,也可以是一个构件(如COST构件,编译后的执行程序,或一个子业务流程)。当业务内容改变时,只豁替换具体的功能构件,无需改变业务流程的过程定义;业务流程变化时只需改变活动的控制关系,而业务内容及其相关的数据库则
不需改变。
组织机构 是对参与者的建模机制,它有三种荃本元素:组织单位、角色和参与者,这些荃本元素供过程建模使用,并通过建模机制保证已定义的过程中使用的角色和组织机构中定义元素的一致性。对组织建模带来两个好处:①分离业务的过程定义和业务的实际执行参与者,提供了过程模型和企业人员组织模型之间的相对独立性;②提供了一种平衡工作t的手段。当有多个执行者满足参与者孺要时,可在不改动流程定义的前提下,通过角色匹配在这些参与者之间平衡工作,提高工作效率,降低流程一次执行的周转时间。
3 SynchroFLOW的设计
SynchroFLOW就是采用面向业务域的系统体系结构的业务过程管理与集成系统,通过对业务流程建模、对组织机构分离,最大限度地满足系统的各项质量属性。SynchroFLOW的系统软件体系结构如图1所示。
3.1 工作流虚拟机
工作流虚拟机是解释执行业务流程的工作流管理系统,是工作流过程实例创建、执行和监督管理的一个运行环境.它对外提供过程、活动、工作流的查询、控制、管理功能、日志管理功能、系统管理功能.对内它提供工作流解释执行的语义和语法规则,在SynchroFLOW 中提供基于信牌驱动模型的工作流语义和语法规则,它是遵循WfMC标准基于Petri一网理论提出的一种工作流模型,通过划分同步区与非同步区,以及在同步区使用真假信牌规则。在非同步区使用真信牌规则,具有丰富的语义和直观的描述能力,能够描述各种业务流程的控制逻辑。
3.2 业务流程建模
业务过程建模就是按照信牌驱动模型制定工作流解释执行语义和语法规则对业务流程的严格描述。只要完整地定义了业务流程的过程和一些相关的描述信息,工作流虚拟机按照这种流程定义自动或半自动地执行,而无需用户再另外开
发软件。
SynchroFLOW的业务过程建模分为过程建模定义、过程建模管理和过程定义结果的标准格式等,过程建模完成业务流程的棋型定义,包括流程信息和相关数据;过程建模管理负责过程定义的管理职能,包括过程定义结果保存、获取和过程定义数据库的管理等。过程定义结果的格式将遵循XMLWPDL过程定义交换标准。
3.3 业务活动建模
一个工作流模型可以包含若千个过程;一个过程可以包含若干个荃本元素;它们可分为两类:活动元素和转移元素.活动分为开始活动、手工活动、自动活动、内里活动、子活动、路由活动、活动组、意外活动和结束活动等九种特殊情况。业务活动建模,一方面把活动的内容(具体功能)设计成为一个个构件(如COST构件,编译后的执行程序,或一个子业务流程或一个用户界面),由它们完成人机交互、数据处理和与数据库的连接等功能,并把它们按一定的方式存储起来,供业务过程定义时调用.另一方面,根据活动的类型和控制流信息,在业务过程定义时,定义参与者匹配方式,以便在活动执行时确定活动的执行者。
3.4 组织结构建模
业务流程定义中除了定义一系列活动以及活动之间的关系外,还要考虑手工执行的活动由谁来做和如何决定谁来做。在工作流系统中,一个活动的参与者(执行者)可能有三种情况:人员、单位和角色.这三种信息存放在一个企业的组织模型数据库中,供过程定义使用。
人员:指明某一活动的具体执行者,由该人员交互式地完成该活动的任务。
单位:一个活动的执行者并不指定给一个人,而是一个组织单位,它表明该单位中的任何一个人员都有能力和贵任执行该活动,当系统执行时再根据当时的情况动态地选择该单位中的一个合适的人员完成该活动。
角色:是对不同人员在业务流程中所承担责任的一种划分,不同的贵任可由不同的角色完成。
参与者就是活动的执行者,描述了一个活动可以由谁来执行,它是一个人、组织单位和角色的集合运算表达式,参与者是与过程相关的,而人、组织单位和角色是独立于过程定义的。参与者与活动之间的关系是执行与被执行的关系,参与者与人、组织单位和角色之间是扮演与被扮演的关系.只有满足参与者表达式的人、组织单位和角色才有权执行活动(只要在流程实例执行前,将参与者分配给某个活动就行了,即参与者匹配或参与者转换)。因此,参与者和执行者之间存在着多对多的关系,一个参与者可由一个或几个执行者来扮演,而一个执行者可以扮演多个参与者,这种多对多的关系给参与者匹配的实现带来一定的难度。但同时带来了灵活、简便、易于控制的好处。
4 利用SynchroFLOW实现业务流程管理
由于SynchroFLOW过程建模采用标准的XML-WPDL形式的过程定义,作为过程建模与工作流虚拟机之间交换过程定义的方式,从而使表现企业业务流程的过程定义程序与工作流虚拟机之间建立起了一种松散的韧合关系.当企业业务流程重组时,业务流程变化,只需要改变业务过程定义,用新的过程定义文件替换旧的即可,系统的功能构件、参与者以及数据库属性都不用修改。
在采用SynchroFLOW开发企业应用时,业务流程、活动或参与者发生变化时,可以利用SynchroFLOW提供的工具对系统的局部快速修改而不影响系统的体系结构整体,保证了系统质量属性.同时由于工作流虚拟机和反映业务流程的过程定义文件分离,还可以动态修改业务流程,即对流程定义模型的实例进行修改,当一个实例化的流程在运行过程中需要修改时,由工作流虚拟机挂起濡要修改的流程实例,利用SynchroFLOW提供的工具对流程、活动或参与者进行快速修改,并得到新的业务流程模型文件,交由工作流虚拟机实例化,恢复被挂起的业务流,由于其实例己被更新,它将按新的业务流程运行。
5 利用SynchroFLOW实现企业应用集成
SynchroFLOW降低业务逻辑、业务数据和业务操作实体三者间的藕合,在企业应用异构环境中可以实现功能构件级和流程级不同层次的集成。软件开发商开发的EJB、应用程序、FORM和与过程定义有关的附件通过系统管理进行注册和注销;用FORM开发工具开发的FORM通过应用程序管理提供的API进行注册;EJB通过EJB部署工具部署到EJB服务器上;EJB、应用程序、FORM和附件的索引信息保存到应用程序数据库中。利用SynchroFLOW的FORM开发工具开发的FORM或用第三方开发工具(如FrontPage)开发的FORM以及以JSP,HTML, EJB封装的组件,通过注册,成为一个业务活动功能构件。
在企业应用中有很多应用程序是二次开发商和用户自己开发的,有的是第三方开发的COST组件,这些应用程序是工作流虚拟机所不认识的.SynchroFLOW通过应用程序的注册和注销机制实现对它们的集成。应用程序的集成有两种方式,一种是将做好的应用程序作为活动一个功能构件,将应用程序索引信息登记在应用程序管理中,供过程定义时集成到活动中,当业务流程运行时它随活动一块执行;另一种是调用应用程序,由相应的API进行处理客户端注册应用程序的请求,还有响应调用应用程序的请求。
(本文不涉密)
责任编辑:
下一篇:使用ARIS进行动态业务流程建模