无论是在计算机杂志还是在
Internet
上,目前最热门的话题莫过于“
Web Services”
。各个平台之间的锋争,各个新产品的发布,众多新标准的制订,大都和
Web Services
有关。
我的一些朋友是这样的一些人,他们总是用着最新的平台,尝试着最新的技术,他们喜欢变化,喜欢流行,用他们自己的话说,新技术创造新生活!可是,当我的一个朋友,带领他们一个部门的开发人员,花了两个月的,将他们内部的管理系统用
Web Services
重新设计和实现了一遍,却发现在实际使用的情况下,系统性能非常糟糕。他提出了这样一个问题:是不是
Web Services
现在还处于实验和市场炒作时期,根本没有进入实用的阶段?简单的回答是:
Web Services
不是万能的,它有它的应用范围和优势劣势。
Web Services
的起源
Web
应用的巨大成功和不断发展,使其渗透到商业领域和个人生活的各个方面。人们只要使用浏览器,就可以享受到各种各样的
Web
服务,例如网上购物,网上交易,网络游戏,预定车票,网上聊天和交友等等。与此同时,由于
Web
技术所带来的优势(统一的客户端和较好的维护性),使一些传统的应用纷纷转型到
BS
结构上。
然而,在发展中,逐步暴露了一些问题。所有这些
Web
页面都是为人准备的,是让人去阅读,去输入,去判断。因此各种反映视觉效果的内容占用了大量的网络带宽,例如各种图片,字体信息,文字排版样式等。而真正含有高价值的一些信息,被深深埋在这些显示信息中,很难被其他应用和程序所使用。更重要的是,各种
web
服务之间缺少交互和通讯的机制。
程序之间的互相通讯很重要吗?简单举一个例子。
假设你经常去国外出差,在你回国以后,第一件事就是费用报销了。而你们公司有这样的财务规定,所有的报销款,都按报销当天的外汇比价进行结算。因此在你填写报销单的时候必须先填写每一笔在各个国家的花消,然后上网查出当天的外汇比价,填写到报销单上。剩下的事情也许不用你做了,你的报销单填写工具会自动进行换算和统计。
觉得有什么不妥吗?作为
IT
公司的员工,也许都有一个特点,计算机能做的事情,尽量要计算机去做。外汇比价的查询可以让计算机自动去做嘛!然而,让你的程序自动去网页上查找指定的外汇比价可不是一件容易的事。因为这些网页是给人阅读的,人眼和大脑的反应速度有多快,它们可以从一整页信息中快速定位到你所要的内容,而且无论网页怎样变化和改版都不会带来太大的影响。而应用程序想要做同样的事就差得太远了。因此,现在需要的是专门为应用程序制定的
Web
服务。
随着应用程序之间通讯的需求越来越大,这就需要制定统一的标准和协议。
HP
公司是最先提出这个观点的公司,他们制定了有关“
e-Speak”
的标准来保证应用程序之间的交互,并声称将成为下一代
Internet
信息交互的标准。而随后,
MicroSoft
意识到此计划的美好前景,便推出了
.Net
战略;
IBM
很快就发布了
Web Services Toolkit(WSTK)
,和
Web Services Development Environment(WSDE)
,申明对
Web Services
的全力支持。与此同时,
Oracle
也开发出自己的
Dynamic Services
,并和
Oracle 8i Release 2
集成在一起。在这以后,
W3C
统一制定了
Web Services
的各种标准。而
SUN
公司在宣布了自己的
Web Services
的框架以后,将
Web Services
的标准溶入