<b>提高J2EE技术和.NET之间的互操作性,第1部份</b>[Java编程]
本文“<b>提高J2EE技术和.NET之间的互操作性,第1部份</b>[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
引言
Web 服务但愿并且答应将分离的利用程序以一种无缝的方法举行集成.但企业利用程序是在差别的平台上采取差别的技术构建的,因此,跨业务的集成并非一件轻而易举的事.近来呈现的基于 Web 服务的业务流程履行语言(BPEL)为定义 Web 服务的行为供应了一个高层描写语言.它供应一个尺度和可移植的语言来将多个 Web 服务交融到一个商业流程中.由于 BPEL 遭到一些主要厂商的欢送,一些用来自动计划商业流程的集成开辟工具,如 IBM® WebSphere® Studio Application Developer Integration Edition (Application Developer) 已经进入市场.这些工具削减了 Web 服务集成时需求的大量编码工作,并答应您通过拖拽 WSDL 文件到工具中的方法构建商业流程.我们盼望这些工具可以自动产生调用 Web 服务的客户端的存根.因此,集成的成功目前很大程度上一来于底层复杂的工具支持.这就越发要求开辟成员采取最佳实践来确保同享 Web 服务的内涵互操作性.
正如我在本文以及随后的文章中所讲的,以下几个问题需求分外关注:
操纵厂商工具按照实现代码得到 WSDL 中的 Web 服务语言非常便利.但是这种方法忽视了消息脚本的计划,但这一点恰是异构的环境(如 J2EE 技术对.NET)中 Web 服务互操作的关键.
风行的 RPC/encoded 方法以其简单、机动且熟习的特点对开辟人员是个有吸引力地挑选.但是,在厂商之间对抽象 SOAP 编码数据模子的同步实现带来的艰难成为 Web 服务互操作的一个艰难性的挑衅.
弱范例的调集对象、包含空元素的数组和特定的本地数据范例都给互操作性带来一定的问题,分外是:
关于厂商供应的工具来说,精确地注释代表弱范例调集对象的 XML 脚本并将它们映射到本地数据范例是不大概的.
带有空元素的数组的 XML 表示在 .NET 和 Websphere 之间是差别的.
由于本地数据范例和 XSD 数据范例并不具有一一对应关系,在转换历程中,信息或精度将会丧失.
由于利用相对 URI 引用,Java 技术和 .NET之间差别命名转换将会招致命名空间冲突.
从 WSDL 开始
全部 Web 服务的互操作问题都可以归结到 WSDL 文件上.WSDL 是 Web 服务的接口定义语言(IDL)和服务器与客户间的协议.服务语法,即 WSDL 文件中的消息范例、数据范例和交互方法,是构建松耦合的系统的关键.固然 WSDL 并不要求利用特定的范例系统, XML 脚本数据范例(XSD)在 Web 服务范畴内广受欢送.
XSD 供应了大量的内置的基本范例并答应服务供应者进一步定义定制的复杂范例.XSD 的范例系统比任何编程语言的范例系统都越发复杂和强盛,并且更重要的是,它是独立于编程语言的,因此,它成为 WSDL 定义 Web 服务语法的逻辑起点.
理论上讲,就像 COM 和 CORBA 的 IDL,您应当首先成立并编辑 WSDL --在您基于 WSDL中的服务语法来构建 Web 服务和特定实现语言的客户程序之前,定义接口、消息和数据范例.
但是,事实上,即便经验丰富的都不会那么做.他们最初开始实现特定于语言的接口,如 Java 接口,然后依靠厂商的工具从它们的实现代码中获得 WSDL 服务语法;再把这些 WSDL 服务语法交给 Web 服务客户程序以便按照 WSDL 找出若何来调用 Web 服务.最后,在他们常常不需求知道 WSDL 之前, 他们就可以够成立并运行复杂的 Web 服务.他们大概在异构的环境中运行他们的客户和服务器程序,即大概 J2EE 平台,大概 .NET 平台,大概二者都有.
目前厂商的集成开辟工具下面的方向发展,即全部的东西,包含 WSDL都可以自动生成,不需求写任何代码(大概,至少量多厂商都声称并但愿如此).这一趋向很有吸引力,因为它开辟效率很高,且相关于人工编码它很少出错(当然在工具功效符合且坚固的条件下).在单一的平台上,互操作性普通不成问题,只要 Web 服务和客户都利用一样的开辟工具.
当对超越异构的环境产生互操作性要求时,问题变得对比明显.目前,您从实现语言来成立 Web 服务交互的关键构件,然后操纵平台独立的工具将它们映射到 WSDL 中语言独立的元素.当客户平台上的工具按照 工具生成的 WSDL 来产生服务代理时,将举行别的一个映射.这一流程基于下面的事实,WSDL 是 Web 服务的接口定义语言.语言独立的 WSDL 应当成为客户和服务器的共同底子.以这种方法利用开辟工具将双倍增添映射历程中信息丧失的大概.
这并不意味着您应当放弃这些工具,全部的厂商应当终止生产并在市场上贩卖这些工具.在当前的企业利用程序开辟范畴自动化已经成为一个重要的因素.工具本身很强盛,关键在您怎么操纵它们的力气?您可以操纵这些工具产生一个框架 WSDL 来作为起点大概模板.脚本、消息部件和数据绑定必须细心计划来遵守 WS-I 一致性要求.就像您出于数据库效率的考虑而不但愿由工具产生数据库脚本一样,您不该该轻忽手工计划高效 Web 服务消息和数据范例.有时,即便元素的名字也要细心计划来遵守潜在的异构平台间的命名转换.关于 Web 服务互操作性来说, WSDL 是唯一对比重要的构件.程序员必须学会基于原始 XML 消息举行编程,至少学会读取 XSD、 WSDL 和 SOAP 消息.
以上是“<b>提高J2EE技术和.NET之间的互操作性,第1部份</b>[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |