文章
面向服务的架构
作者:Matt Miller 和 Mark Simpson
本文是企业解决方案简明手册的一部分
2009 年 8 月发布
下载
Oracle SOA Suite
Oracle Business Intelligence
业务智能是企业 DNA 的一部分。它们使企业能够向客户提供服务,采用一致的方式执行业务模型。随着企业的变化,其业务流程必须进行相应的更改。此流程级别的灵活性很重要 — 能够快速适应市场情况、法规要求或业务模型的变化。面向服务的体系结构 (SOA) 形成了流程灵活性的基础。
SOA 能够从底层应用程序系统提取业务流程,并结合这些内部和外部资产的功能以提供更灵活的流程。分离业务规则并使这些规则成为要使用的业务流程的可用服务,这是在 SOA 中实现灵活性的另一个关键方法。
学会以最有效的方式利用该灵活性以及管理结果业务更改对企业提出了另一个挑战。此业务更改由战略决策、发展和改进业务模型以及应对内部和外部不可预见因素所需的战术驱动。通过业务智能 (BI) 工具包提供的业务洞察显示了包含相关上下文的战略和战术业务度量,有助于针对如何更好地利用底层 SOA 基础架构提供的灵活性进行决策。
SOA 支持的业务流程允许企业直接执行业务模型并更好地支持业务更改;BI 提供了可使决策了解企业中策略和战术更改的度量。将 SOA 和 BI 相结合使您可以对这些度量、不断变化的流程、服务以及规则进行操作以实现既定的改进目标。SOA 和 BI 是不断发展的企业的天然合作伙伴。
BI 长久以来一直作为一种补充方法与 SOA 相关联。但通常只在双方的边界才会关注这种关联 — 使用 SOA 数据服务和事件为 BI 报告模式提供信息,或者利用 BI 工具报告业务服务的使用情况和效力。可以更充分地利用这两个方法的互补特性,将 BI 和 SOA 相结合以提供既灵活又高度洞察的业务解决方案,从而带来更大裨益。
本文重点介绍将这两种方法相结合以支持业务灵活性并满足不断发展的业务前景需求的三种主要模式。这些模式将构成案例研究中介绍的用例的基础。
| ||
| 该体系结构模式确定业务度量的阈值并调用相应的服务,这些服务将执行一个业务流程以利用正阈值违规的服务,从而减少由于负阈值违规带来的损失。该体系结构模式通过与 SOA 服务相结合,将提供信息的 BI 度量转换为可操作的 BI 度量。 |
| ||
| 第二种体系结构模式允许在业务流程或决策服务中使用 BI 度量,也可以将 BI 度量作为某个流程实例执行的一部分直接发送给利益相关方。该体系结构模式将更具针对性的流程(仅关注流经它的实体数据)转变为上下文感知的流程(能够自动响应组织状况的变化)。 |
| ||
| 该体系结构模式允许业务规则操作从 BI 度量收集的洞察,从而使事实基于当前企业和市场背景。 |
为了使技术支持这些体系结构模式,您的 BI 工具必须支持操作并且必须能够向外部使用者提供 BI 服务。您的 SOA 工具包必须能够使用这些 BI 服务,将 BI 数据和信息板嵌入到任何人员工作流元素中,并且能够在规则引擎或决策服务中将这些 BI 服务作为事实进行访问。
图 4:BI 和 SOA 体系结构模式的技术要求
构建可以响应即时问题和/或机遇的流程时,如果要包括基于更广泛业务上下文的决策,则必须遵守几个重要原则:
Motability Operations 的车辆再营销计划出色诠释了灵活流程与业务洞察相结合的价值。
Motability Operations 是一个运行 Motability Car Scheme 的非盈利上市公司。Motability Operations 是英国最大的车队运营商,而且还是旧汽车贸易的最大提供商,它一直面临着寻求创新、经济有效的使车辆上市销售方法的挑战,因为这些车辆已经达到了其租用期限。
由于车辆达到了其租用期限,因此有必要将其推向最适合的销售渠道,可以是直销网站、经纪人网络、拍卖网站或消费者活动。在竞争激烈且饱和的市场上,营销渠道和定价模型必须反映客户需求并且必须随着市场变化而改变。Motability Operations 必须洞察这些渠道的车辆性能以及当前的市场情况,才能避免任何市场饱和,同时确保跨各个渠道汽车的联合和定价反映购买行为。
此业务方案通过使用 BI 和 SOA 来跨各个渠道管理车型和价格,从而进行汽车市场细分。该方案使用 BI 信息板提供的洞察触发警报,如果市场上的某个特定车型变得饱和,则这些警报将自动更改业务流程以修正问题。通过扩展此模型,进一步改进了业务流程以询问包含有关销售渠道当前业绩信息的 BI 对象,从而更好地通知决策和流。这个额外的市场信息提供了对渠道繁忙程度、渠道上某个特定车型的当前数量或者渠道上销售业绩信息的洞察。
图 5 演示了由于其中一个渠道的数量低于预先设置的阈值而在信息板上触发的洞察警报。该警报指导用户采取将修正该问题的操作,在本案例中为规则更改,即将销售状况略差的汽车分配给该渠道以实现数量的增加。
图 5:触发业务服务的信息板警报,它将更改分配规则以便将某个渠道恢复到正常容量。
需要授权才能对业务策略进行此类更改。生成一个工作流任务,用于通知用户已根据渠道洞察建议更改规则。为了使用户做出最明智的决策,将相关的 BI 度量作为此任务的一部分提供。这些度量为用户提供了有关渠道上的销售业绩、对比市场平均水平的当前定价以及消费者行为提供了广泛的上下文。然后,用户可以使用警报信息以及这些附加的度量来确定是否接受对规则和流程路由的自动更改。此更改周期将业务洞察整合到规则更改流程中,将修正给定渠道上数量低的问题,而不会影响相关的销售和利润度量。
图 6:可以通过信息板提供的关键上下文 BI 来协助完成授权更改车辆分配规则的任务,使用户进行更明智的审批
下一步是自动执行从业务洞察到业务更改的循环。这可以通过在不同的业务流程路径和业务规则集之间自动进行切换来实现,取决于当前市场情况。如果业务洞察表明这是销售车辆的淡季并且库存级别较高,则一个事件可能会触发自动化的业务更改以切换到低销售价格的业务流程以及支持规则集。
将汽车分配给各个渠道的业务流程可以利用 BI 服务中的数据来确定当前市场情况以及渠道业绩是否适合该流程正在发送的车辆的特定实例。这个额外级别的洞察可能会导致将汽车发送到此特定渠道的业务流程终止。在我们的业务方案中,我们会看到一个示例,在拍卖渠道上有太多特定型号的汽车,使该渠道变得饱和并且影响销量。业务流程将询问 BI 度量,以便在联合车辆之前确定当前的渠道库存情况以及销售业绩。然后,将确定为此时不适合该渠道的所有车辆重新分配给最相关的渠道或进行排队,直到市场情况改变为止。
添加业务规则以根据收集的洞察确定适合的渠道可以实现自动重新分配,从而确保将汽车分配给最有可能产生最高价格且销售速度最快的渠道。
| ||
图 7 显示了调用 BI 服务以收集当前市场业绩的 BPEL 流程。该流程将确定车辆适合的渠道;可通过渠道的当前情况进一步丰富此适宜性。基于市场洞察使用业务规则能够在发送汽车时考虑渠道情况。 |
| ||
图 8 显示了每个渠道上要销售的汽车的信息板视图。通过 BI 服务将该信息以渠道洞察的形式提供给 BPEL。数据表明特定型号 (Vauxhall Astra) 的汽车数量较大,从而导致销售业绩低迷。 |
| ||
图 9 显示了如何禁止将任何新的 Astras 分配给此渠道。因此,车辆沿着 BPEL 流程的另一个路径向下流动。可以实施进一步的重新分配流程,当渠道洞察表明已经恢复车辆类型的正常级别时调用该流程。然后,使用 BPEL 和业务规则重新发送这些车辆。 |
此处所述的业务方案的解决方案体系结构基于 Oracle SOA 套件和 Oracle BI 企业版 (OBIEE),包含以下组件:
图 10:洞察驱动的车辆再营销的解决方案体系结构
为了说明此体系结构,下面我们演示提供业务方案所需的解决方案组件,介绍各个组件和所有相关的技术实施元素之间的交互。下面白色的数字与图 10 中的白色数字相对应。
| 1. | 业务方案从信息板中的一个指导性警报开始。此警报通知用户必须采取操作来更改分配规则,以便恢复低于正常容量的渠道。 超过阈值时,BI 信息板中生成“Channel Over Capacity”iBot(一个基于用户指定条件的警报)。此 iBot 使用一个 BI Delivers 操作调用渠道分配规则更改 BPEL 流程。 |
图 11:BI 信息板触发一个业务流程 |
| 2. | 作为警报驱动的将更多车辆发送到特定渠道的规则更改的一部分,已经在解决方案中构建了人工授权级别。调用的用来处理渠道分配规则更改的 BPEL 流将收集有关当前渠道业绩的更多信息,确定对这些规则的最适合的修改,然后通过人员任务列表工作区向分析人员发出一个授权规则更改的任务。 该任务将包含与规则更改有关的信息,并且还将向分析人员显示提供某一位置上所需的所有信息的上下文信息板。这样便无需通过业务应用程序、流程管理引擎以及 BI 工具中的多个屏幕或查询搜索信息。 |
图 12:在业务流程中通过 BI 信息板进行人工交互 |
| 3. | 为了允许业务流程访问将允许当前渠道数量直接影响流程的 BI 度量,BPEL 使用 Oracle ESB 访问 BI Web 服务,以调解请求并解除 BPEL 流程与 BI Web 服务调用的耦合。此解除耦合确保了 BPEL 中的业务流程不受任何对 BI 对象结构的更改的影响。 渠道分配 BPEL 流将利用“当前车辆饱和”Web 服务提供来自渠道汇总 BI 对象的信息,该对象在确定是否应该向某个渠道联合更多特定型号的车辆之前显示该渠道的当前销售业绩。 |
图 13:Web 服务访问业务流程中的 BI 洞察 |
| 4. | 为了完全自动化以及关闭解决方案循环,可以通过使用程序化规则 API 修改业务规则的结构、参数以及边界条件以连续更改规则。这样便使解决方案按照业务洞察发展。 连续更改规则方法的另一个解决方案是在直接映射到 Web 服务提供的 BI 对象的业务规则定义中构建 Java 规则事实(执行某个规则时声明的数据对象)。因此这些规则将基于事实,如“lowChannelUtilization”,它将提交确定渠道是否为 BI 对象所使用的数据集合。 |
图 14:为获得富有洞察力且明智的自动化决策而引入的业务规则 |
本文介绍了 BI 和 SOA 的结合如何允许 Motability Operations 致力于应对在适当的地点适当的时间适当的渠道上销售各个车辆的挑战。通过以下各项实现了该目标:
此解决方案的体系结构能够响应市场变化,并且能够确保对车辆营销地点做出的决策不仅仅基于车辆详细信息,而且还基于从渠道业绩收集的洞察。这样便提供了更广泛的市场上下文,可以据此做出车辆发送的决策,而且还可进一步实现期望的业务运营方式。
当考虑其他因素(如各个渠道的汽车销售成本或运输成本)并将其构建在解决方案中时,将生成一个洞察驱动的综合分配流程,该流程可以为营销车辆实施优化和节省成本的业务策略。
此处所述的案例研究展示了将 SOA 和来自 BI 的洞察结合起来的功能。还展示了如何通过将调用服务和流程的操作极大地改进 BI 信息板。此类解决方案中包含了很多已被证明有助于建立解决方案架构的业务和实施模式。
如果流程需要灵活性,则将 SOA、流程自动化、业务智能以及业务规则结合在一起提供解决方案。对于希望充分利用他/她的流程并且支持任何即将出现的业务变化的业务架构师来说,这是一个非常吸引人的经历。
作者非常感谢 Neela Chaudhari 在准备本文阶段提供的帮助。
| Matt Miller 是 Motability Operations 业务分析和测试的负责人。他还负责提供本文中详细介绍的车辆再营销技术项目。在他的工作生涯中,Matt 曾在多家大型媒体公司(包括 IPC Media、Associated Newspapers 和 EMI Music)中担任各种技术角色。 | |
| Mark Simpson |