XML Web Service 会将因特网带到一个新纪元

来源:百度文库 编辑:神马文学网 时间:2024/04/27 16:34:32
iOffice.net
前言:
微软在几年前便大力提倡XML, 今年则开始倡导Web Service. 并正式宣告了.NET的方针。比尔盖兹指出,这个方针将会把微软带往一个全新的方向,提供因特网使用者全新的体验。
其实早在两年前因特网热潮兴起时,所有的软件公司,几乎都宣布要提供因特网服务,有些甚至宣布要转型成为网络公司,但如今热潮已退,软件公司多不再宣扬因特网服务。微软于此时逆势而为,让我们不禁反问:微软的.NET计划,是否也将成为昨日黄花呢?
.NET的愿景:赋予网站沟通的能力
目前的因特网世界,充满了各式各样的网站,但这些网站,就像是海中孤岛一样,专注于经营自己的客户,网站彼此之间几乎没有沟通的方式。
社会学家衡量一个部落的进化程度,常常以该部落的语言能力做为指针:语言能力好,沟通效率高,进化程度就越高。如果用同样的观点来检验目前的因特网社会,会发现它仍然处于一个非常落后的阶段:没有沟通能力,使得知识无法有效运用,服务无法迅速拓展,而所有产品也因为无效率的沟通,而增加成本。
.NET的目标很简单:它要让这些数以百万计的网站孤岛,开始拥有彼此沟通的能力。它设计XML,作为标准的语言,它也提出了Web Service,提供「说」和「听」的功能。当一个网站采用了XML WebService的技术,就可以用Web Service 来讲XML语言,也可以用Web Service 来听别的网站讲的XML语言。就这么简单,网站之间可以开始沟通了!
这项改变,看似平凡无奇,但推广成功之后,将会对因特网世界产生革命性的影响。以下段落,就要讨论未来十年,种种可能的发展。
对现有网站的影响
网站彼此之间有标准的沟通方式之后,网站专业分工的模式将逐渐兴起。
过去的网站经营者常常面临一个很大的困难:经营成本中,有太多非核心能力的花费。而因为客户人数无法事先精准预估,使得初期的资本支出难以掌握。这使得网站的经营风险增高。
未来的网站,可以专精于经营自己的核心能力,而将电子邮件,聊天室,简讯,网络磁盘,数据搜集等种种功能,向其它网站租用。通过XML, XSL, WebService 等整合,客户看到的网站接口和过去是一样的,但接口后的许多功能却是由不同的厂商所提供。就好像一台DELL 的Computer 一样,虽然牌子是DELL,但所有的零件却是来自不同的厂商。
因特网世界将会形成「虚拟供应练」的运作模式。有些专精于品牌经营,有些专精于提供功能,彼此以租赁的方式合作,由于专精于本身的核心能力,会使得提供的服务价格更提低,品质更好。而也由于租赁的模式,价格明确,扩充性强,网站经营者可以更精准地预估经营成本时,减少经营风险。
对ERP系统开发厂商的影响
企业在没有ERP的时候,所有的信息都是由人工整合,效率有限。有了ERP之后,企业内各部门的信息可以藉助计算机来整合,但和其它企业之间的信息交换,则仍然必须藉助传真,邮递,电话等方式,基本上还是人工操作。虽然业界也发展出EDI,Market Place, Supply Chain的方法,但通常参与厂商必须遵循一套新的数据定义方式,而且转换过程复杂,所以通常只有大厂才有能力采用。
XML Web Service 的应用,可以使得企业之间不同的ERP系统,透过一个适当的辅助转换接口,就可以连结起来。就好像让全球各地使用不同语言的人们,不必学外文,却可以透过一个实时翻译器的协助,彼此任意交谈。
Oracle总裁号称他可以在一天之内,就将全球各地分公司的数据集合到总公司,做一次关帐的动作,藉此强调Oracle公司E化的成果。其实这说穿了没什么,如果我是一个拥有五十个分公司的大企业信息长,而且每一个分公司都使用不同的会计系统。我只要让每个分公司都利用XML WebService 的方式,将原始的会计传票数据定时传回总公司,集合成为总公司的传票资料,然后重新计算所有财务报表,这样就可以达成一天结帐的速度,甚至更快,而且完全不用改变现有系统的架构。
近年来企业对IT花费的投资,有趋于保守的现象,ERP系统厂商如果能够协助厂商,在花费不多的情况下大幅提高现有系统的功能,一定能大受青睐。
对IA 产品的影响
XML WebService,并不只是应用在软件世界世界而已,它会以因特网为出发点,连结所有的网站,也连结所有的计算机,将来也连结所有的IA产品。PDA, 电子书包,手机,甚至将来的互动电视,其实都涵盖在它的应用范围之内。
XML Web Service 的应用可以看成是一种软件型式的Gateway, (或者Router)。由于可以应用的地方实在太多,所以微软并不亲自参与这些Gateway 的设计,而是提供一种标准的方法以及工具,让世界各地的程序设计师发挥自己的想象力,设计出各式各样的Gateway,来连结所有可能的软件硬件。
XML Web Service 发展空间的限制,不在于微软所定下的愿景,而在于这些程序设计师的想象力!
对Internet Service Provider的影响
104人力银行,还有SeedNet 过去所负责的政府招标工程网站,是两个相当成功的网站。他们的成功,证明了一件事:经过搜集整理的实时数据,可以成为有价的商品!
XML Web Service的技术,可以让实时数据的搜集,整理,交换,传输都变得非常简单,使得生产这些「有价数据」的成本更低,速度更快,正确性更高,通路更广。我们可以预见,许多专业的数据整理中心,将会应运而生。
有些Service Provider, 会专门负责数据的定义,搜集,归类,更新,以供其它计算机系统订阅使用。举例而言,企业财务系统内,常需要最新市场汇率的数据,原本都要用人工输入,将来可能会有专门的「全世界汇率数据」的Service Provider负责这项业务。企业订阅这种服务后,财务系统就会随时更新汇率数据,产生最精确的分析报表。
有些Service Provider, 会专门提供专业的程序,协助企业处理数据。企业传给它们数据之后,它们会负责处理,再将结果回传,供企业主管决策参考用。举例而言,许多公司,都很希望能将会计系统内的传票数据,做数据仓储分析,以协助决策者判定经营成效,但要改写会计系统,却是非常艰巨的任务。将来在网络上会有专业的处理中心出现,只要传给它固定格式的会计传票数据,它就可以在几分钟之后传回各种财务分析结果,而且种类繁多,任君挑选。
对软件包业的影响
许多新的软件包也将应运而生。事实上,微软本身的Office,已经开始和因特网上的许多Service Provider连结,提供更多更好的服务。
这类新兴的软件,将是新一代的Distributed Computing 的产物。传统的软件包,强调All In One 的设计,所有的功能都含在软件本身,与外界隔绝,缺乏与外界数据动态连结的功能。而ASP的概念,则又矫枉过正,强调所有的软件都放在IDC,企业只要租用就好了,但却也造成规格固定,难以客制化的困境。
新一代的软件包,将在这两个极端中间找到平衡。许多个人化的功能与Internal Data,会继续存放在软件本身,而许多特别的功能以及External Data,则存在数据中心。软件与数据中心之间,形成一种合作的方式,提供更多更好的功能。
举例而言,一个想要在网站订书的人,要找一本最便宜的书,在目前的环境中,可能要到好几个网站查阅,最后才能找到答案。将来可能会有一种软件包,能按照使用者所定的书名及条件,到世界各地的网络书店搜寻数据,并分析价格,运费,最后将结果产生出一个EXCEL数据文件,供使用者参考。
对数据库程序整体设计架构的影响
传统的程序设计,是以「程序设计」为主体,数据只是程序的Input与Output而已,数据脱离了程序之后,常常就变得毫无意义。
「程序才是主体,数据只是附属品」的过时概念,或许与千禧虫的原因是一样的:过去储存空间昂贵,以致于程序设计师们以减少内存与磁盘空间为最高原则。然而近年来,储存设备的价格已大幅滑落,程序开发与维护的人力成本反而大幅提升,如何能利用便宜的硬件,来降低高昂的人力开发成本,将会是未来的趋势。
XML的推广,将会逐渐引领出「数据才是主体」的设计概念。程序设计师要优先考虑资料交换时的整体性与可移植性,然后才开始设计对应的处理功能。如何让资料的「搜集」、「分析」、「流动」、「交换」、「呈现」变得非常简单明了,将会是设计时的主要考量之一。
「数据必须具有流动性」是另一个新趋势。现在因特网上的数据,大多是静态的呈现,而未来因特网上的数据,则是不断地交换与互动。网站组成的联络网,将会像是身体的血管系统一样。零散的资料,由微血管,小静脉,大静脉,流到心脏,经过筛选、分析、比对、炼结之后,成为有意义的信息,这些信息,再由大动脉,小动脉,微小管,而流到细胞。细胞根据需要,取用跟自己相关的各种养分。
微软面临的挑战
这些愿景固然美丽,但是否能够实现?这是许多人关心的问题。
SUN常以Java 的技术优越性与可移植性来挑战微软,也常也微软产品容易当机来夸耀Unix 系统的稳定性。然而如果仔细观察微软的历史,看它由DOS 转到Win31, Win95, Win98, Win2000,到现在的WinXP,就可以了解微软的策略一向是「策略先行,产品后补」的方式:先预测使用者的需求,推出一个可以令人接受但不完全满意的产品,站稳基本市场,然后再逐步改进产品,扩大市场。
我个人深信,XML Web Service是一个非常有远见的愿景。微软初期的技术难免有瑕疵,但会在可接受的范围内,而微软也将不断改进它,直到最佳的境界。所以SUN的所宣称的问题,并非XML Web Service的成功关键。
微软真正面临的关键挑战,在于它能不能将Diffusion (推广)的工作做好。微软过去擅长行销软件产品,但XML Web Service 不是一项产品,而是一个方法,是一个非常大的「Paradigm Shift」(典范转移)。它必须跨越相当大的「临界使用量」之后,才能产生真正的功效。就像电话的发展史一样,全世界如果只有少数几具,既使技术再好,也没有用。微软现在应该做的,不是强调技术性或稳定性,而是尽速和各种产业合作,推出几个可以被广泛应用的XML Web Service,让临界使用量早日达成,这才是它成败的关键因素。
结语
在通讯产业里,蓝芽技术的支持,让各种家电用品,能以无线通讯的方式,彼此串接,提供我们更好的服务,开展了IA家电的新纪元。在因特网的世界里,.XML Web Service的技术,就像蓝芽技术样,要让所有的网站,有自动交换数据的能力,无远弗届地串接在一起,使得因特网,迈入一个新的纪元。
然而光靠微软,并无法独立完成这个目标,微软充其量只是提供一些工具,订定一种标准,并画出一个愿景,然后鼓励大家一起往前冲。但由于工具齐全,标准确定,愿景诱人,我个人相信,迟早会有非常多来自不同领域的厂商,共同朝着这个目标前进,让因特网的新纪元,早日来临。
基于Web Service的系统集成技术在网络教育平台中的应用
王宇 才国清 王兴伟
摘要:Web Service是Internet上新兴的应用通信和集成技术,本文先简单介绍了XML和Web Service技术,然后着重讨论了基于Web Service的系统集成技术的特点和优势,以及通过实际的开发实例介绍了基于Web Service的系统集成技术在网络教育平台实现中的应用。
关键词:Web Service;系统集成;网络教育平台
System Integration Technique Based on Web Service and its Application in E-education Platform Realization
【Abstract】Web Service is a new technique for communication and integration of applications on Internet. In this article there’s a view of XML and Web Service, and a discussion about the characters and advantages of system integration technique based on Web Service. By actual developing samples, I show how to use system integration technique in E-education platform realization.
【Key words】Web Service;System Integration;E-education Platform
1 引言
随着信息技术与网络技术的发展和普及,基于Internet和Intranet的网络教育蓬勃发展;网络教育作为一种崭新的远程教育方式逐渐运用到实际的教学活动中,成为“数字化校园”重要的组成部分。
作为网络教育的后台支持系统,网络教育平台也得到相应的发展,出现了很多成型的系统和实际产品,它们基本上实现了网络教育平台需要的三个基本系统——课程及教学资料开发系统,教学支持系统(同步教学和异步教学)和教学管理系统[1]。但是,纵观现有的网络教育系统和产品,一定程度上存在着一些不足:教学和交互方式比较单一,不同的教学和交互子系统很难集成在一起,大多处于相对分离的状态;缺少通用的数据编辑和保存形式,不同操作系统和数据库平台上的子系统很难交互和共享数据;缺少有效的模块集成手段,基于不同平台的模块很难集成,系统的扩展性和伸缩性比较差。
现有的网络教育平台的这些缺陷,在很大程度上与现有的系统集成技术的缺陷有关。针对现有网络教育系统和产品的不足之处,我们在实际的网络教育平台的设计和开发过程中,采用基于Web Service的系统集成技术,处理系统模块间控制和数据的集成,很大程度上提高了系统数据的通用性,降低了模块间的耦合程度,从而提高了网络教育系统的扩展性、伸缩性和兼容性,便于系统分担负载,提高网络教育系统的服务质量。
2 XML及Web Service
XML(eXtensible Markup Language,可扩展标记语言)是Internet上数据表示和数据交换的新标准。它是ISO(International Organization for Standardization,国际标准化组织)的SGML(Standard for General Markup Language,通用标记语言标准)的一个简化子集。XML关注信息本身,是Web上表示结构化信息的一种标准文本格式。与传统的注重页面信息显示的HTML(Hypertext Markup Language, 超文本链接标示语言)相比,关注于内容的XML具有以下诸多优点[5]:良好的可扩展性,语言简单有效,可自行定义标记;内容与形式的分离,主要刻画数据内容,不考虑显示效果;有严格的语法要求,便于分析统一和与数据库信息转换;便于传输,为纯文本形式,可通过Http协议直接传输,可跨越防火墙;等等。XML的出现和发展对于Internet和Intranet产生了巨大的影响。
在XML基础上发展起来的Web服务(Web Service)是一种革命性的分布是计算技术。它使用基于XML的消息处理作为基本的数据通讯方式,消除使用不同组件模型、操作系统和编程语言的系统之间存在的差异,使异类系统能够作为计算网络的一部分协同运行。开发人员可以使用像过去创建分布式应用程序时使用组件的方式,创建由各种来源的Web服务组合在一起的应用程序。由于Web服务是建立在一些通用协议的基础上,如HTTP(Hypertext Transfer Protocol, WWW服务程序所用的协议),SOAP(Simple Object Access Protocol,简单对象访问协议),XML,WSDL(Web Services Description Language,Web服务描述语言),UDDI(Universal Description,Discovery,and Integration,通用描述发现和集成协议)等,这些协议在涉及到操作系统、对象模型和编程语言的选择时,没有任何倾向,因此Web服务将会有很强的生命力。关于Web服务的W3C(World Wide Web Consortium,万维网联盟)标准逐渐出台;两个应用程序通过Web服务进行远程通信时,所需的标准核心构件[7]如下图所示:

图1 Web Service的核心构件块
各大厂商也逐步推出了相关的Web Service开发环境和解决方案;在目前主流的操作系统平台上都有相应的开发环境,如:Windows平台上的Microsoft Visual Studio.Net;Windows和Linux平台上的Sun One Studio,IBM的WebSphere Studio;以及BEA 的WebLogic Workshop等。
3 基于Web Service的系统集成
在软件系统的开发过程中,系统集成主要实现系统的各部分(模块)之间的通讯和整合,将相对分散的子系统组成一个统一的整体,实现子系统间的功能控制和信息交互与共享。基于网络的系统集成技术已有了很多[6],如:DCOM(Distributed Component Object Model,分布式组件对象模型)、CORBA(Common Object Request Broker Architecture,公用对象请求代理程序体系结构)和Java RMI(Java Remote Method Invocation,Java远端函数调用)等。但是这些传统的集成技术在很大程度上受到网络环境的限制,大多使用专有协议通过特别的端口进行远程通信,不能很好的支持客户段和服务器通过Internet进行通信。
基于Web Service的集成技术作为一种新的面向函数和方法的应用集成技术,在很大程度上解决了原有集成技术在Internet远程通信方面的问题。Web Service基于XML文档进行服务描述,服务请求和反馈结果,可以在Internet上通过HTTP协议进行传递,很容易的被访问和返回结果。同时,由于Web Service的相关标准都是W3C的开放协议,与平台和操作系统无关,不同的平台和操作系统上的Web Service的实现在很大程度上可以做到互操作,这就使异构平台上应用的集成变得很容易。此外,过去使用的基于RPC(RPC - Remote Procedure Call,远程过程调用)和API(Application Programming Interface,程序编程接口)的集成技术都是一种函数级的静态解决方案(即使它们在客户机和服务器通讯时使用XML);Web Service则是一种动态的集成方案,所有的服务都可以通过UDDI标准动态地被发现、绑定和使用,容易适应系统的变动,提高系统的灵活性和伸缩性。
使用Web Service技术进行系统集成和过去使用其它面向函数和方法的技术进行集成类似:在进行初始设计的时候主要考虑不同应用之间,系统不同模块之间消息及数据传递的需求;根据具体需求设置相应的接口,描述接口特性;针对不同应用的平台选择相应的Web Service组件,进行相应设置;实现不同应用的接口,进行相应调试;实际运行,应用程序间进行协同调试。
使用Web Service进行系统集成的基本模式(不同应用之间)[8],如下图:

图2 Web服务应用架构(应用间集成)
4 基于Web Service的系统集成技术在网络教育平台实现中的应用
我们开发的远程教育系统的初始版本,是完全基于Windows平台的。整个系统集中在一个服务器上,采用两层的Web开发架构,各个模块直接对数据库进行操作,通过Form提交数据,直接引用等方式进行消息传递。造成系统模块间的耦合过于紧密,系统的可移植性,扩展性和均衡负载等方面都比较差。
在进行新版本系统的设计时,考虑到原有系统的诸多不足,我们在提高系统的可扩展性,降低各个系统模块之间的耦合程度等方面多了许多考虑,在模块集成方面主要使用应用层面上的基于Web Service系统集成技术,使用基于不同平台上的Web Service技术实现系统模块之间的消息和数据传递。
我们的网络教育平台的基本模块结构如下图:

图3 远程教育系统模块结构图
接下来以教学管理模块和同步教学模块之间的集成,来说明如何在实际的远程教育开发过程中使用Web Service集成技术。
教学管理模块主要完成远程教学的教学组织和人员管理;同步教学模块是具体教学应用中的一部分,主要提供实时的网络课堂教学功能。同步教学模块中所需要的课程信息,学生和教师等信息都需要从教学管理模块中获得。在原有系统中,两个模块工作在同一个平台上,访问同一个数据库,获取相应的信息,关联比较强。为了减少这两个模块之间的关联,我们在重新设计的时候,考虑将这两个模块独立起来,在学生或教师进入同步教学模块的时候只传递最必要的信息,如课程号和用户序号;其他大部分的相关用户和系统信息都进行抽象,通过Web Service方式在教学管理模块中实现,在实时教学系统中进行访问。这样保证了两个模块之间可以很容易的分离和整合,也可以工作在不同的操作系统平台上(Windows或Linux等)。
这两个模块之间集成的具体实现过程(以Microsoft.Net平台的实现为例)。
(1) 系统需求分析
(2) 系统设计,划分系统模块
确定教学管理和同步教学分别独立成一个模块,教学管理模块主要实现对网络远程教学的教学组织和人员管理。
(3) 确定模块间的接口描述
根据需求分析和系统模块设计,确定模块之间接口的类型,需要传递的参数和数据类型。
教学管理模块需要提供的接口:
用户信息:用户类型,编号;
教师账户:姓名,性别,……;
学生账户:姓名,性别,届,班级,……。
课程信息:课程名,授课时间,授课地点,……。
同步教学模块需要提供的接口:
授课情况:学生出勤情况,教师出勤情况,课程实际时间,……。
(4) 确定实现方法
使用基于Microsoft.Net的Web Service支持平台,C#开发语言;在Microsoft Visual Studio.Net集成开发环境中开发。抽象出一下需要实现的接口:
教师个人信息(姓名,性别),学生个人信息(姓名,性别,届,班级),课程信息(课程名,授课时间,授课地点),学生出勤情况,教师出勤情况。
(5) 具体实现,测试
以查询教师个人信息(姓名,性别)为例:
教学管理模块:
定义WebSearchTeacherInfo命名空间;
定义结构:
包括教师ID,姓名,性别和结构信息有效标志。
public struct teacherInfo
{
public string ID;
public string Name;
public string Sex;’M-male,F-female
public boolean valid;’if this info is valid
}
接口实现:
public teacherInfo GetTeacherInfo(string id)
{
teacherInfo myReturn = new teacherInfo();
根据参数,查询相应的数据表;如果有对应信息,则将查询值赋给结构myReturn,同时给结构myReturn的valid子项置为true;如果参数不合法或是查询不到对应信息,将结构myReturn的valid子项置为false;将结构myReturn作为返回值返回。
}
同步教学模块:
代码中引入Web服务相应的命名空间;在其他代码中可以通过调用GetTeacherInfo方法,调用远端的Web服务程序,查询相应的教师个人信息。
Visual Studio.Net集成开发中,Web Service中使用SOAP等协议传输会话的机制大部分都已经被封装,对于一般开发者是透明的,在很大程度上提高了开发效率;但同时也造成开发人员对于系统的可控程度下降。使用J2EE平台实现的时候,需要定义SOAP消息头等XML脚本,以能够实现基本的Web服务功能。在不同平台开发的时候,需要注意采用W3C的Web Service标准和模式,尽量不使用具体实现平台的扩展功能,以免影响系统的兼容性。
(6) 发布Web服务,进行安全等方面的工作,完成系统集成
使用WSDL实用程序生成代理代码,发布Web服务程序;在统一的服务发布服务器上,通过UDDI服务实现发现Web服务功能,便于查询系统各模块提供的Web Service服务。同时使用Web服务的身份验证和授权技术,提高系统的安全性。由于Web Service在安全性方面的标准刚刚出台,还没有实际应用,所以系统在身份认证和授权技术方面的实现还比较简单,只提供简单的密码和授权认证。
通过使用基于Web Service的系统集成技术,我们比较容易的把基于不同操作系统平台和数据库平台的子应用集成在一起。比如:基于Windows2000操作系统和Microsoft SQL Server数据库的异步教学系统,基于Linux操作系统和Postgres数据库的教学论坛系统,等。
5 结束语
使用Web Service技术进行系统集成,提高了系统的可扩展性和兼容性,增强了网络教育平台的适应能力,提高了系统的服务质量。因为Web Service的标准还在发展过程中,逐渐会有新的特性加入进来,特别是在安全性方面。此外,基于Web Service的应用在开发中还有许多地方需要改进,如实现API化,组件化,类似转发器的集成方式,等等。作为新兴的Web应用的实现方式,Web Service会有个很好的发展前景,在网络教育平台的设计和开发中也将发挥更多更重要的作用。
参考文献
[1] ANIDO-RIFON L, FERNANDEZ-IGLESIAS M J, LLAMAS-NISTAL M.A Component Model for Standardized Web-Based Education .ACM Journal of Educational Resources in Computing Vol.1,No.2, 2001.
[2] IBM.Web Services for J2EE, Version 1.0.www.ibm.com,2002-08.
[3] SUN.Sun One 白皮书.http://www.sun.com.cn,2002.1.
[4] W3C.Web Service 相关标准.http://www.w3c.org,2003-06.
[5] Morrison M.XML 揭秘——入门应用精通.陆新年,陆新宇,等.北京:清华大学出版社, 2001.
[6] Pritchard J.COM与CORBA本质和互用.徐金梧,张晓彤,屈蓉,王海峰.北京:清华大学出版社,2002.
[7] Short S.构建XML Web服务——基于Microsoft.Net平台.戴荣,马方平,吴健,等.北京: 清华大学出版社,2002.
[8] ZDNet China.http://www.cn-java.com/target/news.php news_id=1648,2002-05.
Web Service通过标准和规范让沟通更容易
http://www.net130.com  发布日期:2004-12-2
浏览次数: 307
出处:中国计算机报
传说很久以前,天下人都说一种语言,他们计划修一座高塔,塔顶要高耸入云、直达天庭,以显示人类的力量和团结。时间一天天过去,眼看塔越建越高,上帝害怕了,于是他施了魔法,变乱了人们的口音,使他们无法沟通。果然,高塔的建造无法继续,人们只好各自散去……
数字时代的沟通
毫不夸张地说,沟通与人类社会的进化从文明诞生之日起,就相生相伴、密不可分。无论是从原始社会的人类依靠群居和协作来征服自然,结果推动了语言文字的诞生;而造纸术与印刷术的推广,则直接催生了文艺复兴和第一次产业革命—任何一次沟通手段的突破,都能给社会文明带来质的飞跃。
上世纪末以来,通讯及Internet浪潮给人们的信息沟通带来了翻天覆地的革命,整个计算机产业也借助Internet大潮达到了前所未有的鼎盛繁荣。部分乐观甚至狂热的人认为,有了互联网,“地球村”的梦想已经不再是海市蜃楼,沟通不再有隔阂,但事实真的如此么?
网络经济的泡沫突然破灭让人如梦方醒,众多.Com公司还没“焐热板凳”便蓦然惊醒—仅仅在Internet建立Web站点窗口,与网络公司所描绘的“B2B”、“B2C”时代还相差甚远。究其原因,是因为Internet仍然基于传统的大型机模式,虽然有足够的带宽,信息仍然被紧锁在集中的数据库中并由“看门人”来控制访问。网站就好像是一个个孤立的岛屿,它们没有完全站在用户的立场以更加有意义的方式相互通信。而浏览器不过是一个美化了的只读式哑终端。你可以非常容易地通过浏览器浏览信息,但是要编辑、分析或者操作这些信息却相当困难。对于Web开发商来说,尽管为用户提供了非常美观的网站页面,但却忽略了可用性,没有实现与用户的真正“互动”。
与此同时,软件给工作带来的效率革命,让越来越多的企业用户获益匪浅,再加上厂商宣传的推波助澜,各种MIS、财务管理、ERP、SCM等纷纷“大干快上”,于是这些名目繁多、功能各异的系统渗透到了商业社会的各个角落。他们运行在不同的系统平台下,采用不同的技术架构,存储在不同的数据库中,虽然不同的管理系统似乎在做着极为类似的工作,但彼此之间却无法沟通!其结果就是企业投入巨资的IT系统成了一盘散沙,各自为政,无法共享协同。著名经济学家吴敬琏就此发出了“信息孤岛”的警告。缺乏标准规范或者中间件技术,就如同使用不同的语言一样,使得CRM、ERP、SCM以及财务系统相互割裂,重功能而轻整合。

lntegration Orchestrator 体系结构
Web Service释放Internet潜力
因特网热潮兴起时,所有的软件公司,几乎都宣布要提供因特网服务,有些甚至转型成为网络公司,而泡沫破灭时又“鸣锣收兵”。就当业界对Internet神话质疑之时,微软公司总裁比尔·盖茨却在2000年向外界展示了新一代互联网的发展方向,并正式推出基于XML Web Service的.NET战略,其目标就是要将Internet的无穷潜力释放出来,使之真正成为企业在电子商务时代的强劲动力。随后,IBM、BEA、Sun等几大巨头不约而同在Web Service领域一起发力,搅得企业级软件及互联网服务市场一时间风生四起。
首先,Web Service意图通过标准和规范来让沟通更容易。Internet海洋中充满各式各样的网站,可能会面对手机、PDA或PC等不同终端,但这些网站,就像是海中孤岛一样,专注于经营自己的客户,网站彼此之间缺乏有效的沟通方式。Web Service通过设计XML作为标准的语言,不再是单纯地“说”,而是“说”和“听”互动。当一个网站采用了XML Web Service的技术,就可以用Web Service 来讲XML语言,也可以用来听别的网站讲的XML语言。就这么简单,网站之间可以开始沟通了。
XML Web Service 的应用,可以使得企业之间不同的CRM、ERP、财务系统,透过一个适当的辅助转换接口实现联结。这就好像让全球各地使用不同语言的人们,不必学外文,而是透过一个实时翻译器的协助,彼此任意交谈。使用标准化的XML Web Service语言后,原本相互独立、相互割裂的系统间就可以方便地实现信息共享和信息交换。微软在公布了开启全新Internet时代的.NET战略之后,于2002年3月22日,在中国推出了新软件开发工具包Microsoft Visual Studio .NET中文版1。同时微软在借鉴Java经验和教训之后推出新的程序语言C#。到2003年,Java的开创者Sun公司也对Web Service推广不遗余力,在其JCP组织中开放了许多相关规范(JAX-RPC、JMS、JAXR、JAXP等),并在EJB 2.1中针对Web Service设计了许多新特性。Web Service在厂商的推动下正形成燎原之势。
企业投身Web Service变革浪潮
作为中国最大的商业银行,中国工商银行在率先完成数据大集中之后,积极开展个人网上银行服务。工商银行意识到近年来网上银行业务突飞猛进,竞争对手纷纷通过IT技术丰富业务模式来吸引用户,争夺渠道资源。为了控制渠道,赢得客户,工商银行采用基于.NET平台的Web Service,构建新一代自助终端服务渠道。
除了金融之外,包括通信、能源、企业、政府等行业都意识到Web Service技术已经成为不可逆转的变革浪潮,因为用Web Service构建系统架构可以获得更高的商业价值。通过Web Service,企业门户被建立起来,用统一的、所有人都能看懂的标准化语言介绍自己;网络的连锁机构凭借这项技术的发展和成熟,能够更加轻松地应对客户的不同需求;大型企业内部的Intranet也不再因为地域上的差异、标准上的不同而受到沟通的限制;知识库在相同的数据来源中建立起稳固的发展环境;而新概念的发展则伴随Web Service技术的不断成熟而变得更加强大。
12
_xyz