WBI Toolset
WBI提供了丰富的工具集,简化适配器和数据对象的开发,其中包括
System Manager
提供友好的图形开发界面,可以进行有效地安装和运行时管理。它可以与多个ICS服务器连接,启动、停止Collaboration,Adapter以及ICS本身。特殊的业务流程可以通过配置ICS,按照特定的计划来启动、停止或暂停。在Collaboration和Process 的执行过程中,System Manager同样提供了监控和跟踪流程运行状态的功能。如图3所示。

Business Object Designer
利用图形界面来创建数据对象;利用ODA工具来自动发现和创建数据对象;编辑数据对象的定义。如图4所示。

Connector Configurator
配置适配器的属性,例如:适配器的名称,适配器的连接信息,日志设置,支持的数据对象的名称等。配置文件以cfg为后缀,在适配器运行时,适配器从中可以得到关于自身的配置信息。如图5所示。

Visual Test Connector(VTC)
在一些测试环境中,配置和运行某个实际的Adapter可能会比较复杂,使用VTC模拟仿真Adapter的行为,即可测试相关的集成部件。在多个Adapter的集成仿真场景中较为常用。如图6所示。

Log Viewer
对 Adapter 产生的 log 和 trace 文件中的 message 分类和过滤显示。如图7所示。

Example:WBI Adapter for JDBC
我们知道,当前 WebSphere Adapter for JDBC 受到广泛的应用,同样,它的前世 WBI Adapter for JDBC 也一直沿用到现在。
JDBC Adapter提供了Integration Broker和数据库系统应用的双向连接,及Request Processing和Event Notification。如图8所示。
Request Processing
Integration Broker向JDBC Adapter发送请求,在数据库中创建、更改、删除数据或者获取数据。主要步骤如下:
1)Integration Broker向Adapter Framework发送Request BO及Verb(Create/Update/Delete/Retrieve);
2)Adapter Framework将BO发送给相应的Adapter BO Handler;
3)BO Handler完成与应用的交互后,返回结果状态或者Response BO给Adapter Framework,Adapter Framework将执行结果返回到Integration Broker。
Event Notification
数据库系统中数据发生的任何改变都会生成相应事件,JDBC Adapter通过主动监控事件存储,发现事件后从数据存储中查询并得到相应客户数据,将其发送到特定Integration Broker。JDBC Adapter的事件发现机制中使用到了一个event table,一个archive table,一些stored procedure和database trigger。由于事件处理可能失败,事件记录在event table直到事件存入archive table。主要步骤如下:
1)应用程序在数据库表中插入/修改/删除了一条记录,该事件被写入event table;
2)Adapter监测event table,发现有事件写入后获取相应的数据,并将数据装换成BO和相应Verb;
3)Adapter将BO和Verb通过Adapter Framework发给Integration Broker。

WBI Adapter(前世)和JCA Adapter(今生)的简单对比
WBI Adapter | JCA Adapter |
Adapter Framework | Adapter Foundation Classes |
Adapter Development Kit | WebSpere Adapter Toolkit |
BO designer, System manager… | WID, RAD |
Object Discovery Agent | Enterprise Metadata Discovery |
No open Spec | JCA1.5, EMD Spec |
Standalone | Run in Server |
Self provides Log and Trace | Log/Trace - Server |
Self provides Security | Security (JAAS) - Configurable |
Self provides Exception | Exception Handling - WAS |