IBM®
跳转到主要内容
    中国 [选择]    使用条款
 
 
Select a scope: Search for:    
    首页    产品    服务与解决方案     支持与下载    个性化服务    
跳转到主要内容

developerWorks 中国  >  WebSphere | SOA and Web services  >

在 WebSphere Transformation Extender 中使用 WebSphere Adapter 进行业务集成

developerWorks
前一页第 6 页,共 11 页后一页

文档选项

对本教程的评价

帮助我们改进这些内容


用 WebSphere Adapter 进行业务集成

本节将通过一个具体示例介绍如何在 WTX 中开发一个端到端数据转换解决方案。该示例实现了实现了从 PeopleSoft EIS 到 Siebel EIS 的客户数据同步,如图 5 所示。当用户在 PeopleSoft EIS 中创建一个企业客户 Customer 记录时,PeopleSoft Adapter Inbound 获取该业务事件,将 Customer BO 传递到 WTX Runtime 环境中进行数据转换,经过转换,生成相应 Siebel Account BO,该 BO 经过 Siebel Adpater Outbound 输出到 Siebel EIS 中,从而完成了从 PeopleSoft EIS 到 Siebel EIS 的自动数据同步。


图 5. 数据同步业务场景

WTX 环境准备

在 Windows 平台上,用户需要安装以下两个安装包来建立 WTX 的集成开发环境以及 Runtime 环境。

  • DesignStudio.zip
  • TX with Launcher.zip

解压 DesignStudio.zip,运行其中的 setup.exe 并按照安装步骤进行安装。

接下来解压 TX with Launcher.zip,运行其中的 setup.exe 启动安装,用户需要指定与 DesignStudio 安装在同一目录下。该安装包会安装下面几个主要组件,

  • Launcher service
  • Launcher Administration
  • Management Console

其中,Launcher service 被安装为 Windows 服务,名为”IBM WebSphere Transformation Extender 8.2 Launcher”。

此外,需要安装如下两个安装包以添加对 WebSphere Siebel Adapter 和 WebSphere PeopleSoft Adapter 的支持:

  • sbl8200.win.zip
  • psft8200.win.zip

分别解压这两个压缩包,启动安装,安装程序会将其安装在 WTX 的安装目录下,同时会在 WTX 安装根目录下的adapters.xml中添加清单 1 中所示的注册项。


清单 1. Adapter 注册项
<M4Adapter name="WebSphere PeopleSoft" alias="PeopleSoft"  id="199" type="app" 
class=
"com/ibm/j2ca/peoplesoft/emd/discovery/PeopleSoftMetadataDiscovery"/> 
<M4Adapter name="WebSphere Siebel"	alias="Siebel" id="197" type="app" 
class="com/ibm/j2ca/siebel/emd/discovery/SiebelMetadataDiscovery"/>

这样就完成了 WTX 的环境搭建。除此之外,在部署运行本示例之前,需要完成一些运行时环境的配置。位于安装根目录下名为 dtx.ini 的配置文件记录了运行时的配置信息,这里,用户需要手动在该文件中注册第三方类库的路径信息如下:


清单 2. dtx.ini 中的第三方类库信息
[External Jar Files]
jar1=D:\incoming\xcl8.46\psjoa.jar
jar2=D:\incoming\xcl8.46\PSFTCI.jar
jar3=d:\workspace_lib\SiebelJarFiles\Siebel.jar
jar4=d:\workspace_lib\SiebelJarFiles\SiebelJI_enu.jar

这样在 Adapter 被加载运行过程中,WTX Runtime 会根据该路径去加载相应的类库。





回页首


运行 Adpater EMD

本节主要介绍如何通过 Siebel Adapter EMD 和 PeopleSoft Adapter EMD 生成相应于两种 EIS 的 BO 以及服务接口描述。这里着重介绍在运行 EMD Wizard 过程中,在各关键 Wizard 页面的主要操作,具体的界面及更详细的操作细则请参照 WebSphere Adapter 用户指南

首先介绍 Siebel Adapter EMD。选择 File->New->Extender Project,创建名为 Psft_To_Siebel 的 WTX 工程。接下来选择 File->Import,在弹出窗口中选择 IBM WebSphere Adapter for Siebel Business Application,点击 Next,开始 Siebel Adapter 的 EMD 配置过程。

在 Required Files and Libraries 界面上,指定对应的 Siebel.jar SiebelJI_<language code> 文件。点击 Next,进入 Processing Direction 界面,由于在本示例中,Siebel Adapter 用于向 Siebel EIS 输出数据,因此使用 Outbound 功能,在该界面中指定 Outbound 选项。点击 Next,在 Configure Settings for Discovery Agent 界面中输入连接 Siebel EIS 的 URL,并输入用于登录 Siebel 的用户名、密码,在 Type of Siebel objects to discover一项选择 Siebel Business Objects 。点击 Next,弹出 Find and Discover Services 窗口,点击 Execute Query,在 Objects discovered by query 子窗口中会列出所有查找出的 BO,选择 Siebel Business Objects/Account/Account 节点,然后将其导入到右侧 Object to be imported 子窗口中。这样就完成了 Siebel 业务对象的发现和导入。点击 Next,在 Configure Objects 窗口中列出了各种针对于 BO 的操作,不需要进行特殊的配置,直接点击 Next,进入 Publishing Object Configuration Properties 窗口,窗口中显示 Adapter 在 Runtime 环境中的配置参数,这里默认的将前面的 EIS 连接属性填充在窗口的各个属性框中,由于这里 Password 输入框保持为空,所以需要在 Password 输入框中输入登录 Siebel EIS 的密码,其他的输入框保持默认值即可,点击 Next,出现向导序列的最后一个窗口,用于指定所有生成 Artifacts 所在的工程名称,这里默认是选择前面创建的 Psft_To_Siebel 工程;另一项是指定服务描述文件的名称,用户可以选择保持这里默认值,或者也可以输入其他的名称。点击 Finsh,这样就完成了 Siebel EMD 过程。

这时查看工程窗口,会发现已经生成了相应的 Artifacts,主要包括:

  • BO Schema 文件。主要用于创建 Map 需要指定的数据接口 Type Tree。其中名称后缀为 TX 的 BOAccountBCAccountTX.xsd 是 WTX 环境下生成的 Top Level Schema (在 WID 环境中 Adapter EMD 不会产生该文件),它本身并不包含元数据定义,而是引用 BOAccountBCAccount 等其它标准 EMD 下生成的 BO,用于在创建 Card 的时候生成相应的类型接口。
  • 服务描述文件 SiebelOutboundInterface.import。用于转换生成 Map 需要的 Command。

参照前述介绍的 Siebel EMD 过程,PeopleSoft EMD 也同样会启动一个 Wizard 序列,用于收集配置 PeopleSoft Inbound Adapter 信息,并生成最终的 Artifacts,包括:

  • WbiCustomerCiTX.xsd 及相关的 BO Schema文件
  • 服务描述文件PeopleSoftInboundInterface.export

这样就完成了整个工程的所需要的 artifacts,如图 6 所示。


图 6. EMD Artifacts





回页首


配置 Map

接下来我们使用前面生成的 Artifacts 来创建 Map。展开 Psft_To_Siebel 工程树,在 Maps 节点上点右键->New->MapSource->输入 end_to_end_solution 作为文件名->Finish,这样生成了 end_to_end_solution.mms 文件。

在一个 Map Source 文件中可以创建多个 Map,在 Outline Tab 页的 end_to_end_solution上点右键->New->输入 Map 的名称 psft_to_siebel,这样就创建了一个新的 Map,如图 7 所示。通常一个 Map 中至少包含一个 Input Card 和一个 Output Card 来完成数据转换,Input Card 用来关联 PeopleSoft Adapter Inbound,Output Card 用来关联 Siebel Adapter Outbound。


图 7. 新建 Map

首先完成对 Siebel Outbound 的 Output Card 的创建和配置。在上图的 Output Cards 节点上右击->New->新建一个名为 siebel_out 的 Output Card,如图 8 所示的界面。


图 8. 新建 Output Card

点击 Type Tree 输入框上的 Browse 按钮,弹出如图 9 所示的窗口,这里选择BOAccountBCAccountTX.xsd 作为 Type Tree。


图 9. 选择 Type Tree

指定 Type Tree 后,需指定其具体类型:点 Type 输入框的 Browse 按钮,在弹出的窗口中选择 XSD/global/BOAccountBCAccount 节点,如图 10 所示。


图 10. 选择 Type

Output Card 由 Target Rule 来驱动,Target Rule 指定了经过 Map 数据转换之后的数据的目的端。由于 Siebel Adapter 作为 Output Card 的资源适配器,因此需在 TargeRule\PUT\Target 选择框中指定 WebSphere Siebel。这时 Target 节点的子节点变为 Command 类型字符串,该字符串必须符合 WTX 定义的特定语法要求,主要用于确定资源适配器的运行选项,其中包括资源的连接,日志选项以及其他一些辅助选项。为了降低编写 Command 字符串的难度,WTX 提供了相应的工具来根据前面生成的服务描述文件自动生成 Command。在弹出的窗口上保持默认的 Service Definition file 选项,点击 Browse 按钮,选择 SiebelOutboundInterface.import 文件,如图 11 所示。点击 OK 确定。


图 11. 选择服务描述文件

接下来 WTX Tooling 解析 SiebelOutboundInterface.import 文件,获取其中的配置信息,然后开启一个向导,根据用户的定制来完成 Command 的配置和生成。第一个弹出的窗口中列出了所有在 EMD 过程中选择的 Adapter Outbound 操作名称。点击 Next 进入 Connection Properties 页面,其中列出了 EIS 连接相关的信息,这些信息都是在 EMD 中配置并最终体现在服务描述文件中的,用户可以确认不做修改。点击 Next,进入日志配置页面,如图 12 所示。


图 12. 设置日志选项

选择 Specify the tracing options,输入日志文件名,在 Trace Mode 中选择 Verbose。这样,Map在运行过程中,会在 Map 文件所在目录中生成指定名称的日志文件,所有WebSphere Siebel Adapter的日志信息都将输出到该文件,指定 Verbose 选项使得所有的 Log 和 Trace 信息全部输出。这个日志文件可以用来方便的调试 Map 运行过程中,通过 WebSphere Adapter 连接外部数据源过程中的运行信息,在出错时方便诊断。点击 Finish 完成 Command 的配置,这样就生成了下面的 Commad:


清单 3. Output Card Command
-TV j2ca.mtr -is:functionName Create -wtx:ispec 
com.ibm.j2ca.siebel.SiebelInteractionSpec 
-wtx:record com.ibm.j2ca.siebel.SiebelRecord 
-mcf:resonateSupport true 
-mcf:connectString siebel://9.186.111.231:2321/Sieb78/SSEObjMgr_enu 
-mcf:userName SADMIN 
-mcf:viewMode 3 -mcf:languageCode ENU -mcf:password SADMIN

对于 Card 配置界面中的其它选项通常情况下保持默认即可,这样就完成了 Output Card 的配置。整个 Output Card 完成后的界面如图 13 所示,


图 13. Output Card 配置

在完成了 Output Card 的配置后,需要完成对 Input Card 的配置。首先创建一个Input CardCardName 处输入 psft_in,Type Tree 属性中选择 WbiCustomerCiTX.xsdType 属性选择 XSD/global/WbiCustomerCi 节点。在 SourceRule 属性配置中,SourceRule/GET/Source 属性选择 WebSphere PeopleSoft,与 OutputCar d类似,在Command配置中启动一个 Wizard,用于生成最终的 Input Card Command。在第一个界面中,指定服务描述文件为 PeopleSoftInboundInterface.export,该向导会依照该服务描述文件来产生随后的向导界面,用户依照与前面类似的配置过程,完成该向导的配置,最终生成的 CommandLine 如下:


清单 4. Input Card Command
-wtx:schemadir C:\workspace\wtx_psft_to_siebel1\Psft_To_Siebel 
-wtx:typename WbiCustomerCi -wtx:uri 
http://www.ibm.com/xmlns/prod/websphere/j2ca/peoplesoft/wbicustomerci
-as:userName PSADMIN -as:password PSADMIN -as:language ENG 
-as:hostName 9.186.111.111 -as:port 9000

最终生成的 Input Card 的配置界面如图 14:


图 14. Input Card 配置

至此,Map 的 Input Card 和 Output Card 就全部配置完成了。接下来需要通过配置转换规则将输入和输出联系起来。

双击工程导航栏树型结构的 Map 节点,打开主工作区中的 Map 编辑界面(如图 15 所示),该界面划分为两个大的区域,上方是 Rule 输入区域,下方是 Map 区域。Map 区域的左侧是代表 Input Card 数据类型的 From 子区域,右侧是代表 Output Card 数据类型的 To 子区域,To 子区域分为两列,左侧一列为数据类型的节点名称,右侧一列是对数据类型节点的转换规则。配置转换规则的过程是,选中 To 子区域中 BO 的某一字段,然后在上方 Rule窗口区域输入转换规则,回车确认,这样数据转换规则就会出现在 To 子区域中相应 BO 节点的规则列中。转换规则以”=”开头,后跟符合 WTX 转换规则语法的表达式,表达式的值的类型需要和赋予的字段的类型一致,例如对于字符串类型的字段,则必须通过表达式生成一个字符串类型的值。转换规则的操作数可以是常量、Input Card 中的各个字段,或者当 Map 有多个 Output Card 时,可以是 evaluation 顺序在前的 Output Card 的 BO 字段,通过将这些操作数进行各种运算,将最终结果赋值给当前的 Output Card 中的相应字段。对于不需要关注的字段,需要直接填充”=NONE”,表示不对该输出字段做任何数据转换操作。另外,WTX中内置了大量的转换函数,可以完成绝大多数常用的数据转换,用户可以直接利用这些内置函数来简化转换规则的开发。

在 psft_to_siebel Map 中,仅做了一条转据规则(清单 5),用以完成从 PeopleSoft BO 的多个字段到 Siebel Account BO 的 Name 字段的映射转换。


清单 5. Map Rule
=Customerfirstname:sequence:psft_in + "_" + Customerlastname:sequence:psft_in 
+ "_" +NUMBERTOTEXT(Customerid:sequence:psft_in)

一种比较简便的替代上述手工编辑的操作方式是,用将 BO 结构中的字段直接拖至 Rule 窗口区域,这样会自动生成该操作数的正确格式。表达式中的“+”代表了字符串连接操作。最后一个操作数应用了 WTX 内置的转换函数 NUMBERTOTEXT,该函数的作用是将整型转换为字符串类型,在这里会将整型 BO 属性 Customerid:sequence:psft_in 转换为相应的字符串来与表达式中的其它操作数进行连接。

完成对 Name 字段的规则输入后,其它字段统一输入规则”=NONE”,对于数据类型中规则为空的字段很多的情况,用户可以无需手工逐个添加,Design Studio 提供了一个菜单选项 Rules->Insert NONE if Empty 来完成自动填充。


图 15. 输入 Map Rule

这样,就完成了 Map 的配置,选择 Save 工具栏选项保存 Map 配置。





回页首


编译 Map

Map 创建完成后,需对 Map 进行编译。Design Studio 提供了相应的工具来完成这项工作,或者通过选择菜单的Map->Build 进行编译。

Map 源文件中的每个 Map 都会编译成单独的目标文件。需要注意的是 WTX 提供对 Windows, AIX, Solaris 等多种平台的支持,因此对 Map 的编译是针对特定目标平台的。针对 Windows 平台编译出的目标执行文件以 mmc 作为后缀。本示例中的源文件 psft_to_siebel.mms 编译后生成名为 psft_to_siebel.mmc 的目标文件。若将 Map 编译为其他平台格式,则可以通过在 Map 源文件节点上点右键->Build All Maps->指定具体的目标平台,这样 Map 就会编译为指定平台格式,例如在 AIX 平台后缀为 .aix,Solaris 平台后缀为 .sun。





回页首


开发和配置 System

在上文中提到,WTX 中的 System 用以实现特定的业务解决方案和流程。对于由业务事件触发的业务流程,也通常需要通过加载 Launcher 中的 System 来实现。在本示例中,PeopleSoft EIS 中 Customer 记录的 Create 事件触发整个数据同步过程,因此需要开发相应的 System,以将 Map 加载到 Launcher 运行时环境中,通过 PeopleSoft EIS 的 inbound 事件来触发执行。

首先启动 Integration Flow Designer,选择File->New,创建一个 System 文件,选择 System->Add Componet->Compiled Map,在弹出的窗口中,选择刚创建的 psft_to_siebel.mmc,如图 16 所示。


图 16. 选择 Map Source

上图列表框中列出了所有包含在该 Map 源文件中的 Map。选中 psft_to_siebel 复选框,点击OK。这样就生成了一个包含该 Map 的 System,双击该 System 的图标,将其展开,如图 17所示,左右两侧的图标代表 System 包含的 Map 所配置的 Input Card 和 Output Card,只有中间的 System 图标是用户真正需要关心的。


图 17. 新建的 System

单击中间图标下方淡蓝色区域,会弹出Launcher Setting窗口,如图 18 所示,该窗口中包含所有关于 Map 的配置,包括 Input Card 和 Output Card 配置。用户可以修改这些配置信息以满足 System 运行的需要。如果在 Map 中已正确配置了信息,这里则不用再做修改。这里唯一需要修改的地方是 Map 配置中不存在的新属性 SourceEvent,默认情况下该属性为 Off,这里需要将其置为 On,才能保证 System 加载后可以侦听业务事件从而触发 Map 的执行。


图 18. System 选项设置

将新建的 System 保存为psft_to_siebel.msd。选择菜单项 System->Generate,输入Targe 名称为 psft_to_siebel.msl,这样就生成了用于部署运行的 System 目标文件。





回页首


部署和运行 System 目标文件

在部署和运行 System 目标文件前,需要对 Launcher 运行时环境进行配置。首先从开始菜单启动 Launcher Administration 工具,如图 19 所示。


图 19. Launcher Administration 设置

General Tab 页,用户可以定制启动模式和连接端口号,这里我们采用默认配置。切换到 Access Tab 页,点击Add按钮,创建一个用户,并赋予其访问 Launcher 服务的权限。为简单起见,我们将所有选项都设为 Grant(在实际的应用环境中,授权应根据各个用户的需求而定)。这样就完成了用户的配置,如图 20 所示。


图 20. 配置用户权限

切换到 Deploy Directories Tab 页,选择 System 文件的部署目录。当 Launcher 服务启动后,它会在部署目录中搜寻目标 msl 文件来加载运行。通常,我们保持其默认值,即WTX_Install_DIR\systems。

点击 OK 完成 Launcher Administration配置。

psft_to_siebel.msl 文件拷贝到部署目录,然后启动”IBM WebSphere Transformation Extender 8.2 Launcher” Windows服务。Launcher 服务在启动过程中会加载位于部署目录的psft_to_siebel.msl。为了启动并监测该 System 的运行,需要启动 Management Console。

从开始菜单启动 Management Console,选择Launcher->New,在 New Launcher 窗口中,输入相关信息。这里端口号要和 Launcher Administration 中配置的端口号一致,如图 21 所示。点击 OK 完成配置。


图 21. Management Console中New Launcher 界面

这样,在 Management Console 左侧窗口上出现一个名为 test 的节点。选择该节点右击 -> Connect -> 出现 Starting psft_to_siebel.msl提示,并在右侧窗口中出现 System 目标文件的运行信息,同时在 CompoundSystem 节点下会出现 Status、History、Configuration 节点,表示 psft_to_siebel.msl 已经启动。当 Active Listeners Up 属性值显示为 1 时,表示 PeopleSoft Adapter Inbound 已经开始侦听并正常工作,如图 22 所示。


图 22. System 启动界面

在 PeopleSoft EIS 里创建一条 Customer 数据记录,这里主要关注几个主要字段的输入数据,如表 1 所示,


表 1. Customer 数据记录
Customerid Customerfirstname Customerlastname
1000101 wtx test

PeopleSoft Adapter Inbound 随即侦听到该业务事件,接着获取该事件所关联的 Customer BO,并将该 BO 传递到 Map 进行数据转换,转换的结果生成了 Siebel Account BO,其中的 Name字段在应用转换规则后被赋予相应的值,该 BO 随即被 Siebel Adapter Outbound 输出到 Siebel EIS 中。用户从 Management Console 中可以看到 History Successes 的值变为 1,表示 Map 映射成功,如图 23 所示。从 Siebel EIS 中查询该数据记录,记录中 Name 字段的值为 wtx_test_1000101,即为前面配置的 Map 转换规则中的输出结果。这样就完成了从 PeopleSoft EIS 到 Siebel EIS 进行数据转换的简单的业务集成场景。


图 23. System 成功处理一条记录





回页首



前一页第 6 页,共 11 页后一页
    关于 IBM 隐私条约 联系 IBM 使用条款