bpm行业趋势报告_第1页
bpm行业趋势报告_第2页
bpm行业趋势报告_第3页
bpm行业趋势报告_第4页
bpm行业趋势报告_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

BPM行业趋势报告:Oracle BPM套件11g先睹Bruce Silver Associates- BPM独立专家2010年6月BPMS Watch 无障碍的BPM随着BPM 市场的成熟,现在是时候宣布专门的“适合目的(fit-for-purpose) ”的BPM 套件时代正式来临了。不久前BPM购买者还不得不在以人员为中心的一套流程解决方案与以集成为中心的另一套流程解决方案之间做出选择。一些解决方案关注于业务增强,另一些解决方案则对开发人员更有吸引力。一些BPMS软件必须构建于SOA之上,于此同时,另一些则完全忽略了SOA。时光飞逝,今天的BPM购买者已不想在企业内引入更多的BPMS孤岛。他们需要一个单一的BPMS平台实现无障碍的BPM,可以同时适合以人员为中心的流程和以集成为中心的流程,提供业务增强与丰富开发工具,基于模型,但又基于强大的SOA基础;并且他们还希望基于开放标准实现;此外,还需要采用主流技术。使得这些购买者的期望成为现实的关键是BPMN 2.0,来自OMG组织的最新流程定义语言规范。对于流程分析人员和架构师而言,BPMN如同流程图形符号一样熟悉,但是,BPMN 2.0在熟悉的图形形状和符号之下,额外提供了标准执行流程设计语言。我们热切地等待第一款基于BPMN 2.0的BPM套件,现在已经出现了: Oracle BPM 套件11g。本报告将带您先睹Oracle BPM套件11g,并且看到它确实在实现无障碍BPM的目标上已经前行了很长的路。Oracle BPM套件是Oracle融合中间件的一部分,将业务驱动的设计与强大的人员为中心的BPM合成在一起,并具有来自Oracle公司的所有IT基础架构功能。版本11g在一个功能强大的统一架构中(图1)组合了以前的两种互为替换的BPM解决道路:一种基于BPMN,另一种则基于BPEL,因此版本11g看上去就像是BPMS市场的游戏改变者。图1.Oracle BPM 11g架构BPMN 2.0 从开始就设置了很高的横杆在过去数年中,BPMN 1.x几乎已经成为业务流程建模的标准。看上去类似传统泳道图的简单图形化符号形式,对业务用户很有吸引力。但是BPMN除了这些特点,还有一些对于可执行流程设计至关重要的特性,诸如:l 所有形状和符号的精确语义,都定义在一个清楚的元模型(metamodel)中;l 支持广泛的事件(某些事情发生的信号)和事件处理的图形化建模,对于异常情况的建模至关重要;l 以消息和信号事件方式支持流程间通讯,将流程的执行与客户、服务提供者和其他内部流程之间的通讯链接起来。这一切都在流程图中清晰地表示出来。许多BPMS充分利用了BPMN 1.x,在可执行流程设计中鼓励业务与IT的协同。在流程引擎上执行需要的技术细节可以在图形中每个形状下定义,但是在过去,每个BPMS都是以自己私有方式实现的。在实施周期中,业务人员可以与流程设计者协同,但是设计细节对于每一个BPMS都是私有的。然而在BPMN 2.0中,这种限制没有了。执行需要的技术细节成为了标准的一部分,从而使得BPMN 2.0成为有效的新流程执行语言。它结合了标准流程运行时的优势,同时具有标准化建模符号的业务增强固有特性。Oracle BPM 11g是第一个基于可执行BPMN 2.0的BPMS。图形化流程模型的直接执行被称为WYSIWYE: what you see is what you execute(所见即所执行)。换句话说,您在图纸上看到的流程图,事实上就是运行在流程引擎中的流程。而目前的一些其他工具则不同,它们必须将BPMN模型映射为BPEL来执行。 WYSIWYE意味着没有循环问题,或对于BPMN模型业务不友好的限制。采用WYSIWYE方式,流程模型对于开发者而言,除了业务需求之外,具有更多的意义。您看到的事实上就是您运行的。一些特定的以人员为中心的BPMS也暂时具有WYSIWYE,但是采用了私有的运行时,并且没有一个强大的SOA基础。Oracle BPM 11g基于世界级的SOA平台,采用最新BPM标准,实现了WYSIWYE。Oracle不仅仅是第一个推出了BPMN 2.0的支持,并且在未来相当长的时间里,为BPM设置了相当高的竞争门槛。今天,其他BPMS例行公事一样地忽略了BPMN最强大的两个特征:事件处理和流程间通讯。如果需要支持的话,通常会以开发者编写脚本的方式,隐藏在图形后面,而不是在BPMN中对流程分析员显示出来。因此,当有需要进行异常处理时,许多BPMN 1.x的解决方法事实上不是WYSIWYE的。然而,Oracle BPM 11g则使得异常处理和流程间通讯,如同它们实际执行一样,在BPMN图形中变得可见。Oracle支持所有三种最重要的BPMN事件类型:消息Message(点对点流程间通讯),错误Error(从子流程到父流程的异常传播),和定时器Timer(deadline触发的行为),再加上信号Signal(常规目的的发布订阅集成)。当在活动(Activity)的边界上画图时,这些事件表示如果活动运行时事件触发器发生了,则流程会初始化一个边界事件之外的异常流。(这个活动可以是简单任务或完整的子流程。)如果活动完成而没有事件触发,那么异常流就被忽略。边界事件可以用来实现如下场景,如描述客户在订单过程中发生了什么,或者一个活动花了太长时间,又或者一个服务返回了一个异常(图2)。图2.Oracle支持所有重要的异常处理的BPMN事件类型Oracle BPM套件11g既支持中断式边界事件(触发器会中止原来活动),也支持非中断式边界事件(异常流与原来活动并行运行)。Oracle也支持一种新的BPMN构造,称为事件子流程(event subprocess),类似于边界事件,但是事件处理者运行在原来活动上下文之中。在每一个图形形状之后,BPMN 2.0定义了自动化执行需要的技术细节,使得BPMN真正成为类似BPEL一样的流程执行语言。Oracle BPM套件11g也继续支持BPEL,并且事实上,Oracle BPM套件11g可以同时地运行BPEL和BPMN 2.0流程。 BPEL作为一个标准运行时具有的许多优势也适用于BPMN 2.0,诸如移植到第三方引擎,最终降低成本和业务风险。BPEL擅长于组合自动的服务,BPMN 2.0则在几个方面更适合BPM。它不限制流程模型在严格的块结构(block structure)中,这些块结构会让业务人员很迷惑。此外,执行是直接构建在图形化符号之上的,而这些图形化符号已经被业务分析员和架构师广泛采用。未来,我们会看到:在SOA层,更多采用BPEL来组合自动化服务,而在BPM层,更多采用BPMN 2.0实现端到端流程建模。 Oracle BPM套件11g解决方案包括了同时运行的BPMN和BPEL模块,并且通过消息彼此通讯。业务增强的实现很久以来,以人员为中心的纯BPM供应商通过BPMN强调业务增强,但是他们缺乏一个强大的SOA基础。现在Oracle为基于SOA的BPM带来了业务增强实现。业务增强的关键是前面已经讨论过的WYSIWYE。分析员使用的同一个流程模型也被用来执行。业务人员创建的模型不仅仅是一个需求文档,也是模型实现的一部分。该特性大大鼓励了业务与IT在实施周期内以紧密协同的方式实现迭代开发。当前许多基于SOA的BPM套件采用BPMN进行业务层面的流程建模,这些模型通常被映射为不同的流程语言来执行,如BPEL。那不是WYSIWYE,在流程实施中限制了业务IT的协同。但是,由于Oracle BPM套件11g在建模和执行两个层面支持BPMN,这就意味着您不必放弃WYSIWYE,就可以将BPM构建在强大的SOA基础上。Oracle已经为BPM套件11g装载了必要的特性,以支持项目生命周期内的业务IT协同。业务用户在浏览器界面的流程编写器(Process Composer)中创建BPMN流程模型,利用预先组装的角色、服务和类似流程组件的目录,作为实施设计的起点。流程编写器中的文档字段可以获取使用场景的细节描述。流程分析员使用流程编写器和基于JDeveloper的BPM Studio来进一步细化流程模型,添加实施细节,定义业务指示器(Business Indicator)来保留BAM数据(BAM, Business Activity Monitor),并且模拟流程以优化业务性能。流程开发者使用BPM Studio的零编码工具创建更技术化的组件,如自动化服务、适配器和调解流。所有的设计组件均通过Oracle元数据存储(Oracle Metadata Store,MDS)实现可重用。在BPM Studio中,每个BPM项目都包括了一个业务目录(Business catalog),一个共享流程相关对象(如服务、业务对象、事件和异常)的可重用容器。当BPM项目被发布为一个BPM项目模板后,业务目录中的对象就可以被流程分析员使用流程编写器进行再组装。最终结果就是一个既支持从上到下(Topdown),也支持从下到上(bottomup)实施风格的BPM平台,敏捷的业务IT协同贯穿其间(图3)。图3.Oracle BPM套件11g中的业务-IT协同BPM StudioOracle BPM Studio设计环境运行在Oracle JDeveloper IDE中。除了BPMN 2.0流程编辑器(图4)之外,BPM Studio提供了编辑器,编辑流程数据、组织角色、人工任务(包括指派与用户界面)、业务规则、业务活动监视、以及完整BPM解决方案中的其他所有组件。利用JDeveloper的角色设置,业务流程开发者和流程分析员会在BPM Studio中看到不同的编辑器。图4.BPM Studio中基于BPMN 2.0的流程编辑器BPM Studio也支持流程模型的模拟分析,基于估计的参数得到期待的周期事件、吞吐量与成本。Oracle模拟提供了大多数竞争工具中缺乏的高级特性,诸如支持业务日历和跨多个流程的项目级模拟(图5)。图5.BPM Studio中的项目级模拟流程编写器除了BPM Studio之外,Oracle还通过第二个称为流程编写器(图6)的工具支持业务增强。流程编写器运行在浏览器中,而不是JDeveloper中,将访问扩展到了更广泛的业务用户。与BPM Studio一样,流程编写器也提供了BPMN编辑功能,但是没有定义实施组件的能力,诸如人工任务、服务、或业务对象。 编写器可以用来实现从上到下(Topdown)的方式,在编写器中创建流程蓝图(Process blueprint),本质上是流程模型注释,需要使用BPM Studio的开发者完成这些流程注释;或者实现从下到上(bottomup)的方式,使用业务目录中预先定义并呈现为项目模板(project templates)的组件,重新组合可执行流程。正是因为流程编写器发展支持了广泛范围的流程设计对象,它将成为业务用户与流程分析员手中建模和设计以人员为中心流程的完整工具。图6.流程编写器通过Web浏览器提供了基于BPMN 2.0的流程设计每个项目模板包含了选定的组件,表示了人工任务、服务、业务对象以及更多。使用模板,业务分析员可以在一个新的或修改的流程中重用它们,甚至无需接触JDeveloper就可以将它们直接部署在运行环境中。因为项目模板源自BPM项目,因此它们包含了定制化的约束,以提高流程管控,阻止选定特征的非授权修改。此外,流程编写器允许业务分析员设计或修改活动指南和业务规则,我们将稍后在本报告中进一步讨论。表单设计对业务分析员而言,BPM Studio允许通过一次点击,从指定任务数据和输出值(比如批准或拒绝),自动生成基本的任务表单。此外,工具还提供了向导,简化了客户化任务表单和屏幕流(Screenflow)的开发。BPM任务表单是基于Oracle应用开发框架的(Application Development Framework,ADF),使用向导以Java Server Page XML文件(.jspx)方式配置的。 ADF是基于行业标准Java Server Face(JSF)的声明式框架。它包含了一系列丰富的交互组件,零编码WYSIWYG设计器,和BPM特性向导,用来自动生成任务UI表单。业务用户可以拖拽表单设计组件,配置它们绑定到BPM 数据和动作。ADF可以将任何后台数据源抽象为数据控制(Data control),将其与BPM数据混搭(mashup),创建出更丰富的表单。 ADF也包含了丰富的数据可视化组件,包括一系列图表和图形,Gantt图表、map查看器、层级查看器等,都可以容易地使用,创建出非常引人注目的BPM表单。定制化任务表单支持丰富的标签化界面,包括了流程数据、图表和图形、以及链接到流程模型的动作按钮(图7)。图7.无需编码的向导配置式定制化BPM任务表单业务规则业务规则使得组织可以将业务决定逻辑封装在可重用的组件中,这些组件在使用它们的流程之外定义。大多数BPMS强制流程设计者在BPMS设计环境中定义的非常简单的规则和需要与BPMS集成的第三方业务规则管理套件BRMS之间选择。Oracle则不同,Oracle在BPMS工具中捆绑集成了一个全功能的BRMS, Oracle业务规则(Oracle Business Rules),流程设计者可以从BPM Studio或流程编写器中访问。Oracle业务规则编辑器既支持IF/THEN规则,也支持决定表(Decision Table)。决定表(图8)中每个条件行(Condition)对规则集(Ruleset)测试数据输入的允许值,一个规则集称为一个事实(Fact)。每列代表了一个特定的铲斗集(bucketset),一个枚举的事实值或范围。一列内所有条件测试的组合指定了一个动作(action),典型的动作是设置数据输出值。完整的决定表定义了一个规则集,部署为一个业务规则组件,可以在BPMN流程中作为业务规则任务被调用。编辑器提供了快速工具解决决定表中的缺口和冲突。业务规则可以用来简化网关上复杂的路由逻辑,细节的任务指派和工作流,以及动态服务的选择。强大的业务易用的规则设计器,加上与BPMN流程模型的直接集成,这也是Oracle BPM 11g超出其他BPMS解决方案的另一个原因。图8.业务规则编辑器中的决定表设计流程分析流程分析(图9)通过BPM工作区记分牌或Oracle BAM(套件中已捆绑集成Oracle BAM)提供了流程性能监视的能力。活动和流程的开箱即用的度量(metrics)包括活动实例计数和完成平均时间,按照流程、活动和参与者进行切分。除了这些预先定义的度量外,流程设计者还可以使用业务指示器(business indicators,一种针对流程分析测量(measure)和维度(dimension)的特殊类型的流程变量)创建定制化度量。Oracle BPM提供了一系列预定义的立方(cube),也就是一些数据库结构,使得你可以根据各种维度来实时切分汇聚的测量。业务分析员在流程中指定业务指示器和采样点,来配置流程分析。此外,他们也可以在流程中定义测量标志(measurement mark)点,在这些点上,一个或多个指定的业务指示器被采样,并写入流程分析数据库中。测量标志也可被用来定义流程开始和结束的间隔,进行时间或成本分析。在运行时,流程分析数据可以各种用户配置的方式(如图表和量表)展现在BPM工作区或业务空间中。流程分析也支持流程立方(cube),实现与Oracle Business Intelligence的集成,从而允许用户与BPM外的业务数据一起,进行多维度历史分析。图9.流程模型中定义的业务指示器和测量标志驱动着BPM工作区或流程空间中的性能记分牌强大的以人员为中心的BPM过去,构建在强大SOA基础之上的BPM套件,在以人员为中心的BPM方面功能较弱。然而,Oracle BPM 11g提供了高级的人工任务支持,已经达到甚至超过了小的纯人工为中心的工具。流程空间除了标准的BPM工作区(BPM Workspace, 常规的BPM工作列表环境)之外,Oracle BPM 11g还提供了一个全新的、用户可配置的、基于Web 2.0的协同环境,称为流程空间(Process Spaces)。流程空间是Oracle WebCenter Spaces的BPM实现,是一个构建在Oracle WebCenter门户框架和ADF之上的基于角色的运行时环境。除了访问工作流任务和性能记分牌之外,流程空间还可以支持业务用户的常规日常任务,诸如安排会议、电子邮件、以及设计和运行时的团队协做。流程空间是Oracle称为社会化BPM(Social BPM)的基础。社会化BPM指一个适合目的(fit-for-purpose)的协作环境,充分利用了Web 2.0和企业2.0的技术,将流程任务和记分牌放在了社会化背景中,包括了团队日程、论坛、共享文档和通知。图10.构建在Oracle WebCenter之上的流程空间是一个用户可配置的Web 2.0环境,混搭了BPM,团队协作和其他组件Oracle WebCenter Spaces(图10)中的每个标签代表了不同的应用、服务或组空间。一个组空间是一些内容和服务的合集,用来帮助用户在一个特定任务上的协作。用户可以访问预先定义好的空间,与此同时,用户也可以通过选择和安排组件自己定义空间。这些组件来自目录化的组件,包括文档、论坛、小门户程序portlet、电子邮件、搜索、RSS源、外部Web 2.0小部件widget、当然也包括诸如任务列表这样的BPM组件。流程空间支持团队协作,非机构化流程(即流程参与人需动态确定的流程),和围绕特定项目、任务或问题的社会网络。活动指南对于许多以人工为中心的流程,在一个端到端流程上下文中,常规的工作列表和BPMN图形并不是为最终用户展现流程任务最直观的方式。为了解决这个问题,Oracle创造了指南化业务流程(Guided business processes)的概念。 在这里,流程设计者在BPMN模型中定义里程碑(milestone)和一个被称为活动指南(Activity Guide)的选择性最终用户界面(图11),用来通过里程碑跟踪流程轨迹。活动指南可在BPM Studio或流程编写器中定义。图11.员工报到流程的活动指南人工工作流Oracle为BPMN 2.0流程使用了与BPEL一样的人工任务组件。BPMN模型中的用户任务没有直接执行任务表单和动作,而是在独立的人工工作流服务(Human Workflow Service)中实例化一个人工任务,并等待任务完成。这个任务在人工任务编辑器中定义,也就是Oracle SOA套件中BPEL流程使用的同一个编辑器。在运行时,最终用户通过人工工作流服务,与工作列表和任务表单交互。当用户完成一个任务时,人工工作流服务返回完成状态(称为任务输出)给流程,流程在收到返回后继续向下执行。使得这一切与其他BPM套件不同的就是审批链和与任务相关的类似人工工作流,这些工作流被建模为人工任务组件的一部分,而不是流程的一部分。只有当整个任务,包括任务相关的审批链完成了,人工工作流服务才会将输出返回给流程。Oracle将这些具有审批链的复杂人工任务称为交互式活动(interactive activities)。这里有几种不同类型,代表了不同类型的审批链。交互式活动通过将审批链和可重用任务组件封装,简化了流程逻辑。当然,设计者可以使用老式的方式建模人工工作流,即在BPMN流程中使用简单任务和建模审批链,但是,在许多流程中,使用交互式活动会更加方便。即席流程(Ad-hoc process)也可以应用在人工工作流中。指派的任务执行者可以在运行时重新指派或委托任务,新的审批者可以在运行时被插入到审批链中(图12)。此外,与业务规则的紧密集成提供了动态工作流,不仅仅在业务流程中做决定,也基于规则提升、提名、委托和人工任务负载均衡。图12.即席工作流中运行时插入额外审批者支持BPM和SOA的单一基础统一的运行时如果你想要一个BPMS,具有业务增强的实现和强大的人工任务支持,那么你很可能不得不放弃强大的SOA基础加集成BPM的方案。但是Oracle BPM 11g则不是这样。Oracle BPM套件架构(图13)是构建在世界级SOA基础之上的,具有统一的包含了BPMN 2.0和BPEL合成的运行时,人工任务管理,和业务规则等特征。Oracle SOA套件的可扩展网格基础支持系统和人工工作流的非常高的交易量和成千上万的并发用户。集成层提供了一个共用的JCA连接基础、Oracle适配器、Oracle服务总线、调解流、和基于策略的安全与服务质量。你也可以得到UDDI、身份服务、B2B服务、事件基础、和其他融合中间件的特征,而这些特征在任何纯粹的以人工为中心的BPMS供应商那里都遗漏了。BPMN-SOA连接与其他BPMS不同,Oracle使得流程模型中BPMN形状和它们的SOA组件实现之间的连接清晰可见并且可配置。BPMN用户任务调用人工任务组件;BPMN业务规则任务调用业务规则组件;BPMN服务任务调用同步服务合成,包括BPEL流程;BPMN发送/接收任务和消息事件调用异步合成,包括其他BPMN流程,和它们的回调。BPMN信号事件利用融合事件交付网络(Fusion Event Delivery Network)的功能,实现基于业务事件的松耦合发布订阅集成。BPMN错误事件则引用BPM Studio业务目录中定义的异常。图13.统一的运行时架构Oracle没有强迫用户在BPEL和BPMN 2.0之间做出选择。 BPM 11g对两个规范都提供了流程引擎,而且构建在一个公共共享服务上。BPEL将继续在定义自动化合成服务方面扮演主要角色,而BPMN 业务流程将调用这些合成服务。统一的IDEJDeveloper中的BPM Studio是一个BPM、SOA和ADF Web开发的公共IDE。它包含了定义BPMN流程、BPEL流程、合成服务、人工任务、业务规则、数据类型和用户界面的所有编辑器。BPM Studio为开发人员和业务分析员提供了不同的模式,为不同人员呈现适合其角色的编辑器。BPM项目中使用的所有组件集中在业务目录(business catalog)中,按照模块(Module)组织起来。通过将一个项目保存为模板(Template),流程分析员可以通过浏览器界面的流程编写器重新组装这些可执行的业务流程组件。统一的服务组件架构BPM和SOA合成都通过服务组件架构(Service Component Architecture,SCA)标准描述。代表BPM项目中使用的流程、服务、人工任务、业务规则、适配器之间的连接,在SCA合成编辑器(图14)中建模为连线(Wire)。安全和服务质量属性可以使用JDeveloper或企业管理器在运行时定义的策略(Policy)指定给连线。调用项目组件的服务显

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论