2003-10-11
引言:过去所有的技术所能够提供的自动化程度都是有限的,因为它们无法把异构的系统连接起来或是执行以人为中心的合作活动。这些限制使得许多手工操作和难使用的工作区成为必需。BPM被认为能够在系统之间和手工操作点整个范围内实现自动化和监控,实现端到端的业务流程自动化和业务流程分析。 业务流程管理(BPM,Business Process Management)提供了很多可能,它能够:
BPM代表了一种重要的技术转变,它使得企业应用之间不再孤立,能够在全公司范围内实现自动化,企业软件更加模块化标准化,从而使公司变得更加敏捷更加灵活。 BPM能够用来使任何流程实现自动化。最常用的就是实现跨系统流程的自动化,比如涉及到多个系统的顾客供货流程。BPM最突出的,就是能够实现自动和手工混合流程的自动化。 举个例子,信用处理和购买确认涉及到与多个系统的交互,还包括一些手工处理。BPM能够把这个流程中的所有系统连接起来,实现所有步骤(包括手工的和系统实现的)的自动化。多个流程可以作为独立的单元进行存取,也可以联合起来形成一个更高层次的流程。 本文主要关注于BPM作为一种架构,或称为BPMA(Business Process Management Architecture)的情况。本文主要的目的是探讨BPMA对软件和商业的影响。BPMA是BPM软件包及其不断产生的性能集的代称。 业务流程管理:下一代的软件_1: 1. 为什么需要BPMA? 软件为公司内大部分业务流程提供了接口和执行能力。在目前瞬息万变、竞争激烈的市场中,企业必须变得敏捷灵活才能生存下来。而企业软件系统缺乏灵活性,这正成为企业竞争成功的障碍。 这种状况通常是企业经过20到30年的发展而形成的。公司内存在着各种各样的操作系统、应用软件、硬件、接口、软件平台以及行业软件包。这些遗留技术的大杂烩——又叫做功能“烟囱”——使得公司的IT系统变得十分脆弱,难以维护或加强。 要解决以上问题,我们需要一种新的开发应用软件的方法,它必须支持变化、连接、较短的开发周期以及企业间协作流程的自动化。并且这种方法不需要企业在实施前几个月或几年就做出设计决策。 我们不能因为原来的企业软件无法适应变化——不管这种变化来自于业务方向的调整还是解决问题新思路的发现——而丧失商业机会。我们需要一种更好、更快、更便宜的方法来开发灵活的适应性强的软件。 软件需要一种新的改进的制造流程,以缩短开发周期,提高质量。现在的许多焦点技术(例如Web services、XML以及一系列新的图形模型工具)正使软件变得模块化、可连接。随着这些技术的发展,软件将会是从一些现有的模块中组装起来,而不是每次都要从头开始写。 一种新的开发方法是必需的,因为要达到灵活性不是靠创建一个新系统就能解决的,这需要把所有的应用联合起来形成一个网络来解决。 即使是在现在这么不景气的IT环境下,BPMA仍能紧紧抓住IT执行官的目光,因为它能够解决三个重要问题,这三个问题几乎能在每个IT部门前五位问题列表上找到:
不仅如此,BPMA还能够以增量方式在已有的系统上进行实施,因此就不会有把系统推倒重来那样的高成本、长时间和高风险。 业务流程管理:下一代的软件_1: 2.BPMA的推动力 BPMA的市场推动力包括:
(1) BPMA与Web services的关系 由于BPMA与Web services是一种协作关系,因此它能够利用Web services已经建立好的市场声誉。BPMA被认为是一种能够从业务领域和应用领域出发提供全盘的商业解决方案的方法论。而具有平台独立性的Web services能够为达成BPMA的目标提供一个技术平台。但是与抽象的Web services比起来,BPMA更能够引起用户的共鸣。 Web services还提供了标准化的组件,使得企业能够把现有的网络用作集成基础设施;这也使BPMA能够更方便的对需要整合的IT资产进行存取。 简言之,Web services为BPMA的兴旺发达提供了标准化的土壤。 (2) 通用的语言 有两种通用的流程建模语言,它们属于Web services的扩展。正是如此,业内对于它们是否应该归入Web services的范围存在着争论。在这种情况下,这两种语言——业务流程执行语言(Business Process Execution Language,BPEL)和业务流程建模语言(Business Process Modeling Language,BPML)被独立起来了,因为它们是Web services专门为BPMA设计的语言。 这两种语言都能够用一种通用标准的方式把企业和应用内的流程串联起来。有的人还认为它们能够用一种不可预见的非确定性的方式来描述业务流程,从而提供一种高度的灵活性。具体的讲,他们认为这两种语言能够描述以人为中心的活动、自动化的机器业务、流程中变化,能够比传统的计算机语言更有效的实现并行活动。 这两种语言是模拟和连接业务流程的方法,是实现BPMA的关键。 (3) XML和工具软件 对于BPMA来说,还有两个因素和Web services一样重要:
半结构化的数据是指像手工信息、文本处理、电子表文件这样有一定的格式,但不能被应用直接处理的数据。非结构化数据只有转换成半结构化数据,才能进行有效处理。采用半结构化数据主要原因是:内容管理系统与BPMA越来越紧密的结合;基于XML的用户界面;XML作为标准文件格式的使用。 这儿有使用半结构化数据和工具软件进行集成能够带来好处的三个例子:
存取非结构化的数据、使用工具软件、连接不同的软件层次,这些能力使得BPMA能够实现所有系统和手工操作的自动化。 (4) 开放而清晰的流程 一个软件是由多个组件或功能构成的。任何改进组件或功能创建、组件或功能连接的方法都是对整个软件的改进。BPMA提供了一种比以往任何软件开发方法都更强大的方法。过去的开发出来的是植入式的、不清晰的、紧耦合的流程,而BPMA的方法能够开发除开放的、清晰的、松散耦合的流程。 所谓开放的、清晰的、松散耦合的流程是指:这些流程是独立的,有着与具体实施无关的通用接口,既可以单个流程进行存取,也可以多个流程联合成更大的流程单元。其他的流程、业务应用和工具软件都能对它们进行存取。它们能够不受系统架构的限制或约束,解决业务问题。这些流程与相关的文档和业务绑定。 XML和Web services标准为实现流程独立性提供了坚实的基础:
上述的这些标准同下面“有条理地管理资产”部分将提到的一些标准一起,实现了流程独立性。 BPMA被认为能够提供很多优势;但是BPMA的成功与流程自身的改进是有内在联系的。如果流程是清晰的、独立的、与相关数据绑定的,那么建模、分析、模拟、管理流程(BPMA的主要性能)的工具自然而然就能建立起来。 在关系型数据库出现之前,数据都是和应用连在一起的,这成了一个发展瓶颈。现在流程是和应用连在一起的,这也成了一种瓶颈。事实上,流程独立性和数据独立性是相似的。数据独立性的发展导致了关系型数据库的产生,对软件开发造成了根本性的变革,现在流程独立性也正经历着相同的过程。不过流程独立性更进步的一个地方在于,它是一种高层次的单元,它的抽象性可能会引起语义的发展,这些数据独立性都是无法做到的。 所有的关键发展趋势对BPMA来说都很重要,但松散耦合的清晰的流程在多大程度上取代目前植入式的紧耦合的流程是最关键的驱动因素。 (5)面向大众市场的BPMA开发工具 事实上越来越多的公司向软件行业各个主要领域的供应商提出了BPMA要求。不同领域的供应商由于各自的能力、兴趣不同,它们提供的产品也千差万别。但是它们都支持对业务流程的图形化建模。随着这种大范围竞争的进行,一种大众市场的开发工具事实上正在形成,而许多BPMA特性将成为大部分开发商都拥有的共同特点。 这些开发工具最终将实现系统和手工操作的端到端业务流程的大规模生产。 (6)目前的经济形势 目前的经济形势迫使企业更充分的利用它们的现有系统。IT预算不允许公司引进新的系统。由于BPMA能够提高运营效率,而且不需要对现有系统进行大变动,是一种添加型的技术,所以它正吸引着越来越多的目光。 总的来说,BPMA的基础是开放性的流程,这些流程能够在图形界面中组合成更大的流程。这些更大的流程内的数据流通过一种开放性的公开语言来展现。由于流程的独立性和可存取性,以及XML创建半结构化数据的能力,这些流程能够存取工具软件,从而能享受e-mail和办公软件的强大功能和灵活性。这构成了BPMA和端到端业务流程自动化的基础。 (未完待续) 业务流程管理:下一代的软件(二)
|
信息化软件应用目录 OA 办公自动化系统
CRM 客户关系管理系统
PM 项目管理系统
SCM 供应链管理系统
CC 协同商务系统
BPM 业务流程管理
BI 商务智能
CMS 内容管理系统
KM/KBS 知识管理系统
电子商务系统
HRM 人力资源管理系统
ERP 企业资源计划
EAM 企业资产管理系统
|