解析:用SAAJ解决SOA集成问题

面向服务的架构(SOA)和面向服务的集成(SOI)得到了广泛的应用,并且有一种需求变得越来越明显:业务需要集成系统,并允许消费者利用基于标准的方法访问服务。SOA是一种架构范例。在这种架构中,可重用的业务逻辑表现为包含基于标准的、定义良好的接口的服务集,并且可以以松散耦合方式访问它。因为Web Service标准的供应商的支持,以及利用基于这种标准的软件集成不同的系统相对容易,所以在解决企业集成问题方面,SOA得到了普遍的认可。 

基于Java的中间件和企业应用程序集成(EAI)产品已经被使用了一段时间,现在,许多公司在以不同的方式使用这项技术。虽然一些服务是在Java平台上开发和提供的,但来自基于Java的应用程序的服务消费还有其他灵活的需求。SOAP with Attachments API for Java (SAAJ)通过提供访问服务的标准API来帮助这些服务的消费。 

有几个基于Java的API可以用来访问服务。这些服务包括SAAJ、基于Java API for XML 的RPC(JAX-RPC)和Web服务调用框架(WSIF)。SAAJ提供了构建服务消费者以及提供者的API。让我们看一看如何利用SAAJ在SOA中开发Web Service的消费者。我们将举例说明WebLogic Integration的组合过程,该过程有机地结合了获取城市邮政编码的服务、获取邮政分区的温度的服务,以及消费该服务的一个示例SAAJ客户机。 

什么是SAAJ? 

SAAJ是在松散耦合软件系统中利用SOAP协议实现的基于XML消息传递的API规范。顾名思义,SAAJ支持带附件的SOAP消息。 

对于Java API for XML Messaging (JAXM),您已经了解很多,并且可能感到奇怪,究竟JAXM发生了什么事?JAXM 1.0的理念是通过提供消息传递和SOAP API,允许开发人员根据SOAP编写支持消息传递标准的业务应用程序。随着JAXM 1.1版的推出,SOAP API (javax.xml.soap)被分割成了SAAJ1.1规范和JAXM1.1,JAXM1.1只包含基于消息传递的API(javax.xml.messaging)。目前,正在使用的SAAJ版本是1.2。WebLogic Server 8.1 SP2 支持SAAJ 1.1规范。 

SAAJ 1.2 API主要由javax.xml.soap包组成,它为带有多用途互连网邮件扩展协议(MIME)附件的SOAP消息提供抽象。该API提供了创建到端点的点到点连接的方法、创建并处理SOAP消息和附件的方法,以及接收和处理SOAP错误的方法。 

虽然在开发企业应用程序的时候,有几种技术供您选择,但对于不同的问题,某些技术可能更合适。选择正确的工具非常重要。 

选择SAAJ的理由是什么呢?SAAJ无疑很适合基于文档的同步或者异步Web Service。SAAJ使用简单,有助于您在Java环境中集成各种Web Service,它扩展了对文档风格的Web Service通信的自然支持(natural support)。SAAJ还支持基于标准接口上的XML消息传递,并且这一点得到了供应商的广泛支持。 

编写客户机 

清单 1显示了一个用SAAJ编写的简单的消费者,它访问了一个同步WebLogic Integration过程,来获得给定城市的温度。完整的项目可以从 [url]www.WebLogicPro.com[/url]下载。下面将讨论完成该项目所必需的步骤。  
面向服务的架构(SOA)和面向服务的集成(SOI)得到了广泛的应用,并且有一种需求变得越来越明显:业务需要集成系统,并允许消费者利用基于标准的方法访问服务。SOA是一种架构范例。在这种架构中,可重用的业务逻辑表现为包含基于标准的、定义良好的接口的服务集,并且可以以松散耦合方式访问它。因为Web Service标准的供应商的支持,以及利用基于这种标准的软件集成不同的系统相对容易,所以在解决企业集成问题方面,SOA得到了普遍的认可。 

基于Java的中间件和企业应用程序集成(EAI)产品已经被使用了一段时间,现在,许多公司在以不同的方式使用这项技术。虽然一些服务是在Java平台上开发和提供的,但来自基于Java的应用程序的服务消费还有其他灵活的需求。SOAP with Attachments API for Java (SAAJ)通过提供访问服务的标准API来帮助这些服务的消费。 

有几个基于Java的API可以用来访问服务。这些服务包括SAAJ、基于Java API for XML 的RPC(JAX-RPC)和Web服务调用框架(WSIF)。SAAJ提供了构建服务消费者以及提供者的API。让我们看一看如何利用SAAJ在SOA中开发Web Service的消费者。我们将举例说明WebLogic Integration的组合过程,该过程有机地结合了获取城市邮政编码的服务、获取邮政分区的温度的服务,以及消费该服务的一个示例SAAJ客户机。 

什么是SAAJ? 

SAAJ是在松散耦合软件系统中利用SOAP协议实现的基于XML消息传递的API规范。顾名思义,SAAJ支持带附件的SOAP消息。 

对于Java API for XML Messaging (JAXM),您已经了解很多,并且可能感到奇怪,究竟JAXM发生了什么事?JAXM 1.0的理念是通过提供消息传递和SOAP API,允许开发人员根据SOAP编写支持消息传递标准的业务应用程序。随着JAXM 1.1版的推出,SOAP API (javax.xml.soap)被分割成了SAAJ1.1规范和JAXM1.1,JAXM1.1只包含基于消息传递的API(javax.xml.messaging)。目前,正在使用的SAAJ版本是1.2。WebLogic Server 8.1 SP2 支持SAAJ 1.1规范。 

SAAJ 1.2 API主要由javax.xml.soap包组成,它为带有多用途互连网邮件扩展协议(MIME)附件的SOAP消息提供抽象。该API提供了创建到端点的点到点连接的方法、创建并处理SOAP消息和附件的方法,以及接收和处理SOAP错误的方法。 

虽然在开发企业应用程序的时候,有几种技术供您选择,但对于不同的问题,某些技术可能更合适。选择正确的工具非常重要。 

选择SAAJ的理由是什么呢?SAAJ无疑很适合基于文档的同步或者异步Web Service。SAAJ使用简单,有助于您在Java环境中集成各种Web Service,它扩展了对文档风格的Web Service通信的自然支持(natural support)。SAAJ还支持基于标准接口上的XML消息传递,并且这一点得到了供应商的广泛支持。 

编写客户机 

清单 1显示了一个用SAAJ编写的简单的消费者,它访问了一个同步WebLogic Integration过程,来获得给定城市的温度。完整的项目可以从 [url]www.WebLogicPro.com[/url]下载。下面将讨论完成该项目所必需的步骤。
面向服务的架构(SOA)和面向服务的集成(SOI)得到了广泛的应用,并且有一种需求变得越来越明显:业务需要集成系统,并允许消费者利用基于标准的方法访问服务。SOA是一种架构范例。在这种架构中,可重用的业务逻辑表现为包含基于标准的、定义良好的接口的服务集,并且可以以松散耦合方式访问它。因为Web Service标准的供应商的支持,以及利用基于这种标准的软件集成不同的系统相对容易,所以在解决企业集成问题方面,SOA得到了普遍的认可。 

基于Java的中间件和企业应用程序集成(EAI)产品已经被使用了一段时间,现在,许多公司在以不同的方式使用这项技术。虽然一些服务是在Java平台上开发和提供的,但来自基于Java的应用程序的服务消费还有其他灵活的需求。SOAP with Attachments API for Java (SAAJ)通过提供访问服务的标准API来帮助这些服务的消费。 

有几个基于Java的API可以用来访问服务。这些服务包括SAAJ、基于Java API for XML 的RPC(JAX-RPC)和Web服务调用框架(WSIF)。SAAJ提供了构建服务消费者以及提供者的API。让我们看一看如何利用SAAJ在SOA中开发Web Service的消费者。我们将举例说明WebLogic Integration的组合过程,该过程有机地结合了获取城市邮政编码的服务、获取邮政分区的温度的服务,以及消费该服务的一个示例SAAJ客户机。 

什么是SAAJ? 

SAAJ是在松散耦合软件系统中利用SOAP协议实现的基于XML消息传递的API规范。顾名思义,SAAJ支持带附件的SOAP消息。 

对于Java API for XML Messaging (JAXM),您已经了解很多,并且可能感到奇怪,究竟JAXM发生了什么事?JAXM 1.0的理念是通过提供消息传递和SOAP API,允许开发人员根据SOAP编写支持消息传递标准的业务应用程序。随着JAXM 1.1版的推出,SOAP API (javax.xml.soap)被分割成了SAAJ1.1规范和JAXM1.1,JAXM1.1只包含基于消息传递的API(javax.xml.messaging)。目前,正在使用的SAAJ版本是1.2。WebLogic Server 8.1 SP2 支持SAAJ 1.1规范。 

SAAJ 1.2 API主要由javax.xml.soap包组成,它为带有多用途互连网邮件扩展协议(MIME)附件的SOAP消息提供抽象。该API提供了创建到端点的点到点连接的方法、创建并处理SOAP消息和附件的方法,以及接收和处理SOAP错误的方法。 

虽然在开发企业应用程序的时候,有几种技术供您选择,但对于不同的问题,某些技术可能更合适。选择正确的工具非常重要。 

选择SAAJ的理由是什么呢?SAAJ无疑很适合基于文档的同步或者异步Web Service。SAAJ使用简单,有助于您在Java环境中集成各种Web Service,它扩展了对文档风格的Web Service通信的自然支持(natural support)。SAAJ还支持基于标准接口上的XML消息传递,并且这一点得到了供应商的广泛支持。 

编写客户机 

清单 1显示了一个用SAAJ编写的简单的消费者,它访问了一个同步WebLogic Integration过程,来获得给定城市的温度。完整的项目可以从 [url]www.WebLogicPro.com[/url]下载。下面将讨论完成该项目所必需的步骤。
面向服务的架构(SOA)和面向服务的集成(SOI)得到了广泛的应用,并且有一种需求变得越来越明显:业务需要集成系统,并允许消费者利用基于标准的方法访问服务。SOA是一种架构范例。在这种架构中,可重用的业务逻辑表现为包含基于标准的、定义良好的接口的服务集,并且可以以松散耦合方式访问它。因为Web Service标准的供应商的支持,以及利用基于这种标准的软件集成不同的系统相对容易,所以在解决企业集成问题方面,SOA得到了普遍的认可。 

基于Java的中间件和企业应用程序集成(EAI)产品已经被使用了一段时间,现在,许多公司在以不同的方式使用这项技术。虽然一些服务是在Java平台上开发和提供的,但来自基于Java的应用程序的服务消费还有其他灵活的需求。SOAP with Attachments API for Java (SAAJ)通过提供访问服务的标准API来帮助这些服务的消费。 

有几个基于Java的API可以用来访问服务。这些服务包括SAAJ、基于Java API for XML 的RPC(JAX-RPC)和Web服务调用框架(WSIF)。SAAJ提供了构建服务消费者以及提供者的API。让我们看一看如何利用SAAJ在SOA中开发Web Service的消费者。我们将举例说明WebLogic Integration的组合过程,该过程有机地结合了获取城市邮政编码的服务、获取邮政分区的温度的服务,以及消费该服务的一个示例SAAJ客户机。 

什么是SAAJ? 

SAAJ是在松散耦合软件系统中利用SOAP协议实现的基于XML消息传递的API规范。顾名思义,SAAJ支持带附件的SOAP消息。 

对于Java API for XML Messaging (JAXM),您已经了解很多,并且可能感到奇怪,究竟JAXM发生了什么事?JAXM 1.0的理念是通过提供消息传递和SOAP API,允许开发人员根据SOAP编写支持消息传递标准的业务应用程序。随着JAXM 1.1版的推出,SOAP API (javax.xml.soap)被分割成了SAAJ1.1规范和JAXM1.1,JAXM1.1只包含基于消息传递的API(javax.xml.messaging)。目前,正在使用的SAAJ版本是1.2。WebLogic Server 8.1 SP2 支持SAAJ 1.1规范。 

SAAJ 1.2 API主要由javax.xml.soap包组成,它为带有多用途互连网邮件扩展协议(MIME)附件的SOAP消息提供抽象。该API提供了创建到端点的点到点连接的方法、创建并处理SOAP消息和附件的方法,以及接收和处理SOAP错误的方法。 

虽然在开发企业应用程序的时候,有几种技术供您选择,但对于不同的问题,某些技术可能更合适。选择正确的工具非常重要。 

选择SAAJ的理由是什么呢?SAAJ无疑很适合基于文档的同步或者异步Web Service。SAAJ使用简单,有助于您在Java环境中集成各种Web Service,它扩展了对文档风格的Web Service通信的自然支持(natural support)。SAAJ还支持基于标准接口上的XML消息传递,并且这一点得到了供应商的广泛支持。 

编写客户机 

清单 1显示了一个用SAAJ编写的简单的消费者,它访问了一个同步WebLogic Integration过程,来获得给定城市的温度。完整的项目可以从 [url]www.WebLogicPro.com[/url]下载。下面将讨论完成该项目所必需的步骤。
清单 2展示了如何利用清单 1中给出的方法调用该服务。这个过程的端点URL是随输入的XML文档字符串一起传递给invokeService()方法的。 

清单 2. 以下是利用SAAJ调用WebLogic Integration过程的一个例子。 

String inputXml = "
"xmlns:soapenc=\"http://schemas.xmlsoap.org/soapencoding/\" 

xmlns:xsd=\"http://www.w3.org/001/XMLSchema\" " + 

"xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"> 

 

 " + "" + " 

 Barrington 

 IL 

 

" + " 

 "; 

invokeService("http://localhost:7001/saajService/processes/TempService.jpd",inputXml); 

SAAJ可能是SOA和集成领域中一种非常有用的API。SAAJ的一些应用程序包含测试框架的服务和服务调用的库。我们已经展示了如何利用SAAJ编写消费者,并创建了一个访问WebLogic Integration Get Temperature组合过程的示例客户机。将该示例应用到您自己的项目中,让SAAJ为您工作。









本文转自 牛海彬 51CTO博客,原文链接:http://blog.51cto.com/newhappy/77095,如需转载请自行联系原作者
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值