简介:
本文是架构Web服务的系列文章的第二篇,从Web服务的技术定义开始,来探讨什么是Web服务。首先,作者从技术角度详细分析了
Web服务作为Internet环境下的软件组件的基本角色,从这个基本角色开始,详细介绍了这个组件对象的包装规范Web Service
"stack",并对Web服务的应用做了分类,最后借助Garnter Group的材料考察了Web服务的当前发展状况。
在本系列的上一篇文章中,我就为什么需要Web服务,从商业利益需求的角度进行了分析。本文将结合技术驱动的发展需求,详细介绍从技术上来看,到底什么是
Web服务,以及Web服务的应用分类。就技术角度而言,无论从哪个角度来看,Web服务都是对象/组件技术在Internet中的延伸。
本文所引用的资源主要包括两类,一类是Web服务的技术资源网站,包含了大量Web服务的技术信息,另一类是Web服务“stack"系列技术规范,他们
是一个整体的技术体系,包括UDDI、SOAP、WSDL、XML等。本文的最后给出了这些资源的链接,有兴趣的读者可以通过这些找到所需的内容。
Web对象
从外部的使用者的角度而言,Web服务是一种部署在Web上的对象/组件,它具备以下特征:
-
完好的封装性
,Web服务既然是一种部署在Web上的对象,自然具备对象的良好封装性,对于使用者而言,他能且仅能看到该对象提供的功能列表。
-
松散耦合
,
这一特征也是源于对象/组件技术,当一个Web服务的实现发生变更的时候,调用者是不会感到这一点的,对于调用者来说,只要Web服务的调用界面不
变,Web服务的实现任何变更对他们来说都是透明的,甚至是当Web服务的实现平台从J2EE迁移到了.NET或者是相反的迁移流程,用户都可以对此一无
所知。对于松散耦合而言,尤其是在Internet环境下的Web服务而言,需要有一种适合Internet环境的消息交换协议。而XML/SOAP正是
目前最为适合的消息交换协议。
-
使用协约的规范性
,
这一特征从对象而来,但相比一般对象其界面规范更加规范化和易于机器理解。首先,作为Web服务,对象界面所提供的功能应当使用标准的描述语言来描述(比
如WSDL);其次,由标准描述语言描述的服务界面应当是能够被发现的,因此这一描述文档需要被存储在私有的或公共的注册库里面。同时,使用标准描述语言
描述的使用协约将不仅仅是服务界面,它将被延伸到Web服务的聚合、跨Web服务的事务、工作流等,而这些又都需要服务质量(QoS)的保障。其次,我们
知道安全机制对于松散耦合的对象环境的重要性,因此我们需要对诸如授权认证、数据完整性(比如签名机制)、消息源认证以及事务的不可否认性等运用规范的方
法来描述、传输和交换。最后,在所有层次的处理都应当是可管理的,因此需要对管理协约运用同样的机制。
-
使用标准协议规范
,作为Web服务,其所有公共的协约完全需要使用开放的标准协议进行描述、传输和交换。这些标准协议具有完全免费的规范,以便由任意方进行实现。一般而言,绝大多数规范将最终有W3C或OASIS作为最终版本的发布方和维护方。
-
高度可集成能力
。由于Web服务采取简单的、易理解的标准Web协议作为组件界面描述和协同描述规范,完全屏蔽了不同软件平台的差异,无论是CORBA、DCOM还是EJB都可以通过这一种标准的协议进行互操作,实现了在当前环境下最高的可集成性。
Web Service "Stack"
在前一节中,我们已经了解到为了完成在松散耦合的环境下的对象访问,以及在基本对象访问之上的诸如事务、工作流、安全机制等。实现一个完整的Web服务体系需要有一系列的协议规范来支撑。
Figure 1. Web Service "stack"
其中,绿色部分是先前已经定义好的并且广泛使用的传输层和网络层的标准:IP、HTTP、SMTP等。而蓝色部分是目前开发的Web服务的相关标准协议,
包括服务调用协议SOAP、服务描述协议WSDL和服务发现/集成协议UDDI,以及服务工作流描述语言WSFL。而橙色部分描述的是更高层的待开发的关
于路由、可靠性以及事务等方面的协议。黄色部分是各个协议层的公用机制,这些机制一般由外部的正交机制来完成。
从以上这个技术层次图我们看以看到,Web服务追求的第一目标是简单性。可能大家会觉得很奇怪,有那么多协议,怎么能说他简单。
首先,这些协议本身都是简单的,无论是HTTP,
FTP等传统的TCP/IP系统的网络协议,还是SOAP, WSDL, UDDI,
WSFL等基于XML的协议,他们设计原则中的一个最重要点就是力求简单性。相信大家如果对XML、SOAP等有深入了解的话,一定会深深体会这一点。
其次,一个可以使用的Web服务应当按照需要选用若干层次的功能,而无需所有的特性。比如在目前状况下,一个简单应用可能只要使用WSDL/SOAP就可以架构一个符合规范的Web服务了。
最后,所有的机制完全是基于现有的技术,并没有创造一个完全的新体系。无论是IPv4、HTTP、FTP这些现有的网络协议,还是SOAP、WSDL等这些基于XML而定义的协议都是遵循着一个原则:继承原有的被广泛接受的技术,这样才能使得Web服务被广泛接受。
Web服务的类别
综合当今的Web应用以及Web服务的特点,我们认为Web服务实施的领域可以分为四类:
-
Business-Oriented Web Service:
该类服务针对的是那些面向企业应用服务,包括企业内部的ERP系统,企业间的SCM/CRM等系统。当这些系统以Web服务的形式在网络
(Internet和intranet)中出现时,企业内的应用集成将更未容易,而在企业间的众多合作伙伴的系统对接也将不再是无法完成的任务。目前现有
的解决方案和产品的提供商有Bowstreet、Epicentric等。
-
Consumer-Oriented Web Service:
此类服务针对的是那些原先的B2C的网站的改造,为这些Browser-Oriented的Web应用增加(注意是增加)了Web服务的应用界面,使得第
三方的桌面工具或其自身提供的增值的桌面工具能够利用更优秀的用户界面提供跨越多个B2C服务的桌面服务。这将使得用户使用Internet更为方便,能
够获得更加便捷的服务。比如我们完全就可以在个人理财桌面系统中集成(调用)Internet上的股票价格查询Web服务、机票预定Web服务等,使得个
人理财应用的自动化程度更高。
-
Device-Oriented Web Service:
此类服务的使用终端一般是手持设备和日用家电,对于前者而言,可以在不用修改网络服务的体系架构的前提下,令先前的网络服务支持除PC以外的各种终端,比
如Palm、PocketPC、手机等。如此,那些天气预报服务、Email服务、主动信息服务等将更为有效和便捷。而后者对于日用家电,则可能是一个市
场的启动期,有了Web服务作为基础框架,智能型的日用家电将真正获得标准的支持,从而有了广泛使用的可能。
-
System-Oriented Web Service:
一些传统意义上的系统服务,比如用户权限认证,系统监控等,如果被迁移到全球范围的Internet上,或者企业内部的intranet上,其作用范围将
从单个系统或局部网络拓展到整个企业网络或整个Internet。如此,基于同一系统服务的不同应用将得以在整个Internet环境中部署,譬如跨国企
业的所有在线服务可以使用同一个用户权限认证Web服务。
Web服务: 当今的技术最亮点
Figure 2. Web服务的当前发展状况
以上这幅图是Gartner
Group在研究了所有IT主流时尚技术的发展道路后,作出的抽象模型。Y轴表明技术的受关注程度,而X轴则表示技术的应用的成熟度。每一项技术在从出现到成熟的整个过程都将沿着图中的曲线前进,而且典型地,都将被划分为五个阶段:
- 技术显现:一门技术被发明或定义之后,开始进入公众的视野;
-
不断膨胀的期望期:由于该项技术的划时代的突破,使人们对这项技术有着无比美好的想象和期望,这一阶段类似"网络的泡沫器";
-
希望破灭之后的醒悟期:由于每项技术都不是万能的,真正获得使用仍然需要务实的加以应用研究,因此此时人们发现这项技术似乎并没有期望中那么有用,这一阶段类似"网络的泡沫破灭";
-
豁然开朗的应用发展期:经过了一个阶段的开发和研究,该项技术终于走上了良性发展的轨道,越来越多的人接受并使用了该项技术;
-
大量的工业化生产期:该项技术成为业界主流,大量应用在具体的环境中。
参考资料
- Web Service 技术/评论网站
- 解决B2B电子商务应用交互和集成的InterOP
Stack系列技术标准规范
-
UDDI执行白皮书
, UDDI-China.org, UDDI.org
-
UDDI技术白皮书
, UDDI-China.org, UDDI.org
-
UDDI程序员API规范
, UDDI-China.org, UDDI.org
-
UDDI数据结构参考
, UDDI-China.org, UDDI.org
-
Web Service Description Language (WSDL) 1.0
, IBM, 25 Sep
2000
-
SOAP:
Simple Object Access Protocol Specification 1.1
, IBM,
Microsoft, DevelopMentor, 2000
-
Extensible Markup
Language (XML) 1.0 (Second Edition)
, W3C, 6 Oct 2000
分享到:
相关推荐
本篇教程旨在为读者提供一个完整的 Web Service 入门指南,涵盖了 Web Service 的基本概念、架构、SOAP 协议、WSDL 文件、_WS-Security 等重要知识点。 Web Service 基本概念 Web Service 就是 WEB 服务,能够将...
Web Service 的体系架构主要涉及以下几个角色: 1. **服务提供者**:提供 Web Service 的一方,负责定义和发布服务。 2. **服务请求者**:消费 Web Service 的一方,根据需要调用相应的服务。 3. **服务中介者**:...
Web Service架构 Web Service vs. CORBA/DCOM/EJB Web Service是使用Web的新模式 通过程序自动启动和处理商务事务,而并非使用浏览器 能够在一个分布式的计算环境中动态地描述、发布、发现和调用 支持基于Web ...
文章首先介绍了电子商务的概念和发展趋势,然后分析了Web Service的技术特性和架构,最后提出了一种基于独立安全服务的可重用的、柔性的电子商务安全体系结构。 knowledge point 1: 电子商务的概念和发展趋势 ...
WEB SERVICE是一种基于SOA(Service-Oriented Architecture)架构的分布式应用架构,能够提供可靠、安全、可扩展的服务。WEB SERVICE架构主要包括三个部分:服务提供者、服务注册中心和服务消费者。 异构数据库同步...
【标题】"09年微软架构师Web Service PPT讲义"揭示了当年微软对于Web Service技术的深度理解和实践指导,这是一份由微软架构师精心编排的培训材料,旨在帮助开发者和IT专业人士理解并掌握Web Service的核心概念、...
总结来说,基于REST架构的Web服务设计是现代Web开发中常用的一种技术,它提供了简单、高效且易于扩展的服务接口,适用于各种规模的项目,特别是互联网和移动应用。通过遵循REST原则,开发者能够构建出更加灵活、可...
### 基于Ajax的Web+Service架构 #### 摘要 Web Service作为一种基于标准的应用集成方式,允许不同客户端使用其提供的服务。本文重点介绍了如何利用Ajax进行异步消息发送,并采用SOAP协议作为Web服务通信的基础,...
【SoapWeb Service架构及其应用】 SoapWeb Service架构是一种基于XML的通信协议,用于不同系统间的互操作性。它允许应用程序通过Internet交换结构化的信息。在本文中,我们将深入探讨SoapWeb Service的关键技术、...
Web Service,是一种基于网络的、松散耦合的服务架构模式,它允许不同的应用程序之间交换数据和服务,无需知道对方的内部实现细节。通过XML-RPC(XML Remote Procedure Call)或SOAP作为通信手段,Web Service使得...
SOA(Service-Oriented Architecture)服务导向架构是Web Service的一个高级应用模式,它强调构建可重用的服务,通过服务组合实现业务流程。理解SOA需要熟悉XML、HTTP/HTTPS作为基础协议,以及SCHEMA/DTD用于XML数据...
Java Web Service 是一种基于 XML 的分布式系统架构,它使得不同的系统和应用程序可以通过标准的协议和数据格式进行通信和交互。下面是 Java Web Service 的总结,涵盖了 Web Service 的原理、技术支持、 AXIS 实现...
这将为Web服务提供基础架构。 2. **定义服务接口**:创建一个接口,声明要公开的方法。这些方法将在Web服务中暴露,供客户端调用。接口通常会继承自ISoapServerInterface,这是Delphi为SOAP服务提供的基础接口。 3...
Web Service架构项目源码是开发者学习和理解Web Service技术的重要资源。本压缩包包含四个Web Service架构项目,每个项目都可能涉及不同的技术和实现方式,旨在帮助学习者深入理解Web Service的工作原理及其在实际...
随着技术的发展,XML Web Service已演变为更高级的概念,如SOA(Service-Oriented Architecture,面向服务架构),微服务等。因此,不断学习新的技术和最佳实践是必要的。 总之,XML Web Service开发是一个涉及多个...
标题:J2EE Web Service 描述:J2EE Web Service. scdjws认证教材。 从给定的信息中,我们可以深入探讨几个关键的知识点,这些知识点不仅涵盖了J2EE Web Service的核心概念,还涉及了其在企业级应用中的作用以及与...
### 解析Restful Web Service架构 #### 一、HTTP协议基础 HTTP(HyperText Transfer Protocol)是一种基于文档的协议,用于客户端与服务器之间的通信。它规定了一套标准的请求和响应格式,使得不同系统间的交互...
一套关于web service技术架构的ppt,对于学习web service具有很大的帮助,其分为I,II,III共三部。主要讲述了web service 技术架构和核心标准的阐述,以及部署和开发web service。
2-WS--WebService-Developing Web Service with Visual Web Developer Express 2005.ppt详细讲解了如何使用微软的Visual Web Developer Express 2005工具创建Web服务。这个IDE提供了一个直观的环境,使得开发者能够...