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

下载本文档

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

文档简介

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

提交评论