咨询热线

020-38289070

管理+IT

管理+ITPEG咨询融合管理+IT,通过一系列整合服务,帮助企业建立最本源的正向创新机制。

使用BAM武装你的企业:统一事件和流程

你是否经常这样想:“要是我以前就知道现在的情况该多好!”你是否想象过,假如能够为员工配备更多的知识,那么销售、物流或客户服务能够为顾客或供应商提供更好的服务。正如图1所示,人们总是在事实发生之后,才认识到重要的业务事件、场景和信息。通常这些信息也是在事件(例如顾客抱怨)发生很长时间后,才被记录下来。使用这些信息的,通常只有高级管理人员和那些希望改进工作的执行人员。

问题在于,当你及时了解到某项交互的发生,其相关的背景和重要性却无法立即获知,或者说它的重要性只跟其他事件的发生有关。例如:

成功地向某个顾客推销其他产品的总销售成本可能是不同的,取决于原有订单是否顺利交货。你想要增加收入,但必须根据原有订单的执行情况来选择推销何种其他产品。

对于某个使用自己账户进行交易的经纪人来说,他的客户在之前或之后的短时间内执行类似或相关交易的影响是不一样的。

BAM(Business Activity Monitoring)提供了一种强调某些正在发生的重要事件或场景的方法,它还能够向员工传递该信息。信息可以通过简单的警报进行传递,输入到已有的应用软件中;也可以通过“仪表板”进行更新。这使得处于事件中心的员工能够了解到更多的背景,并根据事件的重要性做出正确的响应。

“在必要时做正确的事”,这是区分公司好坏的一个标准。要做到这一点,你必须具备两项关键能力:

  • 知道那些事需要做决策
  • 能够就这些事制定和执行决策

第一项能力要求企业有发现重要事件或场景的能力。员工可能并不总是能够很容易的发现事件或场景,他们有时需要额外的信息。第二项能力要求企业向员工提供决策所需的工具和信息(或者触发某个自动化流程)。

BAM提供了实现这两种能力的基础设施。人们通常会把BAM看作是进行实时监控的那一块“仪表板”,但实际上BAM不仅仅是这些,它正同BPM、业务分析、SOAs、EDAs(Event-Driven Architectures)一起构成新技术的基础。BAM提供的主要功能是,将事件、服务、流程同规则、通知、人连接起来。

1.快速响应

下一个步骤就是要确定采取何种行动。假如你能够将某个事件传递给某个人或某个流程,那么它们必须对该事件采取行动。而要采取行动,它们必须获得必要的信息以做出决策,必须获得采取行动的权限,还必须获得所需的工具和资源。要实现这种“武装”,就需要一个能够方便地整合应用、服务、结构化工作流的框架。警报和通知的简单发送是一种类型的响应,但这还不够。

要保证人员的有效响应,必须首先搞清楚有哪些可选方案。由于触发事件可能不是定期发生的,假如没有支持的信息和工具的话,员工可能不知道该采取何种行动。通常,应该向员工提供结构化的工作流,将所有可选方案包含进去,同时要自动传递事件,通过一个完整的流程来得出结论。假如这是一个呼叫中心扩容问题,那么将涉及到许多人员、服务、支持性流程。及时直接地预约所有相关方,将使行动更加迅速、更加平稳地开展,所花费的成本也会降低。相反,如果稍有拖延,就会造成时间、资源、人员的浪费。

因此,一个支持上述所有能力的平台不仅仅要提供监控、可视化、通知,还要提供其他的功能。幸运的是,面向服务的计算和事件驱动的计算能够实现这种平台。

2.“桥梁”技术——BAM

上文在讨论事件、服务、流程、工作流、通知、人员时,已经引入了面向服务计算、Web services、事件驱动计算的基本概念,它们是这整个解决方案的使能器。

面向服务计算是使用“请求-响应”范例进行定义的。单个的服务通过调用或请求的方式来完成某项工作。在这种模式中,请求的发送者向服务发送请求,他对该服务十分了解。

事件驱动计算是通过“生产者-消费者”范例来定义的,生产者和消费者不是一一配对的,生产者并不知道谁是消费者。在这种模式中,服务消费/推动事件,事件触发某些行动。

这两种计算模式是互补的,它们结合起来提供一种灵活高效的方法,处理各种情况和响应。

BAM是一种重要的“桥梁”技术,因为它拥有事件获取和处理能力,并将这种能力同业务分析和逻辑结合起来,然后调用可视化、通知或服务/流程来响应某种特定场景。BAM同时提供必要的识别和响应能力,更好地为运营资源服务。它一只脚跨在事件驱动计算中,借以获取和处理事件,另一只脚跨在面向服务计算中,借以监控服务和流程,根据需要进行调用。

3.BAM正在成长

BAM起源于应用集成和消息技术,深入事务流以提供可视化和监控,是对现有的商务智能和分析方案的一种补充。但是BAM也逐渐开始提供更加普遍的独特功能,它不再仅仅是获取和处理事务,而是同时获取和处理任何发生的事件。例如RFID的使用越来越广泛,它能够提供应用事务之外的实时事件获取和处理。同样,BAM技术提供了后台处理和高层业务标准及规则之间的一座桥梁。

一个BAM解决方案的主要功能有:

事件收集:无缝地收集EAI、BPM、Web Services和流程产生的事件;还可以收集来自消息、数据库、系统、传感器等来源的事件。

事件处理:通过相关性、组合、过滤,从原始事件中分解为重要事件。

分析:实时处理数据和事件,使用已有的商务智能数据和工具来解释信息。

访问:将信息传递给目标人员、应用、业务流程,不管它们是在何时何地登记需要这种信息的。

响应初始化:自动触发事件/信息所需的行动;允许对意外情况进行业务优化和管理。

下面将对BAM的事件处理能力和事件分解能力做进一步分析。这个领域通常被称为复杂事件处理(Complex Event Processing,CEP)。

4.为何要重视业务事件?

重视事件,而不仅仅是数据,这是这类解决方案和其他的报表、分析等事后信息处理解决方案的不同之处。虽然支持性数据对于确定事件背景总是必要的,但事件和数据之间的主要区别在于,事件代表了某种变化。这种变化说明某事刚刚发生,而立即获知这种状态变化是事件的一个重要属性。该事件的可视性能够识别出某种触发性的业务情况,该情况将触发其他行动,并提供必要的信息。

我们这里所说的事件同原始的系统和应用事件是不同的。高层的事件是用以触发业务响应或通知人员的。高层事件是通过过滤、相关、合并低层的原始事件而得到的。

但是高效处理事件并进行合并的难处在于,一个事件属于某种模式并不意味着其他事件也属于这种模式。在实际情况下,你可能很难完成合并。因此在向现有服务和流程添加代码,想要识别出这些复杂的事件情景会导致复杂的预处理逻辑。它还会导致系统资源使用效率的下降,因为需要创建新线程,服务或流程需要等待着看复杂的事件模式是否完成。

因此,将事件处理细分为任务是有必要的。这可以将所有的when和what-if逻辑在任务的运行时平台中进行显式的建模和管理。根据这种方法,我们可以让服务和流程把重点放在做好工作上,而不是在考虑是否要进行工作上。在这种情景下,特定的事件处理器消费原始的事件,输出定义好的高层事件,然后这些事件被传递给相关的人员、服务、流程。

5.将所有东西连接起来

要从BAM中获得最大的投资回报,那就必须在事件、信息处理和流程之间建立重要连接。重视采用架构(例如面向服务计算和事件驱动计算)会使这些连接的建立比较容易。建立连接时需要遵循以下步骤:

确定重要的业务交互接口,考虑如何利用它们促进收入的增加或提高生产率。

考虑除警报和监控应用之外的信息传递手段,包括自动化的流程和工作流应用,使问题发现和问题解决之间的分隔最小。

使用现代应用平台组合事件、流程和服务,提供集成的解决方案。