技术开发 频道

某出口代理公司的全局事务完整性实现

【IT168 专稿】

    1. 概述

    业务集成是BPM&C(Business Process Management & Connectivity)产品族的重要功能。IBM WebSphere Adapter产品组是面向connectivity的重要产品,被推荐用来在业务集成中来连接各种异构的ERP系统或者遗留的遗产信息系统,例如SAP系统、数据库或文件系统。业务集成的一个重要要求是要保证业务的事务一致性,即要求参与一个业务流程的各个组件能够保持同样的状态,或者全部能够正确的提交,或者能够全部回滚。用户如果自己实现与各个ERP系统的连接程序,就需要用户自己来保证全局事务的正确性,而IBM WebSphere Adapter可以帮助用户实现全局事务的管理,大大减轻用户的开发负担。本文将通过一个业务实例来展现如何利用adapter来实现全局事务管理。

    2. 介绍业务解决方案:

    H.Z.兄弟公司是一家紧固件出口代理公司,主要业务是向欧洲的客户销售一些定制的紧固件。一个典型的业务流程是,欧洲的客户通过电话或者网页向H.Z兄弟公司的SAP服务器下了一个紧固件订单,H.Z兄弟公司根据用户的需求,将客户订单分别转换为螺栓订单和货运订单,分别向不同的紧固件加工厂以及物流公司下单。在H.Z兄弟公司的业务集成解决方案中,使用SAP Adapter的qRFC Inbound功能来监控SAP系统的变化,使用JDBC Adapter来向紧固件加工厂和物流公司分别下单。业务流程的示意图如下:

    3. 业务集成解决方案的软件清单:

    本文中所涉及的产品分别是WebShpere Process Server、WebSphere Integration Developer、IBM WebSphere Adapter for SAP、IBM WebSphere Adapter for JDBC、SAP Server、DB2 Enterprise Server、Oracle Enterprise Database server。使用的操作系统环境是Windows Server 2003。

    4. 业务集成解决方案的开发细节:

    在本文中的业务集成解决方案,不会涉及到SAP系统的搭建以及数据库的创建,而是主要集中在如何在WebSphere Integration Developer中利用BEPL创建业务流程,并使用WebSphere对EPR系统进行整合。

    4.1 如何在WID中配置WebSphere Adapter的企业元数据发现过程

    在该业务整合的场景中,需要使用SAP Adapter与JDBC Adapter,下面首先介绍如何在WID中使用SAP Adapter与JDBC adapter来根据企业元数据生成业务对象和服务接口。

    4.1.1 SAP Adapter qRFC inbound配置过程

图1:导入SAP Adapter
 
图2:选择支持transaction的SAP Adapter
 
图3:导入SAP Adapter工作所需要的驱动包和动态链接库
 
图4:配置SAP连接信息
 
图5:配置过滤器,导入所需要的SAP对象
 
图6:导入SAP业务对象
 
图7:配置SAP qRFC inbound
 
图8:配置SAP qRFC inbound

    4.1.2 配置JDBC Adapter outbound

 

图9:导入JDBC adapter
 
图10:导入所需的数据库驱动类
 
图11:填写数据库信息
 
图12:导入所需的数据库元数据
 
图13:为JDBC adapter配置XADataSource

    至此,我们已经分别配置好SAP Adapter qRFC Inbound与JDBC Adapter outbound接口,接下来的章节中,我们将描述如何使用BPEL来描述整个业务流程。

    4.2 使用BPEL开发业务流程

    BPEL是业务流程语言,独立于具体的编程语言,用于描述系统集成场景的业务流程。下面的示意图显示了本业务场景中所用到的业务流程。

图14:系统流程示意图1
 
图15:BPEL业务流程

    4.3 如何为Adapter配置全局事务管理

    为了使用Adapter来保证全局事务的完整性,需要配置Adapter加入全局的事务管理,如下示意图显示如何为Adapter的接口配置全局事务管理。

图16:Adapter接口,配置全局事务管理1
 
图17:Adapter接口,配置全局事务管理2
 

    5. 业务集成解决方案运行结果

    在前述章节中讲述了如何在WID中进行业务集成的开发工作,下面章节将简单讲述运行时的运行结果。

    5.1 成功运行的全局事务

    根据第二章介绍的业务场景,当一个全局事务被成功执行之后,在紧固件加工厂与物流公司的订单数据中分别产生了一个订单。而SAP qRFC inbound事件表中则清空了事件。

    5.2 失败的全局事务,正确的事务回滚机制

    当事务发生异常,需要全局回滚时,可以发现在紧固件工厂与物流公司的订单库中都没有产生相应的订单,而SAP qRFC inbound事件转变为失败状态,保证了全局事务的一致性。

    6. 结论

    使用WebSphere Adapter进行业务集成解决方案的开发,可以支持全局事务回滚,用户可以更加专注的考虑业务需求,大大提升了开发效率,并且降低错误发生的可能。

    本文作者

    主要作者:

    吴卫:软件工程师,WebSphere Adapter Development,有3年左右的产品开发和测试经验。联系方式:wwwu@cn.ibm.com

    宋晗:软件工程师,WebSphere Adapter系统测试,丰富的系统测试经验,已经丰富的客户支持经验,联系方式:songhan@cn.ibm.com

    协作作者:

    邢常亮:高级软件工程师,WebSphere Adapter Development,丰富的产品开发经验。

    袁金松:软件工程师,WebSphere Adapter Development。

    卢伟勤:软件工程师,WebSphere Adapter Development。

0
相关文章