理论介绍(一些定义)
业务流程是一个组织及其合作伙伴的人员及系统所完成的工作的一种正式表达, 它旨在给内部或外部客户提供产品或服务。业务流程最简单的表达形式就是一组活动,它们表示流程的不同步骤,通过一些转换连接在一起。活动可能需要人为干预,也可能是全自动的。对于需要人为交互的活动,可以在流程中定义一个角色,标识允许谁在这里与流程交互。流程起到定义的作用,而流程中的实例就是完成整个流程的实际项目,从一个活动转换到另一个活动。实例总是开始于流程的Begin活动,而结束于流程的End活动。实例的路径完全取决于实例的数据以及外部环境。
转换是活动之间的直接连接, 许多的转换进出一个活动.。一旦某个实例完成了一项活动件,外发转换将被评估, 其中之一被选中,以使实例转向下一活动。条件转换包含一个布尔表达式,该表达式将被计算,要使实例继续沿流程前进,结果必须为true。有些转换是基于时间的,这就意味着如果到了预期时间,实例还在那里,这些转换将会触发到目标活动的自动路由。流程也可以有状态:可为流程定义属性,接受每个实例的一个值,这能帮助您保持实例状态,以转换到不同的活动(例如,报价总数>X,那么就执行该活动)。.
从纯建模的角度看,这就是BPM。但要执行流程,这里的定义是不够的;您还需要与其他系统沟通,将流程反映到基础架构中。这就是集成发挥作用的地方了。对于流程中的每一个活动,您都可以定义任务,这些任务基本上是由一个实例抵达该活动时所执行的代码组成的。任务可以通过多种方式实现。当某个实例抵达一个自动活动时,为该活动定义的任务就会被执行,实例将根据执行结果移动到下一活动。
对于人为交互的活动,任务的执行是由最终用户通过客户端工作空间触发的。AquaLogic产品内置了集成功能,可以应用于任务代码之中(这一特性将在以后的文章中更全面地加以介绍,它也是本产品最重要的特性)。任务更新流程状态、访问和更改外部系统,并与最终用户交互等等。任务就是将一个简单的流程模型转变为一个流程驱动的应用程序。
业务流程管理是正式化和自动化业务流程的技术。要想成功地进化为一个面向流程的组织,您必须使用合适的工具来设计、执行和监控业务流程。这就是业务流程管理系统的构建目的。也是AquaLogic BPM设计的目的所在。
时间问题(转移到BPM之前)
如果组织想要获得更高的敏捷性,就需要适应业务运转所用到的软件。从概念的角度来看,变化最频繁的不是后台应用程序、不是访问客户的web服务定义、不是EJB的位置,也不是它们所基于的ERP的版本。业务需要适应的最重要的变化就是流程本身:业务必须以某些标准为依据,添加一条更快捷的途径,来自动地认可顺序,从而修改提高或降低认可率的参考值。组织需要处理认可,并平行地检查活动;需要改变执行某项活动的角色;需要手动处理一些异常;需要实施新的业务规则。处理此类变更是BPM的核心内容,允许在不更改任何底层组件的情况修改业务流程。
下节将介绍一些我认为对于理解BPM的真正价值十分重要的东西。
业务流程管理背后(流程尽在控制之中)
通过接纳BPM,也就具体化了业务中的一个重要片段。问题是,如果用户的流程模型不可执行(即它只是纯粹的模型),那么最终您是不得不将其映射到一个应用程序、转换它,就像从“分析”到“设计”再到“实现”时的转换一样。这使得将业务流程映射到生产中真正运行的部分非常困难。采用AquaLogic BPM Suite,您可以构建出一个完整的流程驱动的应用程序,将任务附加到活动,而这些活动就是业务流程内部发生的真实操作。任务是流程的代码,既可以是用户驱动的,也可以是系统驱动的。任务的执行是流程中状态改变的主要驱动力。因此,这个流程切实地驱动了应用程序,直接实施了流程中允许的流、任务和操作。
编写流程驱动的应用程序并不会改变您编写代码或实现服务的方式,您仍然是在以相同的方式编写Java类、Web services和JSP。主要的差异在于这个应用程序是流程驱动的。也就是说,所有的代码是通过活动任务触发的,所以您只需专注于这些任务的代码即可,剩下的事情都可由AquaLogic BPM Suite处理。用户工作空间中提供了一些开箱即用的基本流程操作。
设身处地(为最终用户着想)
对于您的最终用户(即您所构建的解决方案的用户)来说,最主要的变化就是他们有了一份待完成任务的单一列表。他们可以在收件箱中查看待处理的实例以及对于各实例来说可执行的任务。
以前,用户必须在不同的页面、系统和应用程序上查看需要执行的任务。幸运的是,如果有新的待执行任务,用户会接收到相关通知,但他们很有可能不会在一个单独的视图中发现这样的通知。而BPM可以将工作分配情况很直观地展现在用户面前。
对于最终用户来说,最重要的改变就是呈现在他们面前的将是更加面向任务的工作视图。他们能够很容易地了解,他们有等待通过执行为相应活动启用的任务而许可的待处理事项单。只要清晰地定义流程,您就可以创建出对所有参与实体(如其他系统和人员)来说都很清晰明了的工作单元。
有了流程和实例后,您就需要一个用户前台来管理实例(类似CRUD的基本操作)。对于BPM,这些操作将是创建、搜索、执行、取消、委托和路由。AquaLogic BPM Suite 通过HiPer Workspace(以任意风格)或直接通过使用API(基于Java或Web服务)提供了所有这些特性。用户无需再构建这些功能,它们已经存在了。
BPM是波澜壮阔的SOA运动的一部分,在其中发挥着非常重要的作用。下面分析一下它是如何发挥作用的。
我眼中的世界(BPM眼中的SOA世界)
许多知名人士对BPM和SOA之间的关系做了定义。
- Bruce Silver的BPM Watch有一篇非常出色的 文章,标题为BEA's take on BPM-SOA。
- Alfred Chuang 在Exec2Exec时事通讯中撰写了一篇 文章,也提供了很好的描述。
我对SOA的观点是:它与构建封装的、可重用、去耦的服务有关。SOA涉及两个主要“方面”:构建去耦服务和以简单的方式将它们绑定在一起。在SOA企业中,所有服务都将在不同级别上自顶向下地连接在一起(否则就不能使用这些服务)。一些绑定极为静态,而另一些绑定却非常动态。BPM试图提供一种工具,来建模变化最大的层次——业务层。流程利用SOA服务作为构建块,它将在底层系统中反映您的业务流程。这些核心服务将在所有流程中重用,提供了真正的重用价值。这些流程将业务、数据和表示服务绑定在一起,实现价值产生因素:真正的业务流程。
如果没有流程层,您最终就要在表示层或业务层里连接这些服务调用,业务逻辑的某些变更将决定哪些服务器要修改,并重新根据新的业务定义来连接服务。下面通过一个例子来详细描述:您拥有一个Web应用程序,它具有双层架构,即业务组件和表示。某些表示组件包含应用程序的排序逻辑。商业用户决定改变业务流程,改变某些操作的顺序及一个业务组件的使用。那么您应如何将这样的业务需求精确地映射到需要更改的代码呢?如何才能知道在哪里修改?为什么需要了解更改流程所需的实现?
使用业务层,您拥有明确的空间来利用可用服务,这里流程层就扮演了这些服务的胶合剂,使它们在业务流程的范围内能够起作用。因此,当业务发生改变时,只有一个地方发生更改:流程,而不是服务。
在BPM的上下文中提到重用时,有多个级别需要考虑:
- 外部系统的低级重用,这里有许多业务流程要访问同一Web服务。
- BPM的中级重用,这里您可以在共享流程和组件模板,重用代码和流程模型的最佳实践。
- 流程的高级重用,这里您可以公开一个流程,该流程可供组织的其他部分使用。
分享到:
- 2007-09-09 14:09
- 浏览 1429
- 评论(0)
- 论坛回复 / 浏览 (0 / 3887)
- 查看更多
相关推荐
**BPM测试工具(BPM Analyzer)** BPM测试工具,如"BPM Analyzer",是专为音频处理和音乐制作领域设计的专业软件。BPM,全称Beats Per Minute,是指音乐的每分钟节拍数,是衡量音乐节奏速度的重要指标。在DJ混音、...
BPM时效分析系统BPM时效分析系统BPM时效分析系统BPM时效分析系统BPM时效分析系统BPM时效分析系统BPM时效分析系统BPM时效分析系统BPM时效分析系统BPM时效分析系统BPM时效分析系统BPM时效分析系统BPM时效分析系统BPM...
“bpm.rar_BPM传播_bpm_matlab计算bpm_wide-angle_传播BPM”这个标题暗示了文件内容与光束传播方法(BPM,Beam Propagation Method)有关,特别是关于使用MATLAB进行宽角度传播的计算。BPM是一种广泛应用于光学领域...
**BPM测试工具详解** BPM(Beats Per Minute)是指音乐中的节拍数,是衡量音乐节奏快慢的重要指标。在音乐制作、DJ混音、健身运动等领域,准确掌握BPM值至关重要。BPM测试工具就是为了帮助用户精确计算音乐的BPM而...
### BPM主要功能与基本功能详解 BPM(Business Process Management,业务流程管理)是一种系统化的方法,用于管理和优化企业中的工作流程。它旨在提高效率、减少错误、增强控制,并通过标准化和自动化流程来改善...
**BPM资料:SoTower BPM 业务流程集成平台** SoTower BPM 业务流程集成平台是一款高效、灵活且功能强大的业务流程管理工具,旨在帮助企业优化工作流程,提高运营效率。SoTower BPM 3.1 版本是该平台的最新迭代,...
**BPM Analyzer详解** BPM Analyzer是一款专门用于分析音频文件节奏的工具,其核心功能是计算音频中的"每分钟节拍数"(Beats Per Minute,简称BPM)。在音乐制作、DJ混音、健身配乐等领域,了解并精确掌握音乐的BPM...
它包含多种元素,如活动(Task)、事件(Event)、网关(Gateway)等,使得非技术人员也能理解和解读流程图。 ### SOA与BPM的关系 Service-Oriented Architecture(SOA)是一种软件架构风格,强调服务的重用和互...
Oracle BPM入门教程是针对Oracle企业级业务流程管理套件(Oracle Business Process Management,简称Oracle BPM)的入门指导,旨在帮助读者了解Oracle BPM的基本概念,并指导如何在jDeveloper开发环境中进行实践应用...
"BPM曲速测算器.zip" 是一个包含了音频处理工具的压缩包,主要功能是测定音频的节拍速率,即我们常说的BPM(Beats Per Minute)。BPM是衡量音乐节奏的重要指标,特别是在音乐创作、混音、舞蹈编排以及音视频制作等...
Epicor BPM 介绍 Epicor 中的业务流程管理(BPM)是一种强大的工具,能够在业务操作过程中实现有条件的控制、数据更新等内容。BPM 是由业务操作过程中触发,每个业务操作都有对应的 BPM 方法指令,因此可以灵活地将...
BPM(业务流程管理)是一种管理企业业务流程的方法论和工具集合,目的是确保企业内部的业务流程能够有效地运行,以达成组织目标。随着信息技术的发展,BPM不断演进,其重要性在于能够帮助企业提高效率、降低成本、...
《BPM Essentials与开源技术深度解析》 在数字化转型的时代背景下,业务流程管理(BPM)作为企业优化内部流程、提升效率的关键工具,其重要性日益凸显。本文将基于一篇专业白皮书的核心内容,深入探讨BPM的概念、...
业务流程分析(BPA)与业务流程管理(BPM)是企业优化运营的重要工具,但两者之间存在着明显的差异。BPA主要关注于理解和改进现有流程,而BPM则是一个更全面的概念,涵盖了流程的设计、执行、监控和持续优化。 业务...
BPM&ESB;技术交流.pdf BPM_Workshop_v1.3.pdf BPM架构与解决方案技术研讨会.zip bpm1.pdf bpm基础教程.rar IBM+FileNet+BPM+幻灯片.pdf jbpm开发指南4.pdf Introduction to Component Business Modeling.pdf 全球17...
鼎捷T100调用BPM接口方法 鼎捷T100调用BPM接口方法是指在鼎捷T100系统中调用Business Process Management(BPM)接口的方法,用于实现业务流程自动化和集成。下面是相关知识点: 一、鼎捷T100介绍 鼎捷T100是基于...
### Oracle BPM Studio 10.3 知识点解析 #### 一、Oracle BPM Suite Studio 10.3 概览 **Oracle Business Process Management (BPM) Suite** 是一个全面的企业级解决方案,用于设计、执行和管理业务流程。版本 ...
**BPM(Business Process Management,业务流程管理)**是一种企业级的方法,用于设计、执行、监控和优化企业的业务流程。IBM BPM是IBM公司提供的一种全面的BPM解决方案,旨在帮助企业提高效率,降低运营成本,同时...
"鼎捷·鼎新 BPM签核流程管理系统"是一款由鼎捷软件公司推出的业务流程管理(Business Process Management, BPM)解决方案。该系统专注于企业的签核流程,旨在提高工作效率,优化业务流程,实现自动化审批和管理工作...