转至 New Gallery,这次选择 Projects、ESB Project 项:

将项目命名为 NewEmployeeEventService。
当 ESB 图打开后,单击左上角的小图标以创建一个系统:

在 ESB 服务器中注册项目后,就可以在 ESB 控制台中使用您创建的系统或服务组了。服务是系统的一部分,或者是系统内的组的一部分。系统和组都提供了一种组织服务的方法 — 不同于 BPEL 流程中的作用域。系统的一个重要方面是,可以从路由服务并行调用不同系统中的目标服务,同时按顺序调用同一系统中的目标服务。
将新系统命名为 NewEmployeeEventSystem。


在开始使用 ESB 中的事件处理服务之前,需要根据 New Employee 事件指定从人力资源部门接收的确切消息类型。为此,创建一个 XML 模式文档 (XSD),以描述为该事件接收的 XML 消息的结构。
转至 New Gallery,选择节点 General、XML 并单击可用项列表中的 XML Schema。然后,为新的 XML 模式文档输入名称 — 在本例中为 NewEmployeeEventMessage.xsd。
注意,该模式有一个相对简单的消息结构,其复杂类型比较简单(带有五个简单类型元素),描述了与该业务事件相关的核心信息。

现在,返回 ESB 选项卡,开始创建服务。
将 Routing Service 组件从 Component Palette 拖放至 ESB Service。为 Routing Service 输入名称,使用 Browse 按钮和 Type Chooser 选择 NewEmployeeEventMessage 模式定义中的 NewEmployeeEvent 模式元素。

以下是 Type Chooser 的屏幕截图,可用于选择描述该 Routing Service 输入的 XSD 元素。

在创建即发即弃(无回调异步)的服务时,无须指定回复消息或失败。

可允许外部进程通过 Web 服务接口直接调用这个 NewEmployeeEventRS 路由服务。如果使用其他通道发布该事件 — 例如,通过在数据库表中输入新员工或利用 JMS 将新的 Employee 文件置于 FTP 服务器上 — 您可以将入站适配器服务添加到 ESB 服务,该服务会转发获得的 NewEmployeeEventRS 消息。此时,假设人力资源部门将使用 Web 服务接口。
现在,来看一下出站适配器。请记住,该事件涉及三方:安全部门、财务部门以及 Junior Managers Club。
- 安全部门具有一个要调用的 Web 服务终端 — 实际上,该终端只是将在部门内运行的 BPEL 流程的前端,其中包括负责创建物理证件的人工流程。
- 财务部门希望您直接在数据库表中插入一条新记录,以后可从此处读取该记录。
- Junior Managers Club 明确表示,希望通过写入文件系统特定位置的 CSV 文件接收新 Junior Manager 的消息。它提供了一个示例文件,用于说明该文件的格式。
|