主要参考:w3shool、百度百科等,主要是有个全局上的概念认识
一、什么是Web Services
Web Service技术, 能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件, 就可相互交换数据或集成。依据Web Service规范实施的应用之间, 无论它们所使用的语言、 平台或内部协议是什么, 都可以相互交换数据。
Web Service是
自描述、 自包含的可用网络模块, 可以执行具体的业务功能。Web Service也很容易部署, 因为它们基于一些常规的产业标准以及已有的一些技术,诸如标准通用标记语言下的子集XML、HTTP。Web Service减少了应用接口的花费。Web Service为整个企业甚至多个组织之间的业务流程的集成提供了一个通用机制。
Web service是一个平台独立的,松耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。
•Web Services 是应用程序组件
•Web Services 使用开放协议进行通信
•Web Services 是独立的(self-contained)并可自我描述
•Web Services 可通过使用UDDI来发现
•Web Services 可被其他应用程序使用
•XML 是 Web Services 的基础
1.1 它如何工作
基础的 Web Services 平台是
XML + HTTP。HTTP 协议是最常用的因特网协议。
XML 提供了一种可用于不同的平台和编程语言之间的语言。
Web Service平台需要一套协议来实现分布式应用程序的创建。任何平台都有它的数据表示方法和类型系统。要实现互操作性,Web Service平台必须提供一套标准的类型系统,用于沟通不同平台、编程语言和组件模型中的不同类型系统。
目前这些协议有:
(1)xml和xsd (2)soap (3)wsdl (4)uddi
webservice的技术层次:
发现层–UDDI
描述层—wsdl
包装层—soap
传输层–TCP,HTTP,SMTP等
网络层
1.1.1 XML和XSD
可扩展的标记语言(标准通用标记语言下的一个子集)是Web Service平台中表示数据的基本格式。除了易于建立和易于分析外,XML主要的优点在于它既与
平台无关,又与厂商无关。XML是由万维网协会(W3C)创建,W3C制定的XML SchemaXSD 定义了一套标准的数据类型,并给出了一种语言来扩展这套数据类型。
Web Service平台是用
XSD来作为数据类型系统的。当你用某种语言如VB. NET或C# 来构造一个Web Service时,为了符合Web Service标准,所有你使用的数据类型都必须被转换为XSD类型。如想让它使用在不同平台和不同软件的不同组织间传递,还需要用某种东西将它包装起来。这种东西就是一种协议,如 SOAP。
1.1.2 soap
SOAP即简单对象访问协议(Simple Object Access Protocol),它是用于交换XML(标准通用标记语言下的一个子集)编码信息的轻量级协议。它有三个主要方面:soap-envelope为描述信息内容和如何处理内容定义了框架,将程序对象编码成为XML对象的规则,执行远程过程调用(RPC)的约定。SOAP可以运行在任何其他传输协议上。例如,你可以使用 SMTP,即因特网电子邮件协议来传递SOAP消息,这可是很有诱惑力的。在传输层之间的头是不同的,但XML有效负载保持相同。
Web Service 希望实现不同的系统之间能够用“软件-软件对话”的方式相互调用,打破了软件应用、网站和各种设备之间的格格不入的状态,实现“基于Web无缝集成”的目标。
1.1.3 wsdl
Web Service描述语言WSDL 就是用机器能阅读的方式提供的一个正式描述文档而基于XML(标准通用标记语言下的一个子集)的语言,用于描述Web Service及其函数、参数和返回值。因为是基于XML的,所以WSDL既是机器可阅读的,又是人可阅读的。一些最新的开发工具既能根据你的Web service生成WSDL文档,又能导入WSDL文档,生成调用相应Web service的代码。
1.1.4 UDDI
Universal Description, Discovery and Integration。
UDDI 的目的是为电子商务建立标准;UDDI是一套基于Web的、分布式的、为Web Service提供的、信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的Web Service注册,以使别的企业能够发现的访问协议的实现标准。
为加速Web Service的推广、加强Web Service的互操作能力而推出的一个计划,基于标准的服务描述和发现的规范(specification)。
以资源共享的方式由多个运作者一起以Web Service的形式运作UDDI商业注册中心。
UDDI计划的核心组件是UDDI商业注册,它使用XML文档来描述企业及其提供的Web Service。
UDDI商业注册提供三种信息:
White Page包含地址、联系方法、已知的企业标识。
Yellow Page包含基于标准分类法的行业类别。
Green Page包含关于该企业所提供的Web Service的技术信息,其形式可能是指向文件或URL的指针,而这些文件或URL是为服务发现机制服务的。
二、why webservice
2.1 最重要的事情是协同工作
由于所有主要的平台均可通过 Web 浏览器来访问 Web,
不同的平台可以借此进行交互。为了让这些平台协同工作,Web 应用程序被开发了出来。
Web 应用程序是运行在 Web 上的简易应用程序。它们围绕 Web 浏览器标准被进行构建,几乎可被任何平台之上的任何浏览器来使用。
2.2 Web services 把 Web 应用程序提升到了另外一个层面
通过使用 Web services,您的应用程序可向全世界发布功能或消息。
Web services 使用 XML 来编解码数据,并使用 SOAP 借由开放的协议来传输数据。
通过 Web services,您的会计部门的 Win 2k 服务器可与 IT 供应商的 UNIX 服务器进行连接。
2.3 Web services 有两种类型的应用
2.3.1 可重复使用的应用程序组件
有一些功能是不同的应用程序常常会用到的。那么为什么要周而复始地开发它们呢?
Web services 可以把应用程序组件作为服务来提供,比如汇率转换、天气预报或者甚至是语言翻译等等。
比较理想的情况是,每种应用程序组件只有一个最优秀的版本,这样任何人都可以在其应用程序中使用它。
2.3.2 连接现有的软件
通过为不同的应用程序提供一种链接其数据的途径,Web services有助于解决协同工作的问题。通过使用 Web services,您可以在
不同的应用程序与平台之间来交换数据。
2.4 适合使用Web Service的情况
1.跨越防火墙;
2.应用程序集成;
3.B2B集成;
4.软件重用
2.5 不适合使用Web服务的情况
1.单机应用程序;
2.局域网上的同构应用程序
分享到:
相关推荐
<br>第1章 net平台<br>1.1 net平台简介<br>1.1.1 什么是.net<br>1.1.2 net的功能<br>1.1.3 net的核心组件<br>1.2 net平台特点<br>1.3 net平台架构<br>1.4 本章小结<br>第2章 c#web编程基础<br>2.1 internet发展简史...
TCP/IP和Internet 8<br>2.1 一段历史 8<br>2.1.1 ARPANET 8<br>2.1.2 TCP...简介 13<br>2.3.1 Whois和Finger 14<br>2.3.2 文件传输协议 14<br>2.3.3 Telnet 14<br>2.3.4 Email 14<br>2.3.5 WWW 14<br>2.3.6 USENET News...
TCP/IP和Internet 8<br>2.1 一段历史 8<br>2.1.1 ARPANET 8<br>2.1.2 TCP...简介 13<br>2.3.1 Whois和Finger 14<br>2.3.2 文件传输协议 14<br>2.3.3 Telnet 14<br>2.3.4 Email 14<br>2.3.5 WWW 14<br>2.3.6 USENET News...
集成ACEGI 进行权限控制 <br>SWT可交互式Browser控件<br>JDK配置(注意)<br>RIA简介(第一部分)<br>在 Eclipse 中嵌入 NASA World Wind Java SDK,<br>用3DES加密解密 BadPaddingException<br>Web Service 打包生成...
<soap:address location="http://localhost:8080/axis2/services/HelloWorldService"/> </port> </service> </definitions> ``` 4. **打包服务**:将接口类、实现类和服务描述文件(WSDL)打包成一个`.aar`文件。...
它支持多种协议和标准,如WS-*(Web Services)、RESTful API、JAX-WS和JAX-RS等。在本案例中,我们将深入探讨如何利用CXF、Maven以及IntelliJ IDEA来搭建一个简单的Web服务示例。 一、CXF简介 Apache CXF允许...
<load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>Jersey Web Application</servlet-name> <url-pattern>/api/*</url-pattern> </servlet-mapping> ``` 三、创建RESTful服务 ...
<a href="#services">我们的服务</a> | <a href="#contact">联系我们</a> </nav> </header> <main> <section id="about"> <h2>关于我们</h2> <p>这是一个关于我们的简短介绍。</p> </section> ...
1. **网页简介**:这套作品是专为学生设计的个人主页网页设计题材,采用HTML+CSS布局制作而成,适用于Web前端期末大作业或大学生网页设计作业。整体设计简洁明快,色彩搭配活泼,非常适合初学者进行学习与实践。 2....
<name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.resource.memory-mb</name> <value>2048</value> </property> </...
<li><a href="#services">服务项目</a></li> <li><a href="#contact">联系我们</a></li> </ul> </nav> </header> <main> <article> <h2>文章标题</h2> <p>这是一篇介绍HTML的文章内容...</p> </article> ...
<a href="#services">Services</a> </nav> </header> <main> <article> <h2>Article Title</h2> <p>Article content goes here...</p> </article> <aside> <h3>Sidebar Title</h3> <p>Sidebar content ...
### Axis开发Web Services知识点 #### 一、Axis2简介及获取方法 Axis2是一个用于Java平台的高性能开源Web服务框架,支持多种协议如SOAP、HTTP等。它提供了强大的功能,如安全性和事务处理,同时也非常注重性能和可...
<implementationClass>weaver.ofs.webservices.OfsTodoDataWebServiceImpl</implementationClass> </service> ``` - **`<name>`**:服务的名称。 - **`<namespace>`**:服务的命名空间,用于区分不同的服务。 - **...
Webservices & IBM WSAD </book-title> <data type="lastEdition"> <day>23</day> <month>08</month> <year>2001</year> </data> <email>TonyDeng@enterinfo.net</email> <filename src="sg246292.pdf" /> ...
对于Web服务,Spring Boot提供了对多种Web服务技术的支持,其中包括JAX-WS(Java API for XML Web Services)和JAX-RS(Java API for RESTful Web Services)。在本例中,我们将关注CXF,它是JAX-WS的一种实现,用于...
<services> <service id="testService" className="com.yourcompany.TestServiceImpl"> <binding.id>http-get</binding.id> </service> </services> </xfire> ``` 6. **启动服务**:在主类中加载配置并启动...
### Web Services 学习基础 #### 一、Web Services 概述 Web Services 是一种用于在不同平台上交换数据和服务的标准方式。它允许不同系统之间进行通信,并且可以在各种不同的编程语言和技术栈中运行。Web Services...
- 不等于 `<>` - 小于 `<` - 大于 `>` - 小于等于 `<=` - 大于等于 `>=` - 对象引用是否相等 `Is` #### 四、逻辑运算符 - **逻辑非 `Not`** - **逻辑与 `And`** - **逻辑或 `Or`** - **异或 `Xor`** - **蕴含...