浅议Web服务
随着互连网络的广泛应用和发展,非凡是.NET技术的升暖和市场的日渐成熟,越来
越多软件开发商在为到底是选择微软公司的.NET还是SUN公司的J2EE作为自己开发
平台和工具而感到左右为难。一般说来,绝大多数公司根据市场情况,客户需求,
开发成本,升级成本,培训成本,产品价格,兼容性,可靠性、安全性等选择了其
中之一。也有少数有实力的公司预备开发两套独立的产品,以满足不同的客户需
求。更多的公司希望自己开发的产品能相互移植,非凡是从微软公司的.NET移植到
SUN公司的J2EE。既能利用微软的产品相对便宜,开发成本低,开发效率高,又可
拥有J2EE所具有的开放性、跨平台性、安全性,扩大自己的客户群。
美国
神鸟(Stryon)公司即将推出iNET产品将有能力让软件开发商用微软公司的.NET开
发的应用利用J2EE技术无缝地移植到非Windows平台上。iNET相当于.NET的Java实
现。它由一个IL2JAVA转换工具,用JAVA实现的.NET框架类库等组成。能集成
Tomcat,IBM WebSphere ,Sun one , BEA WebLogic,Oracle9i,等多种用以实
现Asp.Net和Web service的Web服务器。
是的,这就是Web服务。一切都是因为Web服务的出现,使得.NET和J2EE争夺的焦点
已不完全是对象模型之间的战争或者编程语言选美竞赛了。Web服务使用基于 XML
的消息处理作为基本的数据通讯方式,消除使用不同组件模型、操作系统和编程语
言的系统之间存在的差异,使异类系统能够作为单个计算网络协同运行。开发人员
可以用像过去在创建分布式应用程序时使用组件一样的方式创建将来自各种源的
Web服务组合在一起的应用程序。
Web 服务所实现的最基本的方案是向它的客户端提供某个基本功能以供其使用。也
可以以复合方式使用Web服务来集成一组似乎完全不同的现有应用程序。还能创建
构成端对端工作流解决方案的应用程序(如企业到企业交易中的解决方案)。
Web服务是建立在一些通用协议的基础上,如HTTP,SOAP,XML,WSDL,UDDI等。这
些协议在涉及到操作系统、对象模型和编程语言的选择时,没有任何倾向,因此将
会有很强的生命力。但具体到Web服务编程时,.NET和J2EE有一些区别。.NET Web
服务可用C#,VB,JScript等语言编写,还能利用一些Windows资源;而J2EE Web服
务一般使用JAVA语言及J2EE资源,像Bean,EJB,CORBA等。它们在编程环境,语法
结构,治理配置等方面也各有自己的特色。iNET Web服务用JAVA语言实现了.NET
类库中提供的Web服务APIs。它能把用户用.NET开发的Web服务移植到与平台无关的
JAVA。因是JAVA,故也可利用JAVA的资源。
进行Web服务调用时发生的过程与进行常规方法调用时发生的过程类似。主要的差
别在于,不是调用位于客户端应用程序中的方法,而是根据指定的传输(如
HTTP)生成请求消息。由于Web 服务方法可能位于另一台计算机上,因此Web 服务
处理请求所需的信息必须通过网络传递给承载Web 服务的服务器。Web 服务处理此
信息并通过网络将结果发送回客户端应用程序。这就是可编程的 Internet
可以预见,作为 Internet下的一个革命性进步,Web服务必将开创一个分布式应用
程序开发的新时代。