WebService 资料
编写人:刘天亮 编写时间:2007 年 11 月 30 日
审核: 版本:1.0
目录
一.什么是WebService ...................................................................................................................3
二. WebService的技术支持 .........................................................................................................3
2.1.XML和XSD........................................................................................................................3
2.2.SOAP ..................................................................................................................................4
2. 3.WSDL ................................................................................................................................4
2. 4.UDDI..................................................................................................................................4
2. 5.远程过程调用RPC与消息传递 ........................................................................................4
三. WebService优缺点 .................................................................................................................5
3.1.WebService优点 .................................................................................................................5
3.2.WebService缺点 .................................................................................................................5
四. WebService用途 .....................................................................................................................5
4.1 什么时候用WebService......................................................................................................5
4.1.1 跨越防火墙的通信..................................................................................................5
4.1.2 应用程序集成..........................................................................................................6
4.1.3 B2B的集成 ..............................................................................................................6
4.1.4 软件重用.................................................................................................................7
4.2 什么时候不用WebService.................................................................................................7
4.2.1 单机应用程序..........................................................................................................7
4.2.2 局域网上的同构应用程序......................................................................................8
五.WebService大体流程图 ...........................................................................................................8
六.WebService软件支持 ...............................................................................................................9
6.1 微软.NET............................................................................................................................9
6.2 Sun的Java WSDP ...............................................................................................................9
6.3 IBM的WebSphere...............................................................................................................9
6.4 Borland的JBuilder............................................................................................................10
6.5 BEA的WorkShop..............................................................................................................10
6.6 ApAche的Axis..................................................................................................................10
七.WebService语言支持 ................................................................................................................10
八.术语解释....................................................................................................................................10
8.1 XML..................................................................................................................................10
8.2 XSD...................................................................................................................................11
8.3 SOAP ................................................................................................................................11
8.4 WSDL ...............................................................................................................................12
8.5 UDDI.................................................................................................................................12
一.什么是 WebService
从表面上看,WebService 就是一个应用程序,它向外界提供了一个能够通过 Web 进行
调用的 API。这就是说,你能够用编程的方法通过 Web 调用来实现某个功能的应用程序。
如图:
外部接口 调用 webService
应用程序 API WebService
例如,笔者创建一个 Web Service,它的作用是查询某公司某员工的基本信息。它接受该员
工的编号作为查询字符串,返回该员工的具体信息。你可以在浏览器的地址栏中直接输入
HTTP GET 请求来调用罗列该员工基本信息的 JSP 页面,这就可以算作是体验 Web Service
了。如图:
Http 发送请求 查询数据
返 回 调 用
XML 形成 XML API
Web 服务器
WebService
API
数据库
从深层次上看,Web Service 是一种新的 Web 应用程序分支,它们是自包含、自描述、
模块化的应用,可以在网络(通常为 Web)中被描述、发布、查找以及通过 Web 来调用。
Web Service 便是基于网络的、分布式的模块化组件,它执行特定的任务,遵守具体的
技术规范,这些规范使得 Web Service 能与其他兼容的组件进行互操作。它可以使用标准的
互联网协议,像超文本传输协议 HTTP 和 XML,将功能体现在互联网和企业内部网上。Web
Service 平台是一套标准,主要目标是跨平台的可互操作性。为了达到这一目标,WebService
完全基于 XML(可扩展标记语言)、XSD(XMLSchema)等独立于平台、独立于软件供应
商的标准,是创建可互操作的、分布式应用程序的新平台。你可以用你喜欢的任何语言,在
你喜欢的任何平台上写 Web Service。
二. WebService 的技术支持
WebService 平台需要一套协议来实现分布式应用程序的创建。任何平台都有它的数据
表示方法和类型系统。要实现互操作性,平台无关性,Web Service 平台必须提供一套标准
的类型系统,用于沟通不同平台、编程语言和组件模型中的不同类型系统。目前这些协议有:
2.1.XML和XSD
可扩展的标记语言 XML 是 Web Service 平台中表示数据的基本格式。除了易于建立和
易于分析外,XML 主要的优点在于它既与平台无关,又与厂商无关。XML 是由万维网协会
(W3C)创建,W3C 制定的 XML SchemaXSD 定义了一套标准的数据类型,并给出了一种语
言来扩展这套数据类型。
Web Service 平台是用 XSD 来作为数据类型系统的。当你用某种语言如 VB.NET 或 C#
来构造一个 Web Service 时,为了符合 Web Service 标准,所有你使用的数据类型都必须被
转换为 XSD 类型。如想让它使用在不同平台和不同软件的不同组织间传递,还需要用某种
东西将它包装起来。这种东西就是一种协议,如 SOAP。
2.2.SOAP
SOAP 即简单对象访问协议(Simple Object Access Protocol),它是用于交换 XML 编码信
息的轻量级协议。它有三个主要方面:XML-envelope 为描述信息内容和如何处理内容定义
了框架,将程序对象编码成为 XML 对象的规则,执行远程过程调用(RPC)的约定。SOAP
可以运行在任何其他传输协议上。例如,你可以使用 SMTP,即因特网电子邮件协议来传
递 SOAP 消息,这可是很有诱惑力的。在传输层之间的头是不同的,但 XML 有效负载保持
相同。
Web Service 希望实现不同的系统之间能够用“软件-软件对话”的方式相互调用,打破了
软件应用、网站和各种设备之间的格格不入的状态,实现“基于 Web 无缝集成”的目标。
2. 3.WSDL
Web Service 描述语言 WSDL 就是用机器能阅读的方式提供的一个正式描述文档而基
于 XML 的语言,用于描述 Web Service 及其函数、参数和返回值。因为是基于 XML 的,所
以 WSDL 既是机器可阅读的,又是人可阅读的。
2. 4.UDDI
UDDI 的目的是为电子商务建立标准;UDDI 是一套基于 Web 的、分布式的、为 Web
Service 提供的、信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的 Web
Service 注册,以使别的企业能够发现的访问协议的实现标准。
2. 5.远程过程调用RPC与消息传递
Web Service 本身其实是在实现应用程序间的通信。我们现在有两种应用程序通信的方
法:RPC 远程过程调用 和消息传递。使用 RPC 的时候,客户端的概念是调用服务器上的远
程过程,通常方式为实例化一个远程对象并调用其方法和属性。RPC 系统试图达到一种位
置上的透明性:服务器暴露出远程对象的接口,而客户端就好像在本地使用的这些对象的接
口一样,这样就隐藏了底层的信息,客户端也就根本不需要知道对象是在哪台机器上。