web services基础知识二
在以往的日子中,软件技术的发展都是由操作系统或是数据库的趋势所
主导,每一个开发工具的新版本大都是强调可以链接新的数据库服务器或是
能够撰写出新版本操作系统提供的功能等。到了3、4年前当各种组件模型,
例如C O R B A和D C O M等,越来越受到重视之后,开发工具的需求又加入了可
以快速开发各种组件。
但是自从I n t e r n e t / I n t r a n e t的应用快速兴起和发展之后,软件技术的发展
趋势就逐渐由We b 应用所主导。各种开发工具不但快速地加入支持
I n t e r n e t / I n t r a n e t的开发功能,更由于We b应用的成长速度超过了传统开发工
具的研发时间,因此造成了各种新的脚本语言的快速兴起,例如A S P、J S P、
P e r l和P H P等。造成这个现象的原因是因为脚本语言拥有简单、开发迅速的
优点,是传统编译开发工具无法提供的。
也许我们应该认清, I n t e r n e t / I n t r a n e t和We b应用之所以如此重要,多采
多姿就是因为它的多元化,能够让所有的信息资源通过I n t e r n e t / I n t r a n e t集成
在一起,让所有的用户能够通过标准取得任何想要的数据。因此不管We b应
用的背后是使用D e l p h i、J a v a、C O R B A或是任何组件模型,用户都可以取得
他需要的服务。
什么是“ We b
服务”呢?简单地说,它就是一个可以使用任何开发工具完成的应用程序,
这个应用程序能够根据用户的需要来执行并且返回给用户运算完毕的结果。
此外,这个应用程序还能够在任何的平台之上执行,而不受平台或是操作系
统的限制。
现在的We b应用发展阶段中,已经进入了第三轮的时期,那就
是以服务为导向的应用,如图2 - 1所示。在这轮的应用中,首要的工作就是转
换传统以数据或是应用程序导向的应用成为以服务为导向的使用方式,用户
在使用We b系统时,是以想要使用的服务为主,不管组成的数据是从哪里来
或是使用什么软件工具开发的。例如用户可能希望在一个浏览器中能够同时
看到从金融网页取得的及时股票信息,从N B A网页取得的今日战绩,从电子
报网页取得的今日头条新闻,以及E m a i l系统中的个人信件。对于用户而言,
他希望使用这些服务,而不会想要知道信息从哪里来以及如何来的。
数年前开始盛行的对象导向,以
软件组件服务为中心思想的开发,和We b的发展模式(数据- >程序语言- >服
务应用)几乎是雷同的。现在程序设计已经进入了组件设计C B D的阶段,和
We b下一轮的服务设计应用也是一致的,这可以说是巧合,但是更贴切的说
法是科技发展的趋势和步伐是彼此贴切、呼应的。
当初每一个组件模型被发展出来时,都是为了让信息系统的开发
更有效率,能够重复使用企业逻辑程序代码,增加企业系统之间的集成度。
但是每一个组件模型都希望全世界都使用这种组件模型,并不注重和其他组
件模型之间的沟通和集成的考虑因素。但是这在I n t e r n e t / I n t r a n e t时代中是根
本不切实际的,因为企业无法控制其他系统使用什么组件模型。更何况即使
是使用相同的组件模型,也会因为由不同的软件厂商实现而无法沟通,或是
因为使用的组件模型的版本不同而导致沟通困难。
在C O R B A中封包的传送和沟通是使用所谓的GIOP(General Inter- O R B
P r o t o c o l ),而图2 - 3则是G I O P的封包标准。虽然G I O P希望不同的C O R B A厂商
都能够使用相同的封包来沟通,但是事实上却不然,不同厂商的C O R B A服务
器虽然都宣称符合G I O P标准,但是实际上却有专属的实现技术混杂在内,因
此在大部分的情形中都无法彼此沟通。后来C O R B A 为了要能够在
I n t e r n e t / I n t r a n e t上使用,于是许多厂商便开始实现IIOP(Internet Inter- O R B
P r o t o c o l ),希望能够在I n t e r n e t / I n t r a n e t的世界中让C O R B A应用系统能够沟通,
但是也是事与愿违。
基本上由于C O M / D C O M一开始的设计是以应用程序沟通为主,并不是
以企业运算核心为设计目的,因此C O M / D C O M在大型计算应用方面有许多
限制。例如C O M使用操作系统的系统注册表来记录C O M组件的信息,因此
造成了组件的限制以及没有位置透明性的问题。后来虽然M i c r o s o f t一直想逐
渐解决这些问题,但是C O M / D C O M仍然存在许多问题,例如C O M / D C O M虽
然执行效率很好,但是D C O M的延展性很差,在I n t e r n e t / I n t r a n e t的使用上也
存在许多困难,例如和防火墙集成有困难等。
由于D C O M的数据封包设计以及使用了接口程序设计,所以M i c r o s o f t特
别针对D C O M进行了许多最优化的调整,因此严格地说在I n t r a n e t的环境中
D C O M的执行效率是不错的,只是D C O M混杂了操作系统的安全机制以及系
统注册表以试图提供位置透明性的功能让D C O M变得非常复杂,让许多用户
都无法适当地使用或是分发D C O M的应用系统。
M i c r o s o f t也许将会使用. N E T的组件架构做为I n t e r n e t / I n t r a n e t和We b的组件模
型,而C O M +将会转换为操作系统的核心功能之一,提供事务管理的功能。
现在所有组件模型、开发工具、程序
语言、应用系统和操作系统都支持X M L和文本格式
通过S O A P
和Web Service更可以让各种程序语言、开发工具和作业平台也加入集成的范
围之内
在当今脚本语言(Script Language)盛行的时期,S O A P也能够和各种脚本语言
结合,形成一个完整的I n t e r n e t / I n t r a n e t和We b的开发、集成环境,
简单的S O A P和Web Service就可以把所有的软件技术集成在一起,实在是非
常简洁、有力。
S O A P除了使用X M L标准和文本形式封装信息之外,由于S O A P的数据封
包拥有固定的格式,不管是在任何平台或操作系统中。因此S O A P的数据封
包可以被所有的组件模型、开发工具、程序语言和应用系统解释
本文来自博客园,作者:{咏南中间件},转载请注明原文链接:https://www.cnblogs.com/hnxxcxg/archive/2008/11/03/2940986.html