developerWorks : xml : 架构Web Service : 基于Web服务的应用、解决方案和开发平台
架构Web Service: 基于Web服务的应用、解决方案和开发平台
内容:
Public UDDI Registry
Microsoft Halistorm
Bowstreet Solution
DealEasy Enterprise Portal Solution
Web服务构建平台与服务组件
Microsoft .NET
IBM Web Service
Sun ONE
Case Study: 实践Web服务
参考资料
作者简介
相关内容:
为什么需要Web服务?
什么是Web服务?

柴晓路 (fennivel@uddi-china.org)
Chief System Architect
2001年7月24日

本文是架构Web服务的系列文章的第三篇,继Web服务的技术定义和技术规范介绍之后,来探讨目前现有的Web服务实践。首先,作者考察了现有的Web服务应用,然后考察了一些B2B解决方案提供商提供的基于Web服务的解决方案和产品,最后对几大平台供应商所提供的Web服务的开放工具与平台作全面的介绍。

在本系列的上一篇文章中,我就什么是Web服务,Web服务使用的标准和技术作了详细的探讨。那么目前是否已经有基于这样技术的应用、解决方案和开发工具交付给用户呢?答案是肯定的,Web服务已经开始实践了。目前来看,现有的基于Web服务架构的应用已经开始在Internet/intranet中部署了。他们涉及到前面提到的Business-Oriented Web Service、Client-Oriented Web Service、Device-Oriented Web Service和System-Oriented Web Service等。

本文所引用的资源主要包括两类,一类是Web服务的技术资源网站,包含了大量Web服务的技术信息,另一类是Web服务“stack"系列技术规范,他们是一个整体的技术体系,包括UDDI、SOAP、WSDL、XML等。本文的最后给出了这些资源的链接,有兴趣的读者可以通过这些资源链接找到所需的内容。

Public UDDI Registry

UDDI Registry是一个面向系统使用的Web服务,作为Web服务的技术注册中心而存在,关于UDDI Registry,我在本专栏中已经使用了多篇文章加以介绍,在这里就不再赘述了。以下是这些文章的链接。

Microsoft Halistorm

Microsoft的Halistorm是架构在Microsoft自身的.NET平台之上的,提供了基于 Web 的分布式应用程序之间共享信息时所需的一些基础资源平台。这是一个面向个人用户的Web服务平台,用于个人用途的存储、检索和交换信息。不过,HailStorm 的设计目的并非是用来管理任何类型的信息,而是专门用来管理为个人存储的个人专有信息。以下是一些有一定关系但是分别代表不同情景的示例:

  • 您正在路上行走,此时需要查看一下日历,看看今天安排了哪些会议。您找到一个Internet终端后,登录到基于Web的日历。

  • 您在使用家中的计算机。自动生成的桌面墙纸在角落中包含一个小日历,其中标记了您已在Microsoft Outlook(或其他带有日历的应用程序)日历中记录的生日和周年纪念日。

  • 您正在使用计算机工作,刚安装了一个新应用程序,用于帮助安排公司用于鼓励合伙用车的合乘系统。使用它,您可以协调自己的日程安排,使之与合乘组中其他人的日程安排一致。

此外,列车运营商也许可以提供一项网上列车时刻表服务,借助微软的新技术,随时把最新的列车到发信息送到你的桌面或其他设备。而如果你再大胆地展开自己联想的翅膀,就会发现这对于象联邦速递、中国国际航空公司等大公司的意义很可能是革命性的。此外,HailStorm的客户端将不仅仅是Microsoft的MSN Messenger,还可以是Palm/PocketPC等,由此还可以想像一下,那时候你将在股票价格达到一定水平时马上就能够从自己的手持电脑或其他设备中得到即时信息,并且可以随时通过你的即时通讯软件把股票卖掉或者完成其它任何工作。

Bowstreet Solution

Bowstreet是由Gartner Group评估的六家Web服务领域最领先的企业之一(这六家企业包括:Microsoft、IBM、HP、Bowstreet、SUN和Oracle)。Bowstreet的销售的主要产品是两个:Bowstreet? Business Web Factory和Business Web Portal Solution。

Bowstreet Business Web Factory是一个Web服务的建模、装配、动态更改管理以及定制的平台。它由三部分组成:"Designer"、"Customizer"和"Automation Engine"。

  • "Designer",使用Designer,程序员能够按照参数驱动的模式来装配Web服务,而不需要特别地编写代码,一般这些参数包括Web服务的调用规范以及调用行为的上下文等。

  • "Customizer",通过使用这个简单的基于浏览器的工具,商务人员能够定制用户的Profile以定义其使用Web应用的行为。

  • "Automation Engine"能够在运行时态接受Designer和Cusomizer进行的服务配置的更改,同时创建新的经过定制的Web应用。

Business Web Portal Solution包含Bowstreet针对企业电子商务而开发的一整套商务产品,诸如Enterprise Portal、Supply Chain Collaboration等,而这些产品全部基于Web服务,能够在一个统一的平台下进行集成交互。

DealEasy Enterprise Portal Solution

DealEasy Enterprise Portal完全基于两种技术:

  • 信息共享;
  • 服务集成。

其中信息共享包括:

  • 客户与企业内部员工关于客户支持的信息共享 (共享的信息来自于企业内部客户支持的信息、客户支持的反馈信息以及客户的自助服务的经历)
  • 合作伙伴与企业的信息共享 (主要可能包括市场信息[比如可以包括客户反馈信息],技术信息和运营信息等)
  • 企业内部员工的信息共享 (内部技术经验,项目经验,市场经验等等)

服务集成包括:

  • 合作伙伴与企业信息系统的集成,使得合作的响应度增加,成本降低,比如供应链;
  • 企业内部系统的集成,使得内部的协同工作真正实现;
  • 大型客户与企业客户系统的对接,提高大型客户的满意度,降低服务成本。

Portal的组件服务包括:Collaborative Platform / Knowledge Base / Information Accelerator / Private UDDI Registry / Routing and Reliability Service。

Web服务构建平台与服务组件

以下是有主要平台提供商提供的Web服务的开发工具和平台:

Microsoft .NET

Microsoft .NET无疑是概念上和技术上的双料冠军,其涵盖面和复杂程度是首屈一指的,这其实也恰如其分地反映了Microsoft在XML Web服务领域的领导地位。.NET的框架可以参阅下图:

Figure 1.   Microsoft .NET的体系框架

其中Visual Studio .NET已经有了beta 2,可以通过测试和合作伙伴的方式获得。其他的一些开发平台和开发组件可以通过以下网址访问:

Microsoft的Web服务的全套平台和工具无疑是优秀的,但是其缺点也是明显的,无法在Windows平台之外的平台上使用,不过Microsoft宣称在今年及以后.NET的运行平台.NET Runtime (Common Language Runtime)将会陆续支持FreeBSD、Linux以及UNIX,让我们拭目以待。

IBM Web Service

IBM在Web服务领域的拓展一改上一个世纪的稳重而稍嫌保守的作风,变得积极进取、大步流星,而且步步坚实。在Web服务的规范上,Microsoft是IBM的主要合作伙伴,诸如SOAP、WSDL和UDDI,IBM和Microsoft都是绝对的技术先入者。而在内部实现技术,IBM则采用J2EE架构,除了依靠自己的alphaWorks的力量外,还博采各类开放源代码组织的成果(诸如Apache SOAP和jUDDI等),在自身的Websphere平台上提供了完整而且领先的Web服务的开发工具。

这些软件包和工具主要有:

Sun ONE

Sun在发明了划时代的Java之后,似乎一点一点失去了他的创造性,全球最大的基于Java平台的软件开发商是IBM,不是Sun,全球Web技术最领先的软件开发商是Microsoft,不是Sun,Sun可能"坚定地"以为Java就是Internet,看来在经历了Microsoft和IBM在Web服务领域的迅速领先,以及这两家公司在Web服务领域的密切合作之后,Sun终于明白Web服务是Java不得不面对的新的系统架构模式。

虽然稍显匆忙,但Sun还是及时推出了Sun在Web服务时代的解决方案Sun ONE。不过Sun ONE更象是一个Sun提供的加入了Web服务特性的J2EE平台,而不像是一个纯粹的Web服务的开发平台。同时它最主要的缺点是对Web服务的描述和发现的两个标准(WSDL和UDDI)的支持尚不完善。

Case Study: 实践Web服务

到目前为止,我已经对Web服务的商业需求、Web服务的技术实现以及Web服务当前的应用以及开发工具做了全方位的介绍,那么在接下来的文章中,我将结合一个实例来详细地描述如何真正地规划、设计和创建一个Web服务的具体应用。

参考资料

作者简介

柴晓路: 上海得易电子商务技术有限公司(DealEasy)首席系统架构师、XML技术顾问。UDDI-China.org蓝色火焰工作室(Blue Blaze Studio)成员。UDDI Advisor Group成员,WSUI Working Group成员。2000年获复旦大学计算机科学硕士学位,曾在国际计算机科学学术会议(ICSC)、亚太区XML技术研讨会(XML Asia/Pacific'99)、中国XML技术研讨会(北京)、计算机科学期刊等各类国际、国内重要会议与期刊上发表论文多篇。专长于基于XML的系统集成和数据交换的技术研究,同时对数据库、面向对象技术及CSCW等技术比较擅长。