用 WebSphere Integration Developer V6.1.2构建 SOA 应用程序

许多面向服务的体系结构(Service Oriented Architecture,SOA)应用程序使用适配器访问其他系统,例如带 FTP 支持的系统、提供包含待处理数据的平面文件系统,以及跨组织分发电子邮件消息的系统。IBM® WebSphere® Integration Developer 中的适配器模式是一种在应用程序中使用适配器时减少开发时间的方法。本文介绍如何使用适配器模式构建从 FTP 服务器检索文件以及将文件发送到 FTP 服务器的应用程序。这些模式将利用 IBM WebSphere Adapter for FTP。由于消息转换是通过使用适配器来读写文件的应用程序的常见功能,因此本文还将说明如何创建带业务对象映射的模块,以转换从输入文件接收的消息,并将其发送到输出文件。本文假设读者了解 SOA 应用程序和术语。



来自 IBM WebSphere Developer Technical Journal.

引言

对于创建使用适配器的服务来说,适配器模式是一种方便快捷的方法。与软件中的其他模式一样,适配器模式基于许多用户创建使用适配器的服务的方式。基于这种公共行为的适配器模式可视为某种类型的捷径,可以迅速让适用于许多(但是并非所有)用户的应用程序启动并运行起来。在 WebSphere Integration Developer 中,可以使用以下适配器模式:


表 1. WebSphere Integration Developer V6.1.2 适配器模式
适配器模式名称描述
入站 FTP 适配器模式创建从 FTP 服务器上的目录检索文件的服务。如果该文件不是 XML 格式,您可以指定数据处理程序将文件内容格式转换为业务对象,后者是 SOA 应用程序所预期的格式。如果内容包含用于处理的数据结构的多个实例,可以对文件内容进行拆分。
出站 FTP 适配器模式创建从 FTP 服务器上的目录检索文件的服务。如果该文件不是 XML 格式,您可以指定数据处理程序将文件内容格式转换为业务对象,后者是 SOA 应用程序所预期的格式。如果内容包含用于处理的数据结构的多个实例,可以对文件内容进行拆分。
入站平面文件适配器模式创建从本地文件系统上的目录检索文件的服务。与 FTP 适配器模式类似,如果您的组织需要特有的格式,可以使用数据处理程序来转换数据。如果内容包含用于处理的数据结构的多个实例,可以对文件内容进行拆分。
出站平面文件适配器模式创建在添加到本地文件系统目录的文件中存储数据的服务。如果所需数据输出格式是您的组织所特有的,可以使用数据处理程序来转换数据。
出站电子邮件适配器模式创建使用电子邮件服务器发送简单消息的服务。

何时需要使用适配器模式

适配器模式是基于对大多数用户如何使用特定适配器所进行的观察。其结果是一个只需您进行最少输入的向导,因为许多字段的值已经预先确定了(基于大多数用户已提供的值)。例如,在 FTP 适配器模式的情况下,您只需提供 FTP 服务器的主机名称、输入和输出文件的目录和格式。

如果简单和容易的适配器模式适合于大多数用户,那么它何时不适当呢?存在一些情况。有些生成的服务使用了适配器却从不使用适配器模式。这些服务需要普通的适配器向导,因为向导必须与 EIS 系统交互并在生成服务之前获取元数据。换句话说,由于不能预先确定值,所以无法创建模式。例如,与诸如 WebSphere Adapter for JDBC 等数据库交互的适配器需要首先发现数据库、表和其他数据库信息,然后才能创建服务。

另一个示例在于,当您希望在应用程序中使用除 Create 或 Append 方法之外的另一个方法时,适配器模式不适合于 FTP 适配器或平面文件适配器。当您创建不使用适配器模式的出站 FTP 服务时,将创建以下方法:Create、Append、Overwrite、Delete、Exists、List、Retrieve、ExecuteFTPScript 和 ServerToServerFileTransfer。适配器模式向导仅公开 Create 和 Append 方法。简而言之,适配器模式向导涵盖 80% 的一般适配器使用情况。然而,您的情况可能在另外的 20% 中。





回页首


应用程序概述

下面看一下我们尝试使用我们的应用程序来解决的业务问题。我们在银行总部的营销团队创建了一个新的金融服务来提供给客户。“我们需要马上向客户发布有关这个新的金融服务的信息!这能够做到吗?”营销负责人问到。IT 负责人回想起大多数客户的客户记录中都有电子邮件地址,可将其用于通过电子邮件发布该消息。她补充说,使用 IBM 的新的适配器模式,从保留在分支机构的客户记录中提取客户名称和电子邮件地址将非常容易。分支机构只需将客户记录放在 FTP 服务器上的某个目录中。

我们的应用程序将从银行分支机构的客户记录中提取电子邮件地址。分支机构将客户数据以 XML 格式放在 FTP 服务器上的某个目录中的文件中。应用程序拾取该 XML 文件,并将信息减少到仅包括客户名称和电子邮件地址。我们的应用程序将该信息输出到文件,这些文件将用于通过电子邮件通知银行的客户,告诉他们有新的金融服务可用。

下面的关系图显示了该应用程序在运行时所具有的功能。在使用 WebSphere Integration Developer 构建实际的应用程序之前,让我们简单了解一下该应用程序的技术方面。

顶部的矩形表示分支机构中具有 FTP 支持的服务器。包含分支机构中的客户记录列表的 XML 文件放在某个目录中。我们的应用程序(此时已经使用 FTP 适配器模式向导来设置完成)将使用 WebSphere Adapter for FTP 拾取该 XML 文件,并从该文件中读入客户数据。适配器定期轮询该目录,以检查是否已添加了另一个 XML 文件,并再次读入客户数据以进行处理。在运行时,这称为入站 处理,因为数据是从外部源进入 SOA 应用程序。数据流入我们的应用程序的导出 组件。导出用于访问从另一个外部系统发送的数据。

一旦读入,应用程序就可以访问该数据。业务对象映射和接口映射用于接受所有客户数据,并将数据集合修改为仅包含客户名称和电子邮件地址。然后将该信息传递给导入组件。导入 用于将数据从 SOA 应用程序发送到外部系统,在此例中是发回 FTP 服务器。该应用程序的一种替代设计是直接发送电子邮件,因为该应用程序现在已分离出客户名称和电子邮件地址。


图 1. 描述应用程序在运行时执行的功能



本文转自IBM Developerworks中国

      请点击此处查看全文

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值