现在的位置: 首页 > 综合 > 正文

WebService小结

2012年08月08日 ⁄ 综合 ⁄ 共 1645字 ⁄ 字号 评论关闭

前言

之前对于WebService都是简单的知道,但是没有一个比较系统的了解。最近将其进行了下整理,对每种框架都做了些实例。

 

正题

一、概念

先来看张WebService的总图,我会根据图进行讲解:


WebService不是框架,更不是一种技术,而是一种跨平台,跨语言的规范。

 

它是为了解决这一的需求场景:不同平台、不同语言所编写的应用之间如何相互调用。

 

WebService集中解决:远程调用,跨平台调用,跨语言调用。

 

实际用途

1.同一个公司的新旧系统整合

Linux上的java应用,去调用widows平台的Delphi应用

2.不同公司的业务整合

业务的整合就要带来不同公司的系统整合。

不同公司的系统可能存在平台不同,语言不同的问题

3.内容聚合

一个应用需要提高天气预报、股票行情、黄金行情、编程语言行情……

这个内容聚合的应用,需要调用大量不同平台、不同语言编写的应用方法

 

二、技术基础

1.XMLXSD

XML(Extensible Markup Language,可扩展标记语言),是Web Service平台中表示数据的基本格式。除了易于建立和易于分析外,XML主要的优点在于它既与平台无关,又与厂商无关。

 

XSD(XML Schemas Definition,XML结构定义),Web Service平台是用XSD来作为数据类型系统的。当你用某种语言如VB. NETC# 来构造一个WebService时,为了符合Web Service标准,所有你使用的数据类型都必须被转换为XSD类型。

 

2.WSDL(Web Service Definition Language,WebService定义语言)

WebService接口:

1.types(标准的Schema

2.2nmessage

3.portType-noperation


WebService实现:

1.binding元素——N个更详细的operation

2.service——指定WebService的服务器地址


实例:

 


通俗地说,WSDL文档描述了WebService如下3个方面:

WHAT:该WebService包含“什么”操作。

HOW:该WebService的操作应该“怎样”调用?

WHERE:该WebService的服务地址。

 

3.SOAP(Simple Object Access Protocol,简单对象访问协议)

SOAP依赖于XML文档来构建,一条SOAP消息其实就是一份特定的XML文档.


Envelop

根元素


Header

Header是可选的,由程序员控制添加。


Body

Body元素总是默认的。Body元素里可有两种情况:

——当WebService交互正确时,Body元素里的内容由WSDL控制。

——当WebService交互出错时,Body元素内容将是Fault子元素。

 

4.UDDI(Universal Description, Discoveryand Integration,通用描述、发现与集成服务)

    UDDI不像WSDLSOAP一样被我们所熟知,但是它也是不可缺少的。

    

    UDDI是定义如何查找Web服务(及其WSDL文件),程序开发人员通过UDDI机制查找分布在互联网上的WebService,但是由于一般情况下,wsdl都位于公司的企业内部网中,所以使用者都知道WebService的位置,所以相对起来我们对于其稍显陌生。

 

三、发展历史

WebService框架主要是经历了Axis1Axis2然后转向了XFireCXF,用的比较多的还是AxisCXF,由于在网上很容易就会搜索到相关的实例讲解,所以我会在下篇对他们做一个对比,从客户端和服务端两方面来对AxisCXF进行比较。

 

小结:

其实WebService很简单,就是在服务端将接口发布成wsdl文件,然后客户端根据相应的url调用该wsdl文件即可。传输的介质是我们的XML,使用的语言是WSDL,遵循的协议是SOAP,并且需要通过UDDI进行注册和搜索。

 

 

 

 

抱歉!评论已关闭.