UML软件工程组织

通过WebService实现Java与.Net互联(1)

作者:夏治

Web Service概述

Web Service是能够基于网络,尤其是基于万维网(World Wide Web)直接调用的能够处理离散任务或连续任务的软件模型。目前较为流行的应用是,由一家公司对其专有数据进行封装,提供Web Service,然后其它公司就可以通过Internet来动态使用这些在线服务。这为未来全球的电子商务发展提供了新的标准和架构。

Web Service是独立的、模块化的应用,能够通过因特网来描述、发布、定位以及调用。在Web Service的体系架构中包括三个角色:服务提供者(Service Provider)、服务请求者(Service Requestor)、服务注册器(Service Registry)。角色间主要有三个操作:发布(Publish)、查找(Find)、绑定(Bind)。

下图清楚的描述了三种角色,以及角色之间的作用关系。



Web Service协议标准

简单对象访问协议(SOAP)
SOAP是Simple Object Access Protocol的缩写,是一种基于XML的不依赖传输协议的表示层协议,用来在分散或分布式的应用程序之间方便地以对象的形式交换数据。在SOAP的下层,可以是HTTP/HTTP,也可以是SMTP/POP3,还可以是为一些应用而专门设计的特殊的通信协议。

SOAP包括三个主要部分:


  • SOAP封装结构:定义了一个整体框架,以表示消息中包含什么内容,谁来处理这些内容以及这些内容是可选的或是必需的。
  • SOAP编码规则:定义了用以交换应用程序定义的数据类型的实例的一系列机制。
  • SOAP RPC表示:定义了一个用来表示远程过程调用和应答的协定。

    Web Service描述语言(WSDL)

    WSDL是Web Service Description Language的缩写,该语言将网络服务定义成一个能交换消息的通信端点集,为分布式系统提供了帮助文档,同时也可作为自动实现应用间通信的解决方案。

    统一描述、发现和集成协议(UDDI)

    UDDI是一套基于Web的、分布式的、为Web Service提供的、信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的Web Service注册,以使别的企业能够发现的访问协议的实现标准。

    通过Java调用Web Service

    在这里我们通过.net实现了一个Web Service,它提供了这样的功能,将输入的两个数相加,返回结果。

    示例Web Service提供的功能

    该示例Web Service提供了两个整数相加的功能,使用C#来实现Web Service,可以通过http://10.16.92.29/java/math.asmx?wsdl访问Web Service描述文件,其对应的WSDL描述如下所示:


  •     

    版权所有:UML软件工程组织