您的位置:首页 > 其它

通过ESB构建事件驱动体系结构(二)

2007-03-12 16:01 477 查看
  现在,来看一下出站适配器。请记住,该事件涉及三方:安全部门、财务部门以及 Junior Managers Club。

  安全部门具有一个要调用的 Web 服务终端 — 实际上,该终端只是将在部门内运行的 BPEL 流程的前端,其中包括负责创建物理证件的人工流程。

  财务部门希望您直接在数据库表中插入一条新记录,以后可从此处读取该记录。

  Junior Managers Club 明确表示,希望通过写入文件系统特定位置的 CSV 文件接收新 Junior Manager 的消息。它提供了一个示例文件,用于说明该文件的格式。



  为此,我们需要向 ESB 服务添加出站服务。

  在 ESB 制图器中,将 File Adapter 拖放至图中。这会弹出一个窗口,您可以通过该窗口定义 File Adapter 服务的细节,以便将 CSV 文件写入文件系统。



  输入服务名称。然后,单击 WSDL File 域旁边的 Define Adapter Service 图标。

  接下来,将进入 File Adapter Configuration Wizard。在第一个页面上,指定服务名称。(基本上,是确认之前在 Create File Adapter Service 弹出窗口中指定的内容。)

  单击 Next 后,将转到 Operation 页面。在这里,您可以指定希望服务编写文件。



  Step 3 将询问是否为服务将要编写的文件指定输出目录和命名惯例。目前,指定硬编码目录要简单些 — 但是,这显然不是创建可移植服务的最佳方法。可使用几个动态元素指定文件名(但一次只能指定一个),例如消息或序列的日期或时间。



  在 Step 4 中,指定文件的输出格式:信息的结构如何?因为要编写 CSV 文件,所以单击 Define Schema for native format 按钮。



  这将显示 Native Format Builder,您可在其中创建 XSD,以便 File Adapter 用于从其中的 XML 数据创建 CSV 文件。使用示例 CSV 文件,Junior Manager Club 发送指令时游刃有余。



  接受默认值,并单击 Next。

  在第 6 页上,选中复选框“Use the first record as the field names”。同样,这将使 XSD 的可读性更强 — 它不会影响由该服务编写的文件。



  在下一个页面上,汇总了由向导创建以供 File Adapter 使用的 XSD 文件的信息。您可以检查这些信息。然后单击 Next 接受。



  这将显示 Native Format Builder 向导的最后一页。单击 Finish。

  返回 File Adapter Configuration Wizard,单击 Next。



  然后单击 Finish。您将返回 Create File Adapter Service 弹出窗口。再次单击 Finish。

  NewEmployeeEventService 的 ESB 图已经通过 SendNewEmployeeFileToJuniorManagersClub 服务得到了扩展。



  双击 NewEmployeesRS 图标指定路由规则,以将 NewEmployeeEvent 消息传递至该目标服务。



  单击绿色加号创建一个新的路由规则。Browse Target Service 对话框将打开。您可以在其中选择路由规则将向其传递消息的服务。



  在 SendNewEmployeeFileToJuniorManagersClub 上选择 write 操作,单击 OK。



  添加分为两部分的过滤器表达式 — 一部分表明新雇员的年龄应低于 40 岁,另一部分要求角色应为管理类。以下是必须输入的完整表达式:

  /inp1:newEmployeeEvent/inp1:age < 40 and contains('MANAGER,PRESIDENT,
  VICE PRESIDENT,TECHNOLOGY MANAGER,CFO,CHIEF,SUPERVISOR',/inp1:newEmployeeEvent/inp1:role)


  现在,需要指定如何转换从人力资源部门接收的消息,以将其传递至目标服务。



  单击映射图标。选择对话框中的 Create New Mapper File 选项。



  单击 OK。进入 Mapper 工具。您需要在其中连接两个 XSD 文档,因此定义 XSLT 以将源 XSD 转换为目标。



  首先,将 newEmployeeEvent 元素拖放至 NewJuniorManager 的顶部,以创建一个简单、明显的映射。



  取消选中复选框 Match Elements Considering their Ancestor Names。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: