一、什么是Web Service?
Web Service是一个基于可编程的web的应用程序,用于开发分布式的互操作的应用程序。
Web Service技术, 能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件, 就可相互交换数据。依据Web Service规范实施的应用之间,无论它们所使用的语言、平台或内部协议是什么, 都可以相互交换数据。
Web Service也很容易部署, 因为它们基于一些常规的产业标准以及已有的一些技术,诸如标准通用标记语言下的子集XML、HTTP。
Web Service减少了应用接口的花费。
Web Service为整个企业甚至多个组织之间的业务流程的集成提供了一个通用机制。
Web Service是一种新的Web应用程序分支,其可以执行从简单的请求到复杂商务处理的任何功能。一旦部署以后,其他Web Service应用程序可以发现并调用它部署的服务。因此,Web Service是构造分布式、模块化应用程序和面向服务应用集成的最新技术和发展趋势。
二、Web Service解决的问题
越来越多的网络环境下的Web应用系统被建立起来,利用HTML、CGI等Web技术可以轻松地在Internet环境下实现电子商务、电子政务等多种应用。然而这些应用可能分布在不同的地理位置,使用不同的数据组织形式和操作系统平台,加上应用不同所造成的数据不一致性,使得如何将这些高度分布的数据集中起来并得以充分利用成为急需解决的问题。
Web Service就是用来解决这一问题而提出的新技术。
三、Web Service的基础
l TCP/IP:通用网络协议,被各种设备使用
l HTML(标准通用标记语言下的一个应用):通用用户界面,可以使用HTML标签显示数据
l .NET: 不同应用程序间共享数据与数据交换
l Java:写一次可以在任何系统运行的通用编程语言,因为java具有跨平台特性
l XML(标准通用标记语言下的一个子集):通用数据表达语言,在web上传送结构化数据的容易方法
他们的特点是其开放性,跨平台性。这就是Web Service 的基础。
四、Web Service的重要技术
平台不同,数据表示方法和类型系统不同。要实现互操作性,Web Service平台必须提供一套标准的类型系统,用于沟通不同平台、编程语言和组件模型中的不同类型系统。
4.1XML和XSD
XML:Web Service平台中表示数据的基本格式。
l 易于建立和易于分析
l 既与平台无关,又与厂商无关。
XSD: Web Service平台中数据类型系统。
XML解决了数据表示的问题,但它没有定义一套标准的数据类型,更没有说怎么去扩展这套数据类型。W3C制定的XML Schema(XSD)就是专门解决这个问题的一套标准。它定义了一套标准的数据类型,并给出了一种语言来扩展这套数据类型。
为了符合Web Service标准,所有你使用的数据类型都必须被转换为XSD类型。如想让它使用在不同平台和不同软件的不同组织间传递,还需要用某种东西将它包装起来。这种东西就是一种协议,如 SOAP。
4.2SOAP
SOAP即简单对象访问协议(Simple Object Access Protocol),它是用于交换XML(标准通用标记语言下的一个子集)编码信息(数据)的轻量级协议。
4.3WSDL
你会怎样向别人介绍你的Web service有什么功能,以及每个函数调用时的参数呢?
用机器能阅读的方式提供一个正式的描述文档。Web service描述语言(WSDL)就是这样一个基于XML(标准通用标记语言下的一个子集)的语言,用于描述Web service及其函数、参数和返回值。WSDL既是机器可阅读的,又是人可阅读的,这将是一个很大的好处。一些最新的开发工具既能根据你的Web service生成WSDL文档,又能导入WSDL文档,生成调用相应Web service的代码。
4.4UDDI
注册企业自身提供的Web Service,以使别的企业能够发现访问使用。
是一种目录服务,企业可以使用它对 Web services 进行注册和搜索。