解决异构系统的通信和整合WebServices.docx

解决异构系统的通信和整合WebServices.docx

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
解决异构系统的通信和整合——Web Services作者:张孟志日期:2014-03-06系统间通信和整合的基本方式如下图所示:在一次通信中,不同的系统充当了服务器端/客户端。不同的系统普遍存在互为异构系统的事实,如何在异构系统间完成数据通信和服务整合就变得尤为棘手。一个简单的情况是一个系统使用J2EE平台开发充当服务器,另外一个系统采用了.net平台开发充当客户端,客户端希望请求服务器端的服务。在这种背景下就产生了第三方平台(或标准)的系统间通信和整合方案。服务器端/客户端都是用第三方平台所定义的角色来进行通信,在服务器端的称为Skeleton,客户端的称为Stub。在这个简单的情况下,服务器端会用java编写Skeleton,客户端会用.net编写Stub(Stub可能是静态的,也可能是运行时动态生成),客户端通过Stub向Skeleton请求服务,Skeleton则会获取服务器端相应的服务返回。这种第三方平台包括EJB、CORBA、Web Services等。系统间通信不然就有通信协议,这些平台使用的协议为RMI、IIOP、RMI-IIOP、SOAP等。下面,我们从通信协议的角度来看看这三个第三方平台。RMI以Java为核心,可与采用本机方法与现有系统相连接。这就是说,RMI可采用自然、直接和功能全面的方式为您提供分布式计算技术,而这种技术可帮助您以不断递增和无缝的方式为整个系统添加Java功能。但RMI只能用于服务器端与客户端都是JAVA编写的系统。IIOP,Internet Inter-ORB Protocol(互联网内部对象请求代理协议),它是一个用于CORBA 2.0及兼容平台上的协议。用来在CORBA对象请求代理之间交流的协议。Java中使得程序可以和其他语言的CORBA实现实现互操作性的协议。IIOP传输的是二进制通信数据,速度快。RMI-IIOP出现以前,只有RMI和CORBA两种选择来进行分布式程序设计,二者之间不能协作。RMI-IIOP综合了RMI 和CORBA的优点,克服了他们的缺点,使得程序员能更方便的编写分布式程序设计,实现分布式计算。首先,RMI-IIOP综合了RMI的简单性和CORBA的多语言性(兼容性),其次RMI-IIOP克服了RMI只能用于Java的缺点和CORBA的复杂性(可以不用掌握IDL)。简单对象访问协议(SOAP,全写为Simple Object Access Protocol)是交换数据的一种协议规范,使用在计算机网络Web服务(web service)中,交换带结构信息。SOAP为了简化网页服务器(Web Server)从XML数据库中提取数据时,节省去格式化页面时间,以及不同应用程序之间按照HTTP通信协议,遵从XML格式执行资料互换,使其抽象于语言实现、平台和硬件。但由于使用XML大文本传输,速度比较慢。Web Services是一种服务导向架构的技术,通过标准的Web协议提供服务,目的是保证不同平台的应用服务可以互操作。考虑到并没某个独立文档包含一切相关内容,可采用模块化的方式给出对WEB服务的描述,但不能给出一个“绝对全面和准确”的定义。受外部环境和实现技术影响,各方给出的核心定义可能稍有出入,但Web Services的核心定义通常包括:SOAP、WSDL、UDDI三部分。SOAP:一个基于XML的可扩展消息信封格式,需同时绑定一个传输用协议。这个协议通常是HTTP或HTTPS,但也可能是SMTP或XMPP。WSDL:一个XML格式文档,用以描述服务端口访问方式和使用协议的细节。通常用来辅助生成服务器和客户端代码及配置信息。UDDI:一个用来发布和搜索WEB服务的协议,应用程序可借由此协议在设计或运行时找到目标WEB服务。这些标准由这些组织制订:W3C负责XML、SOAP及WSDL;OASIS负责UDDI。简单的描述一下过程:客户端通过HTTP询问服务端的UDDI服务地址,获取到服务地址后客户端将从服务器端下载服务列表,最后客户端根据服务列表中的服务名去获取一个服务。理论的东西就要读者自己深究了,下面我们来开发部署一个Web Service。假设现在有一个Java平台开发的系统,提供取平方服务,客户端传入一个参数,就可以返回参数的平方。我们的客户端由不同的技术平台开发,有Java、delphi、C#等。系统部署如下图所示:服务器端部署,部署一个简单的web项目,提供Web Service服务。服务器端的“Skeleton”是怎样生成的呢?客户端又怎么生成“Stub”?下面将举例服务器端用Java平台开发,同时客户端也是Java平台开发,已有很多的项目支持Java的Web Service服务。具体有Axis、Xfire、CXF、JAX-WS、REST(JAX-RS)

文档评论(0)

gangshou + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档