Web Services是什么?

services|web

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

时间: 2024-10-20 22:55:28

Web Services是什么?的相关文章

Web Services的测试模型与代码摘录

测试Web Services的有效性.性能.可伸缩性.可靠性以及安全性时所面临的主要挑战是 Web Services的分布性. 为了使完整的Web Services能够实现预期的功能,就要求客户端和服务都要满足一系列的要求.接口必须在其WSDL文档中正确描述出来,消息必须遵守传输协议规范(如HTTP1.1)和消息协议(如SOAP 1.1).同时消息必须遵守描述该服务的WSDL文档中的契约,要求同时考虑到消息的内容和传输层的绑定.加上综合的安全条款.互操作性问题.UDDI注册要求以及一定负载下的性

演练:从 Windows 窗体调用 XML Web services

services|web|window|xml XML Web services 是 Visual Studio 的一个新功能,它提供在松耦合环境中使用标准协议(如 HTTP.XML.XSD.SOAP 和 WSDL)交换消息的功能.可以结构化和类型化这些消息或对这些消息进行松散定义.因为 Web 服务基于标准协议,所以 Web 服务应用程序可以与各种不同的实现.平台和设备通讯.有关更多信息,请参阅托管代码中的 XML Web services.可以使用 Web 服务增强 Windows 窗体功能

使用Soap消息调用Web Services

services|web Web Services技术使异种计算环境之间可以共享数据和通信,达到信息的一致性.随着异种计算机环境的不断增加,我们会更加经常的调用各种不同计算机体系中编写和发布的Web Services,作者在本文中给出了使用VB应用程序调用java平台编写和发布的Web Services的实践过程, 并且分析了如何根据WSDL文件构造SOAP消息的方法.    一 SOAP简介     1.SOAP定义     SOAP(Simple Object Access Protocol

面向Microsoft SQL Server 2005的本机XML Web Services概述

了解如何借助SQL Server 2005(以前称为"Yukon")中的SOAP/HTTP来设置和使用XML Web Services.文中还包含了相关的示例.为了从本文最大地受益,应该对Web服务技术具有基本的了解,包括HTTP.SOAP和WSDL.它包含的具体内容有:要求.HTTP终结点.创建HTTP终结点.身份验证与安全.WSDL.SOAP RPC:方法调用.批处理:即席查询和管理. 简介 Microsoft SQL Server 2005 提供了一个标准机制,用于使用 SOAP

用Web Services服务实现文件上传

services|web|上传 建立一个Web Services服务,public string UploadFile(byte[] fs,string FileName) { try { ///定义并实例化一个内存流,以存放提交上来的字节数组. MemoryStream m = new MemoryStream(fs); ///定义实际文件对象,保存上载的文件. FileStream f = new FileStream(Server.MapPath("") + "\\&q

Web Services和其他的技术的比较

services|web|比较   XMLHTTP与SOAP:    XML是web serivces的核心基础技术,是SOAP实现的关键所在:而XMLHTTP就是根据XML来设计的.从实现的方式上讲:XMLHTTP是基于浏览器的,只要有IE,就能实现向服务器传递XML字符串,具有很高的通用性.但是浏览器不是用来做XMLHTTP,它是面向大众用户浏览的,如果能用XML完成各种操作,必然会影响到用户.比如以前版本的msxml的对应浏览器,是可以访问客户端XML文档(初始时为XMLHTTP设计的),

Build Data-Driven Web Services with Updated XML Support for SQL Server 2000

server|services|web|xml Download the code for this article: SQLXML3.exe (239KB) --->SUMMARY XML is becoming the ubiquitous data format on the Web, and XML support in SQL Server is evolving to meet the additional demand. Using XML, SOAP, HTTP, and SQL

几点有关Web Services的技术学习总结

services|web 1.在weblogic的samples程序运行后,可以看到程序的运行情况和soap的生成和服务器的soap的生成情况.2.在workshop中使用web services时,可以看到代码情况,而从sample运行之后可以看到数据的流程和过程的关系,对于web services而言,目前还是一个开放的框架,如果要使用web services,就需要用相关的开发工具,这些开发工具似乎已经与平台绑定到一起了,而且不同的平台的部署方式也不一样:weblogic----works

COM+ Web 服务:通过复选框路由到 XML Web Services(1) (微软中国)

services|web|xml|复选框|微软 COM+ Web 服务:通过复选框路由到 XML Web Services John Noss 和 Jonathan HawkinsMicrosoft Corporation 2001年11月 摘要:COM+ Web 服务新增了某些功能,可与 Microsoft .NET Remoting 集成,并通过 SOAP for COM+ 组件实现 XML Web Services 发布的复选框激活.本文通过几个示例介绍基本的互操作性.配置以及托管和非托管