通过ESB构建事件驱动体系结构(一)
本文基于Oracle ESB的简单示例了解如何配置ESB以“发布”企业事件……
通过人力资源部门(为此目的调用 ESB Web 服务)发布(“即发即弃”)业务事件 NewEmployee。ESB 服务使用该事件并执行三个也执行一些转换的路由规则:
- 调用 SendNewEmployeeFileToJuniorManagerClub 目标服务并将 CSV 文件写入目标目录
- 调用 InformFinanceDepartmentOfNewEmployee 目标服务并将新员工记录写入财务数据库
- 调用 NotifySecurityWebService 以传递包含新员工数据的消息。这会启动 BPEL 工作流流程,该过程在为新员工创建安全胸牌时需要手动活动。
部署该服务时,为发布新员工事件而对 NewEmployee ESB Web 服务的任何调用都会触发两个或三个(针对 40 岁以下的新管理层员工)目标服务。该体系结构的关键是将事件发布方(人力资源部门)与事件使用方完全分离,这样添加新用户不会对该部门有任何影响。新员工事件中的更改基本上可以在 Router Service 中得到解决,无需影响事件使用方。
要开发针对该事件的 ESB 服务,您需要完成以下步骤:
- 下载并安装 Oracle SOA 套件 10.1.3.1 或更高版本。
- 下载并安装 Oracle JDeveloper 10.1.3.1 或更高版本。
- 启动 SOA 套件。
- 运行 JDeveloper。
- 执行初始设置。
- 初始设置
您首先需要做一些准备,然后才能开始实现 EDA。具体来说,您需要使用 DDL 脚本在数据库中创建一个表,将文件复制到您文件系统上可供 JDeveloper 访问的目录,并将一个很小的简单 BPEL 项目部署到您的 SOA 套件实例。
下面是设置步骤:
将示例代码下载解压缩到一个临时目录。
使用 employees_table.sql 脚本为所需的数据库模式创建表 EMPLOYEES。稍后您会用到该表,在该表上插入新记录。
将文件 NewEmployeeEvent_Template.csv 复制到可从 JDeveloper 访问的目录。您将在文件适配器向导中使用该文件,为应该由将在本教程中开发的 ESB 服务编写的文件建模。
将 SecurityProcessingNewEmployee.zip 文件解压缩到一个工作目录。该文件中包含一个小的 JDeveloper 10.1.3.1 项目和一个 BPEL 流程;SecurityProcessingNewEmployee。这是一个简单的流程,该流程调用 BPEL 工作流服务,让安全部门接受为新员工创建新胸牌的任务。
将 SecurityProcessingNewEmployee 项目加载到 JDeveloper 10.1.3.1 中。将该项目部署到 SOA 套件实例中的 BPEL PM。我们需要让该 BPEL 流程在您于 ESB 中开发 EDA 服务时可用。
部署 BPEL 流程,方法是右键单击 SecurityProcessingNewEmployee 并选择 Deploy 选项,然后选择选项 BPEL Process Deployer:
- 本文关键词:


