Web Services是什么?

原创 2006年05月25日 22:46:00
Web Services突然热起来了,特别是M$.net为我们描述了一个互联共享的世界,其实这些美好前景当初在Java诞生时早已经憧憬过,但理想的实现过程总是崎岖漫长.
我们从一个应用看看Web Services是怎么运作的:
有一个咖啡连锁店的老板叫Coffee Break,要拓展自己销售的咖啡品种,他指示他的采购经理去寻找一些新的咖啡提供商,得到他们的咖啡全部价格,并且在需要时能够立即下订单,Coffee Break能够分析他们的价格,并决定选用哪一种咖啡,从哪个公司进货.
询价采购经理就将具体任务分配给软件工程师,软件工程师认为寻找新的咖啡提供商的最好办法是搜索UDDI注册中心.
UDDI注册中心:(Universal Description, Discovery, and Integration (UDDI) registry),UDDI Registry是一个逻辑上的统一体,在物理上则是以分布式系统的架构实施的,而不同站点之间是采用P2P(对等网络)架构实施的,因此访问其中任意一个站点就基本等于访问了UDDI Registry
当然,Coffee Break也在UDDI注册中心注册了自己.
软件工程师就用JAXR(Java API for XML Registries )发出了一个查询所有咖啡提供商的指令,JAXR在后台使用JAXM(Java API for XML Messaging)发出消息,也就是基于SOAP发送XML文本.
UDDI注册中心接受了这个XML文本,并开始精确的搜索,但搜索完成后,注册中心将发回那些有关怎样联系那些符合条件的咖啡经销商的信息.也是基于SOAP发回XML文本.
工程师的下一步工作就是从这些分销商名单中列出他们的咖啡销售价格,这个工作分两步:
1.通过JAX-RPC(Java API for XML-based RPC )完成获取和分析WSDL文本(Services Description Language (WSDL) document).这也是一个XML文本,它给出了所有关于Web service的信息:告诉访问者自己提供哪些服务,服务内容是什么,怎样获取这些服务内容等.
2.工程师分析了WSDL文本后,得到了获取咖啡销售价格的方法和相应的网址.他就向那些具体的咖啡经销商网址发出请求,以获得其销售的咖啡价格.
每个咖啡分销商都会接受到这样的请求,在他发出销售价格之前,他也会先去查询一下产品的当前期货价格,这样Coffee Break就得到了最新的XML文本格式的咖啡价格.如下面:
<coffee>
<单价>
<哥仑比亚咖啡>19.20</哥仑比亚咖啡>
</单价>

....
</coffee>
XML是即将取代HTML的最新的浏览器语言,我们平时通过浏览器上网浏览,看到的都是HTML编写的文件,将来都是XML编写的文件.
分析价格并订购
读取XML文本有两种方式:SAX和DOM,对于简单比价,使用SAX比DOM更有效率,但是如果要修改价格表,就要使用DOM,Coffee Break的工程师使用SAX比较了这些分销商发来的价格表,并得出了一张结果表,报送到采购经理或老板Coffee Break.一旦决定订购咖啡,也是通过发送XML文本和经销商联系.
通过Internet销售
Coffee Break 已经准备好了新的咖啡品种,需要在他的网站上发布这个咖啡品种新的价格.Coffee Break当然不能以自己进货的价格销售咖啡,工程师就使用DOM修改了一下上面的XML文档,将每个价格乘125%,这就是Coffee Break的咖啡销售价格.
工程师使用JSP做了一个订单表单.在这个JSP程序里,他可以从上面修改后的XML文档中读取每个咖啡的名称和价格.顾客只要选择购买数量,然后按Submit就当前咖啡放入自己的购物车,开始了网上购物.
Web Service是将XML文本在各个网站之间传送和接受,以达到信息交换的目的.在接受和传送时有一个协议,就是SOAP(Simple Object Access Protocol),这是个XML+http的协议.当前我们网站公布信息,都是通过http协议发送到用户的浏览器上,因此SOAP有广泛的应用基础,现在就差XML的普及.
不过,因为XML是纯粹的数据结构,但只有数据的互联网将倒退到学术科研时代,因此,类似Frontpage Dreamweaver基于XML的强大的页面设计工具是重要的,但是这样的可视化工具很难设计.
所以XML的普及有时间问题,那么Web Services提供的上述美好前景的真正实现,恐怕不是一两年内会达到的.
但是Web Services为专门从事互联网服务的公司带来的机会,因为他们的客户是一个个商业网站,因此,他们可以开发一个个商业应用,而不必将这些应用象普通软件一样安装在他们客户的服务器上,而是让他们的客户网站通过SOAP来调用这些软件功能,并支取一定的使用费.
对于作为客户的网站来说,购买了某个互联网服务,不必专门设立服务器,购买大量软件,还要维护他们,只要通过直接调用提供该功能的Web Services就可以,比如购物车功能,这是每个网上商店都必须的,但每个商家不一定去购买这个软件,只要在自己网页中直接调用网上商店的Web Services就可以。
但现在最致命的是Web Services的安全性。
Sun的Web Service:http://java.sun.com/webservices/docs/ea2/tutorial/index.html
Open source的Web Service服务器,需Tomcat同时运行:http://xml.apache.org/axis
Web Services突然热起来了,特别是M$.net为我们描述了一个互联共享的世界,其实这些美好前景当初在Java诞生时早已经憧憬过,但理想的实现过程总是崎岖漫长.
我们从一个应用看看Web Services是怎么运作的:
有一个咖啡连锁店的老板叫Coffee Break,要拓展自己销售的咖啡品种,他指示他的采购经理去寻找一些新的咖啡提供商,得到他们的咖啡全部价格,并且在需要时能够立即下订单,Coffee Break能够分析他们的价格,并决定选用哪一种咖啡,从哪个公司进货.
询价采购经理就将具体任务分配给软件工程师,软件工程师认为寻找新的咖啡提供商的最好办法是搜索UDDI注册中心.
UDDI注册中心:(Universal Description, Discovery, and Integration (UDDI) registry),UDDI Registry是一个逻辑上的统一体,在物理上则是以分布式系统的架构实施的,而不同站点之间是采用P2P(对等网络)架构实施的,因此访问其中任意一个站点就基本等于访问了UDDI Registry
当然,Coffee Break也在UDDI注册中心注册了自己.
软件工程师就用JAXR(Java API for XML Registries )发出了一个查询所有咖啡提供商的指令,JAXR在后台使用JAXM(Java API for XML Messaging)发出消息,也就是基于SOAP发送XML文本.
UDDI注册中心接受了这个XML文本,并开始精确的搜索,但搜索完成后,注册中心将发回那些有关怎样联系那些符合条件的咖啡经销商的信息.也是基于SOAP发回XML文本.
工程师的下一步工作就是从这些分销商名单中列出他们的咖啡销售价格,这个工作分两步:
1.通过JAX-RPC(Java API for XML-based RPC )完成获取和分析WSDL文本(Services Description Language (WSDL) document).这也是一个XML文本,它给出了所有关于Web service的信息:告诉访问者自己提供哪些服务,服务内容是什么,怎样获取这些服务内容等.
2.工程师分析了WSDL文本后,得到了获取咖啡销售价格的方法和相应的网址.他就向那些具体的咖啡经销商网址发出请求,以获得其销售的咖啡价格.
每个咖啡分销商都会接受到这样的请求,在他发出销售价格之前,他也会先去查询一下产品的当前期货价格,这样Coffee Break就得到了最新的XML文本格式的咖啡价格.如下面:
<coffee>
<单价>
<哥仑比亚咖啡>19.20</哥仑比亚咖啡>
</单价>

....
</coffee>
XML是即将取代HTML的最新的浏览器语言,我们平时通过浏览器上网浏览,看到的都是HTML编写的文件,将来都是XML编写的文件.
分析价格并订购
读取XML文本有两种方式:SAX和DOM,对于简单比价,使用SAX比DOM更有效率,但是如果要修改价格表,就要使用DOM,Coffee Break的工程师使用SAX比较了这些分销商发来的价格表,并得出了一张结果表,报送到采购经理或老板Coffee Break.一旦决定订购咖啡,也是通过发送XML文本和经销商联系.
通过Internet销售
Coffee Break 已经准备好了新的咖啡品种,需要在他的网站上发布这个咖啡品种新的价格.Coffee Break当然不能以自己进货的价格销售咖啡,工程师就使用DOM修改了一下上面的XML文档,将每个价格乘125%,这就是Coffee Break的咖啡销售价格.
工程师使用JSP做了一个订单表单.在这个JSP程序里,他可以从上面修改后的XML文档中读取每个咖啡的名称和价格.顾客只要选择购买数量,然后按Submit就当前咖啡放入自己的购物车,开始了网上购物.
Web Service是将XML文本在各个网站之间传送和接受,以达到信息交换的目的.在接受和传送时有一个协议,就是SOAP(Simple Object Access Protocol),这是个XML+http的协议.当前我们网站公布信息,都是通过http协议发送到用户的浏览器上,因此SOAP有广泛的应用基础,现在就差XML的普及.
不过,因为XML是纯粹的数据结构,但只有数据的互联网将倒退到学术科研时代,因此,类似Frontpage Dreamweaver基于XML的强大的页面设计工具是重要的,但是这样的可视化工具很难设计.
所以XML的普及有时间问题,那么Web Services提供的上述美好前景的真正实现,恐怕不是一两年内会达到的.
但是Web Services为专门从事互联网服务的公司带来的机会,因为他们的客户是一个个商业网站,因此,他们可以开发一个个商业应用,而不必将这些应用象普通软件一样安装在他们客户的服务器上,而是让他们的客户网站通过SOAP来调用这些软件功能,并支取一定的使用费.
对于作为客户的网站来说,购买了某个互联网服务,不必专门设立服务器,购买大量软件,还要维护他们,只要通过直接调用提供该功能的Web Services就可以,比如购物车功能,这是每个网上商店都必须的,但每个商家不一定去购买这个软件,只要在自己网页中直接调用网上商店的Web Services就可以。
但现在最致命的是Web Services的安全性。
Sun的Web Service:http://java.sun.com/webservices/docs/ea2/tutorial/index.html
Open source的Web Service服务器,需Tomcat同时运行:http://xml.apache.org/axis
 

Web Services是什么?

Web Service 是一种新的web应用程序分支,他们是自包含、自描述、模块化的应用,可以发布、定位、通过web调用。Web Service可以执行从简单的请求到复杂商务处理的任何功能。一旦部署以...

Web Services到底是什么

最近刚刚接触到Onvif协议,其规范中设备管理和控制部分所定义的接口均以Web Services的形式提供。那这个Web Services到底是个什么玩意啊? 经过一番周折,搜集到了不少形象易懂的解...
  • xdwyyan
  • xdwyyan
  • 2014年12月03日 17:05
  • 578

来自知乎-Web 建站技术中,HTML、HTML5、XHTML、CSS、SQL、JavaScript、PHP、ASP.NET、Web Services 是什么?

一个学期前我也和楼主差不多不知道这些都是啥,一个学期之后差不多都弄懂了,来讲讲自己的理解吧 > 首先要知道网站访问大概是什么个过程: 假设你在浏览器地址栏输入这个问题的地址 http:...

通用报表解决方案:SQL Server Reporting Services是什么

SQL Server Reporting Services是什么?     SQL Server Reporting Services(SSRS),微软企业级报表平台,和SQL Server Int...

ONVIF协议网络摄像机(IPC)客户端程序开发(4):使用gSOAP生成Web Services框架代码

《ONVIF协议网络摄像机(IPC)客户端程序开发》专栏,学ONVIF,跟我来!!!

AWS (Amazon Web services) 免费主机测试使用流程 – 绑定域名

AWS (Amazon Web services) 免费主机测试使用流程 – 绑定域名 Amazon EC2 除了做翻墙利器,同时也可以作为自己的网站主机啦,网站可以托管在 EC2 上面,并且还...
  • along602
  • along602
  • 2011年05月11日 17:31
  • 18345

Axis2 Web服务配置文件services.xml详解

在Axis1中部署服务时,我们使用service.wsdd文件来配置服务。在Axis2中,不再使用service.wsdd文件来配置服务,改用services.xml了。这两个配置文件的语法是截然不同...

Web Services 中XML、SOAP和WSDL的一些必要知识

Web Services 是由xml来定义数据格式的,通过SOAP协议在各个系统平台中传输,那么接下来讨论下SOAP和WSDL的各自作用。 SOAP和WSDL对Web Service、WCF进行深入...

就是这么简单!使用Rest-assured 测试Restful Web Services

使用 Rest-assured 测试 Restful Web Services  转载注明出处: http://www.cnblogs.com/wade-xu/p/4298819.html  ...
  • chndata
  • chndata
  • 2015年02月25日 16:42
  • 1169

就是这么简单!使用Rest-assured 测试Restful Web Services

使用 Rest-assured 测试 Restful Web Services 转载注明出处: http://www.cnblogs.com/wade-xu/p/4298819.html ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Web Services是什么?
举报原因:
原因补充:

(最多只允许输入30个字)