WebService小结
http://blog.csdn.net/dandan8866/article/details/9063737 前言 之前对于WebService都是简单的知道,但是没有一个比较系统的了解。最近将其进行了下整理,对每种框架都做了些实例。 ? 正题 一、概念 先来看张WebService的总图,我会根据图进行讲解: WebService不是框架,更不是一种技术,而是一种跨平台,跨语言的规范。 ? 它是为了解决这一的需求场景:不同平台、不同语言所编写的应用之间如何相互调用。 ? WebService集中解决:远程调用,跨平台调用,跨语言调用。 ? 实际用途 1.同一个公司的新旧系统整合 Linux上的java应用,去调用widows平台的Delphi应用 2.不同公司的业务整合 业务的整合就要带来不同公司的系统整合。 不同公司的系统可能存在平台不同,语言不同的问题 3.内容聚合 一个应用需要提高天气预报、股票行情、黄金行情、编程语言行情…… 这个内容聚合的应用,需要调用大量不同平台、不同语言编写的应用方法 ? 二、技术基础 1.XML和XSD XML(Extensible Markup Language,可扩展标记语言),是Web Service平台中表示数据的基本格式。除了易于建立和易于分析外,XML主要的优点在于它既与平台无关,又与厂商无关。 ? XSD(XML Schemas Definition,XML结构定义),Web Service平台是用XSD来作为数据类型系统的。当你用某种语言如VB. NET或C# 来构造一个WebService时,为了符合Web Service标准,所有你使用的数据类型都必须被转换为XSD类型。 ? 2.WSDL(Web?Service Definition Language,WebService定义语言) WebService接口: 1.types(标准的Schema) 2.2n的message 3.portType-n个operation 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不像WSDL和SOAP一样被我们所熟知,但是它也是不可缺少的。 ? ?? ? ? UDDI是定义如何查找Web服务(及其WSDL文件),程序开发人员通过UDDI机制查找分布在互联网上的WebService,但是由于一般情况下,wsdl都位于公司的企业内部网中,所以使用者都知道WebService的位置,所以相对起来我们对于其稍显陌生。 ? 三、发展历史 WebService框架主要是经历了Axis1和Axis2然后转向了XFire和CXF,用的比较多的还是Axis和CXF,由于在网上很容易就会搜索到相关的实例讲解,所以我会在下篇对他们做一个对比,从客户端和服务端两方面来对Axis和CXF进行比较。 ? 小结: 其实WebService很简单,就是在服务端将接口发布成wsdl文件,然后客户端根据相应的url调用该wsdl文件即可。传输的介质是我们的XML,使用的语言是WSDL,遵循的协议是SOAP,并且需要通过UDDI进行注册和搜索。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |