借助BPM(业务流程管理)系统,我们可以将业务逻辑与应用程序分开,从而使我们能够比以前更快地创建新的应用。
听起来像BPM(业务流程管理)软件有很多好处,好处多到令人难以置信。例如,BPM可以降低应用软件的开发成本,缩短上市时间,加强法规遵从性,并优化业务流程的性能。
当然,BPM软件本身并不能改善任何事情,但是当它与侧重于业务流程的文档和流程分析相结合时,BPM将成为企业提高业务效率的利器。在BPM提供的高级开发环境中,IT采用流程驱动模型和性能评估来实现IT解决方案的开发。
在较低的层次上,业务流程管理为业务人员提供了一个与信息技术沟通需求的平台。从更高的层次来看,BPM可以帮助我们从现有的应用程序中提取功能模块,从而将业务逻辑从它所在的应用系统中分离出来,这给我们带来了前所未有的灵活性。
然而,有一个问题一直困扰着BPM应用程序,那就是BPM软件有太多的变种。似乎只有少数咨询顾问才真正知道哪种解决方案能解决他们自己的问题。
现在的BPM软件包中集成了各种工具、运行时组件和能够进行业务流程模拟的软件,这个问题逐渐变得清晰起来。在BPM软件套件中使用这些工具和组件,用户可以构建业务模型,部署和监控BPM系统,而不是从多个供应商处零碎购买,然后一个接一个地安装和部署它们。
如果使用得当,BPM有助于解决应用系统中的基本业务活动难以修改的问题,尤其是在过去的那些业务软件系统中。相反,BPM软件使IT部门能够通过修改与这些业务活动相关的流程逻辑来优化业务效率。在BPM中流程设计就像画一个流程图,必要的执行细节用注释标注。整个过程只需要很少的编码,过程逻辑非常容易修改,所以BPM可以被看作是一个灵活的应用程序开发工具。
BPM从流程建模开始。在此阶段,我们应详细列出当前流程和未来流程,并逐一确定每个流程的性能指标(这些指标将在未来的流程仿真模拟中需要)。这是一个业务驱动的过程。
BPM软件中的流程设计器是一个图形化的开发工具,它可以将流程模型与相关的活动流程、应用程序和业务规则集成在一起,并生成一个可执行的流程。经过流程设计者的优化,上述流程模型自动生成应用系统的框架,经过修改和补充,成为完整的流程方案。该解决方案与BPM包运行时所需的其他组件一起加载到BPM流程引擎中。这个流程引擎负责整个流程的路由、任务的跟踪、业务规则的执行以及与外部系统的集成。如果流程的一个实例完成了每个活动,流程引擎会生成一个事件来标记该实例。这些事件由BPM包中的性能管理组件收集。绩效管理计算一些参数来衡量业务效率。
绩效管理仪表板以图形方式显示通过OLAP钻取和分析的参考指标和上述参数。绩效管理还可以生成实时报警信息。一旦关键绩效指标偏离设定值,系统也可以自动调整流程。这是由BAM(业务流程监控)功能模块完成的,BAM通常会集成在BPM软件。实际性能数据将反馈给过程模型进行调整,从而开始新的性能优化过程。
如果您想清点BPM软件提供的功能,您可以找到许多软件:用于完成各种功能,如业务建模、模拟分析、人工工作流、应用程序集成、数据映射、业务规则、性能分析、业务活动监控(BAM)、门户等。在集成BPM软件包出现之前,这些工具是相互独立的,并且来自不同的供应商。
如今它们都属于业务流程管理范筹,通过并购、原始设备制造商或合作伙伴战略集成到业务流程管理软件包中。这一变化引发了BPM软件供应商和建模工具、BAM和集成中间件供应商之间的冲突,因为每个人都想以自己的方式解释BPM。
最大的冲突源于两个相互竞争的BPM技术架构。其中之一是基于BPEL(业务流程执行语言)标准的体系结构,它受到了媒体的最多关注。它通过在SOA环境中集成Web服务来实现所需的功能。一些大型软件供应商,如IBM、微软、甲骨文、SAP等都属于这一类。
另一个是纯粹的BPM软件供应商,如Pegasystems、Savvion等。他们的软件体系结构是从20世纪90年代的工作流系统发展而来的,因此在将人工工作流集成到过程模型中时,他们得到了更好的使用。在纯BPM软件供应商提供的产品中,SOA和BPEL的功能非常有限。它们主要用于应用程序集成,但很少用于描述像第一种类型那样的端到端过程。
他们之间的区别很明显。大型软件供应商提供的解决方案更加强调BPEL。当应用程序涉及较少的人工工作流时,也就是说,组织中的流程不需要多个角色的参与,应用程序可以通过集成Web服务来轻松实现。然而,纯BPM软件供应商提供的软件主要强调过程定制可以在没有编码的情况下实现,所以这些软件更适合特定的行业。而他们的弱点是,与大型软件供应商的产品相比,纯BPM软件更难与现有的应用系统集成。
无论是专业的BPM软件供应商还是大型软件供应商,建模工具都是一个基本组件。该工具使用一些基本元素,如活动、任务、完成每项任务所需的资源以及相关的业务规则来描述业务流程,最后使用一些业务人员易于理解的图形符号来表示它们。
建模工具在流程设计、定量性能指标和通过模拟进行性能优化方面发挥着关键作用。建模工具标记每个过程活动的相关性能参数,例如估计的执行时间、资源成本、可用性和几个后续的过程分支。建模工具中内置的模拟引擎可以分析各种场景。在分析过程中,关键绩效指标将被用作分析过程性能和确定每个参数值的基础。最后,根据这些参数调整整个流程,完成一个闭环业务流程。这意味着建模工具不仅要简单地描述活动过程,还要根据整个组织的资源、过程数据和过程性能参数进行建模。
多年来,只有Alphaflow、Casewise、Telelogic和Proforma等提供的业务流程建模工具。它们提供了这种能力,并且通常是企业架构工具的一部分。然而,许多软件提供商提供的BPM软件,如IBM、Savvion等。已经可以实现这部分功能了。接下来,建模工具供应商将使用BPMN(业务流程建模符号)——一个由对象管理集团(OMG)提出的标准化图形符号,来改善BPM软件之间的交互。
流程建模工具的输出是一组业务描述,用于指导IT人员实现所需的业务流程。建模工具将此提交给BPM流程引擎,该引擎将启动一个自动流程,以确保流程的自动执行。借助模型的标准符号(如BPMN)和模型交互格式(如CIF),模型可以被输入到BPM设计工具中,从而为过程实现创建一个基本框架。尽管这个框架仍然缺少实际执行所需的许多细节,但是它可以用作定义业务流程的起点。
虽然采用了标准的BPM设计语言,如BPEL,但是每个供应商的流程设计工具只能在他们自己的运行环境中使用。到目前为止,还不能保证一个流程设计结果可以在任何选择的流程引擎上运行,除非充分考虑到这个业务流程设计从一开始就将在另一个流程引擎上执行,包括人工工作、业务规则、数据映射等。如今,大多数BPM软件提供了统一的设计环境,但也隐藏了工作流、应用集成、业务规则、事务管理等集中带来的复杂性。在可执行环境中。因此,在企业的IT架构中,这些流程组件可以被视为独立的模块,这带来了整个企业的流程可以采用统一的数据模型和统一的状态管理的好处。
像建模一样,流程设计主要是图形化的。设计工具提供了一个流程设计编辑器,设计人员可以从中选择、配置和安排过程步骤。除非需要对过程进行特殊定制,因此一般的流程设计几乎不需要编程。图形流程设计背后是BPM软件专有的流程执行语言。
在基于工作流架构的BPM软件中,每个供应商都采用自己的特殊流程执行语言,但都符合工作流管理协会制定的XPDL(XML流程定义语言)。流程活动通常是预定义和实现的类型,如网络服务、用户任务、集成活动以及与此流程活动相关的资源,如人工活动或集成适配器的角色。根据活动的类型,将出现不同的配置对话框。
不同于基于工作流架构的业务流程管理软件,综合业务流程管理软件采用BPEL语言标准。BPEL只有一种类型的活动,即调用,包括调用Web服务、调用人工任务、调用集成适配器等。所有这些都必须用服务来实现,并且采用WSDL标准来描述接口。呼叫是通过服务的网址进行的,而不是基于角色的。为了适应过程中的人工活动,BPEL不调用人工活动本身,而是调用任务管理服务,然后由任务管理服务处理细节。
这两种BPM软件的另一个区别是基于工作流的BPM软件支持子流程的概念。子流程是一个可重用的流程片段,它与调用它的父流程具有相同的上下文数据和状态。然而,在BPEL没有类似的概念。在基于BPEL的BPM软件中,子流程是另一个BPEL流程。数据共享和状态同步也必须在过程逻辑中明确定义,由于真实世界中客观存在子过程。去年夏天,IBM和SAP扩展了BPEL标准以克服这一限制。这个扩展是可选的,但是整个规范到目前为止还没有完成。然而,尽管架构和程序不同,基于BPEL的BPM软件的核心功能是相同的。
流程设计完成后,它将被部署到流程引擎。一旦流程开始执行,引擎将根据预定的活动顺序和外部应用程序的集成来执行。如果需要人工参与,引擎会将任务发送给相关人员。引擎还将管理整个过程的执行时间和事故。在应用服务器供应商提供的BPM软件中,如IBM、甲骨文、SAP等。流程引擎只有在自己的应用服务器和相关中间件上运行时才能充分发挥流程引擎的性能,而那些纯BPM软件供应商的BPM软件可以在任何应用服务器平台上运行。为了管理业务流程的性能,流程引擎还可以生成流程操作的实时数据和状态报告,通常采用事件的形式。BPM中的绩效管理组件将收集这些事件,并根据这些事件提供的信息更新建模阶段定义的KPI和其他绩效指标。通常,这些指标将集中在OLAP Cube,显示在图表中或由用户通过管理驾驶舱中的查询获得。基于OLAP的绩效管理提供历史信息、近实时信息报告和钻取分析报告,因为可以根据需要收集和更新最新数据。有些业务流程管理软件,如IBM、Intalio、Alphaflow、Savvion等公司的业务流程管理产品,支持实时业务流程管理,能够实时更新指定的关键绩效指标,并能自动报警和调整。
从运行过程中计算的参数可用于优化模型中的参数以获得更好的参数值,从而使过程修改更有针对性。
选择最合适的BPM软件无疑是一项具有挑战性的任务。尽管每个供应商都承诺在其手册和网站中提供几乎相同的功能,但事实上,每个供应商的产品都有其最佳应用领域、工艺类型和最合适的应用要求。
例如,对于专注于金融交易的BPM软件,“直通”流程涉及非常复杂的应用程序集成,几乎不涉及手动活动,因此对于需要多人协作、以人为本且很少涉及集成的流程来说,这不是最佳选择。然而,那些需要从高速队列中手动选择的以文档为中心的流程或生产工作流流程也有它们自己的特殊需求,并且不是所有的BPM软件都能满足它们。
尽管BPM仍然非常复杂,但是今天BPM软件为用户提供了真正的投资回报。此外,新一代集成BPM软件正在放弃传统BPM的复杂性,为IT和业务人员提供一个全新的协作平台。最重要的是,BPM给用户带来了真正的投资回报。
在更高的层次上,BPM解决方案的开发过程与其他应用大致相同。然而,BPM的几个特色,如图形建模、自动应用程序生成和与旧应用系统的集成,可以大大加快软件开发并缩短软件上市时间。
AlphaFlow ㏇ BPM流程管理平台
电话:400-888-6861
https://www.alphaflow.cn/