CTOCIO IT专家网

天极传媒 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
IT专家网搜索

您现在的位置: IT专家网 > SOA子站 > SOA评论分析

构建SOA组合业务服务

作者: ,  出处:IT专家网论坛, 责任编辑: 李春禹, 
2008-08-05 09:31
  本文是一个考虑开发组合应用程序的系列的一部分。组合应用程序集成现有的SOA服务并创建能够以不同的方式组合的新服务。我们最初使用WebSphere Application Developer IE v5.1开发了一个演示组合应用程序,其中使用了WebSphere Business Integration SF作为其运行时。随着WebSphere Process Server v6及其对应的开发工具WebSphere Integration Developer v6的发布,一种基于服务组件体系结构(SCA)的新编程模型出现了,从而要求将构件从遗留编程模型迁移到新的编程模型。下面我们将与您分享在此迁移过程期间学习到的一些重要教训。

  本文是一个考虑开发组合应用程序的系列的一部分。组合应用程序集成现有的SOA服务并创建能够以不同的方式组合的新服务。我们最初使用WebSphere Application Developer IE v5.1开发了一个演示组合应用程序,其中使用了WebSphere Business Integration SF作为其运行时(请参见本系列的第1部分)。随着WebSphere Process Server v6及其对应的开发工具WebSphere Integration Developer v6的发布,一种基于服务组件体系结构(Service Component Architecture,SCA)的新编程模型出现了,从而要求将构件从遗留编程模型迁移到新的编程模型。下面我们将与您分享在此迁移过程期间学习到的一些重要教训。

  引言

  本文描述将原型组合应用程序从WebSphere Application Developer-IE v5.1迁移到WebSphere Integration Developer v6的一些问题和解决方案。我们将介绍的主要问题包括WSDL绑定、WSDL接口、XSD定义和业务流程执行语言(Business Process execution Language,BPEL)编码。尽管WebSphere Integration Developer v6具有功能强大的迁移向导,但我们发现可以对简单项目进行自动迁移。然而,更复杂的BPEL应用程序将需要对迁移过程的更深入了解。有关详尽的迁移注意事项,请参考WebSphere Integration Developer帮助或WebSphere Integration Developer/WPS信息中心。

  绑定的迁移问题

  本系列中的第一篇文章确定了一些由一家银行客户发起的用例。“贷款申请”用例调用了一个BPEL业务流程。该业务流程完成一系列调用服务来处理贷款的步骤。所调用的有些服务使用了Java或EJB绑定。

  Java绑定问题

  WebSphere Integration Developer v6不支持WebSphere Application Developer-IE所生成的WSDL中使用的原始Java绑定类型。服务/端口定义使用了某种Java类型。因此在WSDL中生成了一个Java ClassName而不是一个端点地址。(请参见清单1)。

  清单1. 带Java绑定的WSDL

  name="LoanTrackingServiceProxyPortTypeJavaPort">

  如果将此类WSDL直接导入SCA模块,那么即使没有异常或由WebSphere Integration Developer标记的错误,所生成的导入也无法成功进行绑定(请参见图1)。事实上,WebSphere Integration Developer V6仅支持带SOAP绑定的Web服务导入。因此,导入的端点将保留为空,从而在将模块部署到WPS并在我们尝试调用它时导致运行时异常。

  

  图1. 带Java绑定的WSDL导入

  Enterprise JavaBean(EJB)绑定问题

  WebSphere Integration Developer v6不支持WebSphere Application Developer-IE所生成的WSDL中使用的原始EJB绑定类型。其中的服务/端口定义(类似于前面提到的Java类型)使用了EJB类型。因此,提供了EJB Home ClassName和JNDI Name而不是端点地址。(请参见清单2)。

  清单2. 带EJB绑定的WSDL  


name="LoanTrackingServiceEJBPort">
  jndiName="ejb/loantrackingservice/LoanTrackingServiceHome"/>
  这也会由于前面提到的相同原因而在执行期间导致异常(请参见图2)。

  

共4页。 1 2 3 4 :

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。
  • 周排行榜
  • 月排行榜

邮件订阅

       
天极服务 | 关于我们 | 网站律师 | 加入我们 | 联系我们 | 广告业务 | 友情链接 | 我要挑错
All Rights Reserved, Copyright 2004-2008, Ctocio.com.cn
渝ICP证B2-20030003号 如有意见请与我们联系 powered by 天极内容管理平台CMS4i