haidong 发表于 2010-2-25 10:24:34

Web service的互操作:集成Java和微软.NET

<p >Web service的主要承诺之一就是互操作能力,因此Web service被设计成独立于底层的操作系统和编程语言。本文中,我们将介绍一些关于基本web service 互操作能力的问题。我们将集中精力关注两个最流行的平台-Java 和 Microsoft .NET。 <p ><center><font color="#000099"><strong>简介</strong></font></center><p >Web services互操作能力可以分为两种基本类型:SOAP互操作能力和WSDL互操作能力。<p >前面的文章中,我们了解到SOAP是一种高级协议。它可以控制由一些传输协议所交换的XML文档结构。这是个模糊的定义,就是这个模糊的定义使得SOAP 非常易于扩展而且也相当通用,但是这也使得互操作能力成为一个关键问题。在一个基线上,我们开始在传输协议的基础上寻求互操作的能力。报文交换过程中所涉及到的双方必须同意使用相同的传输协议,例如 HTTP、 SMTP或JMS。但是传输协议的兼容性并没有必要保证互操作性。还有一些其他因素会影响互操作能力。其中一个就是数据类型编码。编码样式定义了可编程数据类型在XML中如何进行编码。SOAP规范并不规定和控制任何特定的编码样式,开发人员可以随心所欲的使用他们想要使用的编码样式。理论上来讲,他们可以自由选择相不兼容的编码样式,当然,这中间存在一个标准的约定。SOAP规范中的第5部分定义了一种编码样式,而且它已经成为SOAP编码的事实标准。这种编码奠定了自动化的SOAP互操作能力测试的基础。主要的SOAP解决方案提供商周期性地进行这种测试。您可通过http://soap.systinet.net/interop/soap/index.html网址查看测试结果。<p >我们逐渐发现这样一个事实:WSDL处于Web service互操作能力的核心地位。WSDL是一种Web service的描述语言。通常情况下,Web service框架工具(例如 WASP WSDLCompiler)可以由使用特定编程语言书写的代码自动生成WSDL 文档。开发人员可以使用WSDL文档生成客户或者代理,他们可以方便地访问Web services。因此,实现无缝的Web service 互操作能力的关键就在于Web service框架使用由其他框架生成的WSDL文档的能力。有关WSDL互操作能力的尝试只是刚刚开始。您可以通过http://soap.systinet.net/interop/wsdl/index.html获取更多的信息。 <p >尽管还有一些有关互操作能力的问题需要解决,厂商的进步已经是非常迅速了。我们期待尽早兑现对Web services 互操作能力的承诺。 <p ><center><font color="#000099"><strong>尽量使您的类型简单——避免使用高级的XML Schema</strong></font></center><p >XML Schema 标准非常复杂而且很难实现。更重要的是,XML Schema的处理过程非常耗时间,所以,许多框架为了达到性能要求,并不提供对XML Schema的完全支持。一些高级的XML Schema结构(例如,choice)在编程语言中非常难于表述,因而几乎没有什么Web service框架支持它们。所以, 获取Web services互操作能力的关键就是使用基本数据类型,例如简单类型,数组和结构类型。一个最优的方法就是将接口中的复杂类型分解为使用基本类型的简洁的接口。同时还要避免使用并未得到广泛支持的特定方法(例如,INOUT参数传递)。                               <p align="center"><font color="FF0000" >1</font>23<span class="content01">下一页&gt;&gt;</span></p></p>

awr 发表于 2019-1-14 16:08:37

6666666666
页: [1]
查看完整版本: Web service的互操作:集成Java和微软.NET