【IT168 专稿】
序
IBM WebSphere Adapter从呱呱坠地起,就以其功能完善、简便易用、丰富多样的特点,在业务整合方案中扮演着重要的角色。
饮水思源,让我们踏着IBM WebSphere Adapter发展的历史足迹,一起去追寻它的前世和今生,去触摸其一脉传承的历史印记,去感受其经久不息的心跳。
WebSphere Adapter的发展主要包括两个阶段,即早期的WebSphere Business Integration Adapter和正在成长的WebSphere Adapter。本系列将分篇介绍两个阶段的IBM WebSphere Adapter产品架构、产品内容和应用场景。首先,让我们一起回顾IBM WebSphere Adapter的前世,进入WebSphere Business Integration Adapter的世界。
前世篇——WebSphere Business Integration Adapter
WebSphere Business Integration概述
WebSphere Business Integration(WBI)是支持企业使用基于SOA的解决方案来定义、创建、合并、统一和简化业务流程的产品系列。它是基于IBM On Demand Business的战略推出的解决方案,从功能上分为五部分:建模,整合,连接,监控和管理,如图1所示。
建模-WBI的建模功能为用户提供一组图形界面工具,使得用户能将连接人员和各类应用程序的流程在计算机中以图形的方式表达出来,可以方便地修改和重用。创建的模型植入WBI的整合功能组件,简便快速地实现业务整合。它包括的产品有WebSphere Business Integration Modeler(以前被称为IBM Holosofx)和WebSphere Business Integration Server(以前被称为IBM WebSphere Business Integration Server)。
整合-WBI的整合功能将人员,策略和各类应用软件系统整合起来,它是企业应用整合(EAI)的扩展,它不仅能实现各类应用系统的互联,达到资源共享,同时还能在各个系统之间定义业务流程以及为使用这些系统的人员定义工作流程,使得各部门,各系统协同工作。它包括的产品有WebSphere Business Integration Server(以前被称为IBM WebSphere Business Integration Server),WebSphere Business Integration Collaborations(以前被称为IBM CrossWorlds Collaborations),WebSphere Business Integration Adapters(以前被称为IBM CrossWorlds Connectors),WebSphere MQ,WebSphere MQ Event Broker,WebSphere MQ Everyplace,WebSphere MQ Integrator Broker和DB2 Information Integrator。
连接-WBI的连接功能可以实现跨企业的应用互联,使公司内部的业务流程与公司商业伙伴的应用交互,实现更为有效的B2B的商业模式。它包括的产品有WebSphere Business Connection,WebSphere Business Integration for Financial Networks和WebSphere Data Interchange。
监控-WBI的监控功能可以跟踪运行于企业内部或企业与商业伙伴之间的业务流程,使用户及时了解业务的进展情况。它包括的产品有WebSphere Business Integration Monitor和Tivoli Monitoring for Business Integration。
管理-WBI的管理功能利用WBI监控功能提供的信息,提供公司业务的分析数据和一些报警信息,是企业领导决策的参考。它包括的产品有WebSphere Business Integration Monitor(以前被称为IBM Holosofx),WebSphere Business Integration Modeler(以前被称为IBM Holosofx),Tivoli Access Manager for Business Integration,Lotus Domino和WebSphere MQ Workflow。
WBI Adapter架构
WBI提供了许多成熟易用的适配器。这些适配器主要分为两大类:
1)Application Adapter
能够连接到某种特定EIS并且提供利用EIS中的数据和服务的能力,如WBI Adapter for SAP,Siebel,I2,PeopleSoft等。
2)Technology Adapter
提供通过某种技术、标准对特定数据的访问连接,如WBI Adapter for JDBC,Jtext,Web Services等。
适配器运行时环境主要包括2个组成部分,如图2所示。
适配器框架(Adapter Framework)-所有类型的适配器拥有共同的适配器框架。适配器框架提供的服务包括:一方面,适配器与Integration Broker之间双向的Business Object(数据对象,简称BO)收发;另一方面,负责适配器的启动,管理以及与Integration Broker的交互。
在图2中,Adapter Framework与Integration Broker通信,提供Transport interface和Gereric services。Transport interface取决于Integration Broker,ICS可以使用IDL,JMS或者MQ这三种传输方式;WMQI,WAS均使用JMS传输方式。Generic services提供了开发application-specific component(即不同类型的Adapter)的Java或者C++的接口。
与应用相关的部件(Application-specific component)-直接与用户的具体应用系统交互,负责提取和更新应用系统中的数据。对于源端系统而言,通过事件发现机制(event notification mechanism)来捕获源应用系统中的数据;对于目标系统而言,接收来自Integration Broker的数据处理请求,在目标应用系统中进行相应的数据操作。
适配器对业务对象的处理包括2个方向,即Request Processing和Event Notification。
Request processing-Request processing由Integration Broker发给Adapter Framework; Adapter Framework接到Integration Broker的请求,再将请求对象发给Adapter;由Adapter根据BO的verb,Metadata,ASI信息决定如何处理请求。当操作完成后,Adapter将从应用系统中返回的结果通过Adapter Framework返回给Integration Broker。
Event notification-Event notification由应用系统发起,Adapter发现事件后从数据存储中查询并得到相应客户数据,将其通过Adapter Framework发送到特定Integration Broker。
WBI Adapter与Integration Broker
WBI Adapter是IBM Websphere Business Integration产品家族中的重要一员,正是通过这些丰富多样、功能完善、简便易用的适配器使得IBM的业务整合解决方案具有强大的连接性。
在IBM业务整合解决方案产品包中,有三种常用Integration Broker, 即WMQI,WebSphere Interchange Server(简称ICS)和WebSphere Application Server (WAS)。WBI Adapter支持这三种Broker,作为它们与外围应用连接的桥梁。
WBI Adapter与WMQI
当WBI Adapter以WMQI为应用整合中心时,Adapter通过MQ的消息队列与WMQI通讯。一方面,Adapter创建数据对象,将其封装在MQ的消息体中,利用MQ的API将消息发往WMQI代理;另一方面,WMQI代理将消息放入特定的消息队列,然后由Adapter从队列中读取消息。
WBI Adapter与ICS
WebSphere InterChange Server是WBI整合功能组件中的一员,它的前身是IBM CrossWorlds InterChange Server。运行于ICS中的协作流程(Collaboration)通过Adapter将不同的应用整合起来。
适配器是ICS中的协作流程(Collaboration)和应用程序的接口,它分为适配器控制器,适配器代理两部分。适配器控制器和ICS运行在相同的系统上,并且和流程直接交互以及实现数据映射(Data Mapping)。适配器代理和应用程序运行在不同的系统上,它负责与外围应用程序直接交互。适配器控制器和适配器代理协同工作,不仅提供了一个统一接口,在该接口上,数据对象(Business Object)互相通讯;并且通过数据对象的通讯将各个应用系统整合到ICS整体的系统解决方案中。
WBI Adapter与WAS
WAS作为一种Integration Broker,使用J2EE技术,通过Adapter与分散的应用程序进行数据交换。Adapter和WAS使用WebSphere MQ作为Java Message Service (JMS) provider,Adapter通过访问queue与运行在WAS上的应用程序交互。
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 |
今生篇——WebSphere Adapter
从版本6开始,IBM WebSphere Adapter完全遵循JCA架构的,针对最为流行的通用技术和企业应用推出了10余种WebSphere Adapter产品。下面为大家描述了正在成长中的IBM WebSphere Adapter产品。
WebSphere Adapter是什么?
WebSphere Adapter是IBM对Java EE Connector Architecture(JCA)标准的实现。它提供了一种将已有企业信息系统基础设施与IBM WebSphere企业中间件集成的机制。
WebSphere Adapter同时也实现了Enterprise MetaData Discovery规范。通过提供一套基于向导图形界面工具,使用户能够快速、方便、准确的发现并导入目标系统的数据定义和交互协议,而不必编写代码。
WebSphere Adapter提供的服务能够快速轻松的支持企业遗留应用程序、ERP、HR、CRM与供应链系统,帮助企业便利、高效地整合现有资源,使企业的信息系统整合架构具有更好的可扩展性。
WebSphere Adapter 的意义
要整合业务应用程序和流程,首先必须将异构的应用程序和信息资产连接到一致的框架中。为了在灵活的新型业务服务应用程序中利用此类资产、为了扩展和增长此类解决方案的投资回报率,这种连接至关重要。同时,消除手动编码和自定义界面维护工作可增强信息系统基础设施的业务灵活性。
WebSphere Adapters提供了标准界面,以支持这类应用程序,将其与信息存储和发现的细节隔离开来。通过提供服务支持、服务发现、事件捕捉和构建用户自己的自定义适配器所需的工具包来参与面向服务架构(SOA)。
WebSphere Adapter 产品系列
目前,WebSphere Adapter主要包括两类,即Technology Adapters和Application Adapters。
前者提供通过某种通用技术、标准对特定数据的访问连接,包括:
WebSphere Adapter for FlatFile-支持通过交换文本文件(有格式或无格式)来和应用程序进行通信。
WebSphere Adapter for FTP-通过FTP服务器交换业务文档,以此扩展ESB。
WebSphere Adapter for Email-支持与多种邮件服务器系统进行业务对象交换。
WebSphere Adapter fro IBM i-支持与IBM i系统进行数据交换。
WebSphere Adapter for JDBC-支持与基于JDBC Driver所支持的任何数据库构建的应用程序进行对象交换。
后者能够连接到某种特定企业信息系统应用程序,并且提供利用应用程序中的数据和服务的能力,包括:
WebSphere Adapter for SAP Software-使用SAP的所有接口功能提供SAP与其他应用程序之间的双向多线程实时集成。
WebSphere Adapter forOracle E-Business Suite-支持对Oracle应用程序模块(包括财务管理、采购、制造、后勤、人力资源和销售等)和其他系统的双向实时集成。
WebSphere Adapter for Siebel Business Applications-提供Siebel与订单管理、ERP、电子商务和旧有系统之间的全面双向实时集成。
WebSphere Adapter for PeopleSoft Enterprise-提供PeopleSoft与其他应用程序之间的双向实时集成。
WebSphere Adapter for JD Edwards EnterpriseOne-提供JD Edwards Enterprise One与外部应用程序之间的双向实时集成。
WebSphere Adapter运行环境
在WebSphere适配器应用程序开发、部署和运行过程中,需要有开发环境和运行时环境支持。在6.0版本中,用户使用WebSphere Integration Developer开发WebSphere适配器应用程序,并将其部署、运行在WebSphere Process Server(WPS)或者WebSphere Enterprise Service Bus(WESB)上。从6.1版本开始,除了WPS、WESB外,还支持WebSphere Application Server(WAS),WebSphere Message Broker(WMB)和WebSphere Transformation Extender(WTX)。相应地,适配器应用程序的开发环境增加了Rational Application Developer(RAD),WebSphere Message Broker Toolkit(WMBT)和WTX Design Studio。随着多种开发环境和运行时环境的支持,WebSphere适配器在用户的业务集成任务和SOA解决方案中得到越来越广泛的应用。
WebSphere Adapter 工作模式
WebSphere适配器支持两种交互方式,即入站(inbound)和出站(outbound)。
入站
进行入站操作时,EIS数据发生任何改变都会生成相应事件,适配器通过主动poll或者被动push,发现事件后查询相应EIS数据,将其发送到特定目的端。
出站
进行出站操作时,应用程序通过适配器对EIS数据执行CRUD等操作,或者调用EIS提供的对外接口与服务。
利用多种适配器进行异构信息系统之间的数据同步,是一个常见的业务集成场景。如下图所示,适配器A用于轮询监听企业信息系统A,当系统A数据发生改变,适配器A执行入站操作,查询系统A数据,并触发中介组件。中介组件处理数据后,调用适配器B的相应出站操作,最终出站程序改变信息系统B中的对应数据,完成系统A和B之间的异构数据同步。
WebSphere适配器应用程序与其他应用程序一样,除了可以在独立式应用服务器(Standalone Application Server)中部署、运行和管理,也能够在分布式服务器环境中工作。事实上,通过配置,工作在服务器集群中的适配器应用程序能够使企业用户的业务整合实现具有更可靠、更强大的服务质量保证。
WebSphere Adapter开发工具
除了提供以上各种WebSphere Adapter,IBM还提供了一套用于满足客户定制需求,快速生成符合JCA1.5标准适配器的开发工具-- WebSphere Adapter Toolkit(WAT)。WebSphere Adapter Toolkit V6.2使客户和IBM业务合作伙伴能够开发自定义适配器,满足独特的业务需求。这个工具包可帮助创建基本的JCA 1.5适配器,或创建利用了预构建WebSphere Adapters所用的Adapter Foundation Classes的额外功能的适配器。这些自定义的适配器可在WebSphere Process Server、WebSphere Enterprise Service Bus或WebSphere Application Server上运行。
在WebSphere Integration Developer中使用WebSphere Adapter进行异构信息系统集成的典型应用
使用WebSphere Adapter进行多种异构信息系统集成,常见的应用场景是利用WID中的Mediation组件将不同Adapter应用通过接口映射,进行逻辑连接。各个Adapter应用的业务流转逻辑可以在由BPEL或Java实现的Mediation组件中进行组装控制。
举例来说,用户的业务需求是,SAP中的Orders模块作为应用起点,当有任何订单进入SAP系统时,集成应用将根据订单中的客户代码在Oracle E-Business Suite系统AR模块中查询相应客户详细信息,之后将订单和客户信息集中录入DB2数据库中作为日志保存。
为了实现这个需求,SAP Adapter入站应用程序将用于发现并获取该订单的相关信息,Oracle E-Business Suite Adapter出站程序用于查询客户详情,而JDBC Adapter出站程序用于将日志内容写入数据库。整个逻辑由BPEL流程控制,按序调用各Adapter应用程序即可。
在WID业务集成视图中,所有这些工作都清晰地展现如下。
1. SAP Inbound应用通过接口映射调用Mediation模块
2. Mediation模块通过导出组件将中间逻辑功能发布为服务,使得SAP Inbound应用可以调用。BPEL模块控制了所有流程逻辑,通过不同的接口映射,分别调用Oracle EBS Outbound和JDBC Outbound应用。
3. Oracle EBS Outbound应用对用户的Oracle E-Business Suite系统进行查询并返回订单客户的详细信息
4. JDBC Outbound应用将订单与客户的相关信息插入DB2数据库中作为日志保存。