ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 浅析IBM WebSphere Adapter产品对事务处理的支持

浅析IBM WebSphere Adapter产品对事务处理的支持

原创 Linux操作系统 作者:freshair_zj 时间:2009-06-12 17:17:35 0 删除 编辑
    WebSphere AdapterIBMJava EE Connector ArchitectureJCA)标准的实现。它提供了一种将已有企业信息系统基础设施与IBM WebSphere企业中间件集成的机制。 目前, IBM针对最为流行的通用技术和企业应用推出了10余种WebSphere Adapter产品,主要包括两类,即Technology AdaptersApplication Adapters。如果您之前对WebSphere Adapter产品没有任何的了解,可以阅读文章 《前世篇 -- WebSphere Business Integration Adapters《今生篇--WebSphere Adapter 我们知道在企业信息系统集成的设计中,数据事务控制是非常重要的考虑点。在异构的应用程序和信息资产整合中扮演重要角色的WebSphere Adapter产品在设计之初,对事物的处理也有周密的考虑。本文将用几个简单的小例子,来介绍WebSphere Adapter for SAP SoftwareWebSphere Adapter for JDBC对事物处理的支持。

WebSphere Adapter for JDBC出站操作事务管理

适配器支持本地及XA(分布式)事务执行出站处理。在适配器中,事务是与数据库的孤立交换。事务可以包含作为原子单元对数据库执行的多项操作。数据库的其他用户所执行的并非操作并并不影响这些操作。

只有在数据库支持事务时,适配器才支持事务。所支持的事务类型是本地及XA事务:

l  本地事务是组件在其中针对单个数据库定义事务开始和结束的一种事务。它使用一阶段落实协议。

l  XA事务是事务可在其中跨越多个不同种类的数据库的一种事务。它使用全局或两阶段落实协议。

XA事务用例1 – 关键步骤

1.   加入全局事务管理


2.   配置支持XA事务的JNDIXA数据源


3.   确保每个组件加入事务管理



WebSphere Adapter for JDBC入站操作事务管理

适配器提供确保一次传递功能,此功能只需一次即可将每个事件传递至导出。它为事件存储器中的每个事件设置事务标识(XID)。在获取要处理的时间之后,将在事件存储器中更新该事件的XID值。然后将事件传递至它的对应导出,并随后从时间存储器中删除该事件。如果事件传递尚未完成,数据库连接发生中断或应用程序停止,那么无法完全处理该事件,在这种情况下,XID列会指示必须重新处理事件并将其重新发送至导出。在重新建立数据库连接或适配器再次启动之后,适配器会在事件存储器中检查在XID列中包含对应值的时间。

用例3 – 关键步骤


WebSphere Adapter for SAP Software BAPI接口的异步事务性RFC Outbound处理

1.   适配器以BAPI业务对象的形式从客户机应用程序接收请求。

2.   适配器检查业务对象以了解是否对SAPTransactionID属性指定了值。

l  如果SAPTransactionID具有值,那么适配器会在处理期间使用改值。

l  如果该属性没有值,那么适配器会调用SAP服务器并从SAP服务器获取事务标识。

3.   适配器将BAPI业务对象转换为SAP JCo函数调用。

4.   适配器使用事务性远程函数调用(tRFC)协议来调用SAP服务器。适配器不会等待来自SAP服务器的响应。

5.   函数数据传递至SAP应用程序后,控制权将返回至适配器。

l  如果调用SAP服务器失败,那么SAP服务器会抛出ABAPException

l  如果对SAP服务器的调用成功,但包含无效数据,那么不会对适配器返回异常。

6.   适配器将TID信息传递至客户机。

用例4 – 关键步骤

1.   选择适配器的CWYAP_SAPAdapter_TX.rar版本


2.   选择异步事务性RFC支持


3.   数据对象包含SAPTransactionID属性


WebSphere Adapter for SAP Software BAPI接口的异步事务性RFC Inbound处理

1.   SAP服务器上的客户机对适配器调用支持RFC的函数调用。SAP服务器上的调用程序不会等待并查看对适配器的调用是否成功,并且不会有任何数据返回至调用程序。

2.   RFC函数调用放在传送的函数列表中。

3.   对适配器调用RFC函数调用。如果适配器不可以,那么该调用仍保留在SAP服务器上的列表中,并且会按一定时间间隔重复执行该调用,直到适配器能够处理该调用。


4.   如果选择了确保仅传送一次事件,那么适配器会在事件持久表中设置事务标识

5.   适配器使用接收到的支持RFC的函数名来解析该操作及业务对象名。

6.   适配器将业务对象发送至端点。


7.   如果传送成功,并选择了确保仅传送一次事件,那么适配器会从事件持久表中除去事务标识。

用例5 – 关键步骤

1.   选择异步事务性/排队RFC支持


2.   数据对象包含SAPTransactionID属性


WebSphere Adapter for SAP Software ALE接口事务性RFC处理

适配器使用tRFC(事务性RFC)来确保每个IDoc仅与SAP交换一次。tRFC组件将被调用RFC函数存储在SAP系统的数据库中并配有唯一事务标识(TID)。用户在Enterprise Metadata Discovery过程中不需要做任何特殊的配置,只需要选择适配器的CWYAP_SAPAdapter_TX.rar版本,就可以实现对事务性的支持。在此本文不再累述。

综上所述,每个WebSphere Adapter产品对事务处理都有不同支持,读者可以根据自己项目的实际需求来选择实现。


作者简介

Normal 0 7.8 pt 0 2 false false false EN-US ZH-CN X-NONE赵杰 是中国软件实验室(CSDL BJ)的软件工程师,从事WebSphere Adapter的测试工作,在AdapterEIS BindingAutomation Framework开发和测试方面具有丰富的实践经验。

余珊 是中国软件实验室(CSDL BJ)的软件工程师,从事WebSphere Adapter的测试工作,在SOA、自动化测试工具开发方面具有丰富的实践经验。目前主要专注于WebSphere Adapter for SAP Software,以及在WebSphere Process Server, WebSphere Application ServerWebSphere Message Broker上实现与SAP系统的业务整合。

刘冬清 是中国软件实验室(CSDL BJ)的高级软件工程师,具有丰富的WebSphere Adapter的开发和测试工作,对自动化测试框架的开发和使用方面也具有丰富的实践经验。

吴卫 是中国软件实验室(CSDL BJ)的软件工程师,从事 websphere adapter 产品的测试/开发工作,对各种数据的开发应用有着丰富经验。

1.JPG

2.JPG

3.JPG

4.JPG

5.JPG

6.JPG

7.JPG

8.JPG

9.JPG

10.JPG

11.JPG

12.JPG

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7296914/viewspace-606086/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2009-05-19

  • 博文量
    1
  • 访问量
    1423