J2EE和.Net:能共处吗?

ZDNet软件频道 时间:2002-04-25 作者:ZDNET CHINA 特稿 |  我要评论()
本文关键词:DOTNET JAVA sunone
就Web服务来说,有些人可能会把Sun公司的J2EE和微软的.NET技术视作相互排斥的Web服务解决方案,本文从交付和消费Web服务的角度对两类技术进行了正反面的评述。

在企业IT领域,开发Web服务的重要性已经越来越明显了,正因为Web服务的出现,企业数据和企业运行的流程通过远程访问的方式浑然一体。就Web服务来说,有些人可能会把Sun公司开发的JAVA 2、Enterprise Edition (J2EE)和微软公司开发的.NET技术视作相互排斥的Web服务解决方案,但是Noel Clarke,这位SilverStream软件公司的高级电子商务战略专家却不这样想。他认为,以上的三种Web服务技术完全可以共存。在今年3月JAVAOne开发者大会的一次技术座谈会上(TS-3154),Clarke从交付和消费Web服务的角度对各类技术进行了正反面的评述。

电子商务悖论

产生Web服务的用户需求是什么?Clarke指出,Web服务的出现主要是由所谓的“电子商务悖论”这一现实状况所产生的。他说:“因电子商务而引发的巨大变革反而阻碍了电子商务赢得成功。只有当我们有能力动态地、快速地在我们企业内部乃至企业之间实现互操作,网络商务给我们带来的美好希望才会最终得以实现。”

为了实现这种综合性的集成,我们就必须实现商业功能的方便共享,同时能以一种灵活的处理流程把这些功能联系在一起,能以适当数据格式(适应多样的客户设备)交付这些功能,而且要让商业功能可以在任何地方都能被人找到。

SOAP、WSDL和UDDI之三位一体

真正的Web服务能提供商务工作的可重用单元和对商务数据的访问手段。Web服务并不关心数据的表达,它们能被API或GUI调用。结果,获取服务的消费者可以采取任何需要的形式来显示Web服务的结果,不管是HTML、Swing、WML、HDML还是XML等等。到最后,服务用到的协议和数据表示方式不仅无所不在而且具有强烈的因特网亲和性。

figure 1

用XML、SOAP、WSDL和UDDI提供Web服务

目前访问Web服务的基础结构由SOAP(简单对象访问协议)、WSDL(Web服务描述语言)和UDDI(通用描述、发现和集成)构成。Clarke说:“我们为这些服务构造XML前端,然后获取XML信息并且用WSDL来描述它,之后再用SOAP消息包装这些信息。一旦造就了SOAP消息就可以从任何平台调用它,所使用的技术也不少——Perl、Python、JAVA、.NET等等都可以做到。然后我们就可以在UDDI注册表中发布这些WSDL定义,这样我们的顾客和合作伙伴就可以使用这些商务过程了。”

.NET

提到Web服务的时候,许多人把J2EE和.NET这两大技术阵营之间的争斗视作了另一番可乐之战。Clarke说:“有些人认为这就象口味偏好一样,你必须在两者之间做出选择。但是,我们相信Web服务确实是可以共存的。而且我们相信这种共存关系正是实现Web服务互操作的关键所在。”

Clarke接下来对.NET架构的基本组成单元进行了详细说明:

  • “智能的”客户软件应用程序使PC和其他类型的设备能够作用于XML Web服务
  • XML Web服务由那些能相互连结起来的小型可重用组件应用程序所组成
  • .NET服务器负责发布、管理和编制XML Web服务
  • 开发工具——包括Visual Studio .NET和.NET Framework等,正是它们建立、部署和运行XML Web服务

.NET为其支持的所有语言提供了单一的开发环境,这些编程语言包括Visual Basic ( VB )、C++以及最新推出的C#等。C#有语言从构造上说类似JAVA语言,而且同样包括了垃圾收集等功能。Clarke就此评价说:“在这个领域里的很多人肯定会惊诧地说,嗨,那玩意儿不就是JAVA吗?哪年头就有了!”

.NET环境可以让开发者轻松地把应用程序开发为Web服务。然后开发者们可以方便地把Web服务归并到更大型的应用程序中来,最后就可以从任何运行Web服务栈的平台调用Web服务了。同时,.NET My Services则把传统的微软客户应用程序,比如钱包、收件箱、日历和优选设置等等分解成为各种单一的Web服务。

用VB、C++以及C#编写的应用程序都采用.NET之下的同类系统库,而且它们会被首先编译为MSIL(微软中介语言)这种伪代码,之后才被公共语言运行时( CLR )在执行的时候解释。Clarke指出:“这一切同JAVA语言的字节码和虚拟机非常相似。”

J2EE

J2EE是基于JAVA技术的一整套企业应用开发标准和规范以及同硬件无关的运行时环境。J2EE能够为开发的产品带来显著的可移植性、可伸缩性、稳定性、安全和可管理性。Clarke说:“这种平台的一个重要方面就是它已经问世大约5年左右了,而且在多种硬件平台具有了各类实现,相比微软 ( .NET ),后者目前只有一种CLR,而且还是刚刚实现的一种。”

J2EE平台是JAVA Community Process (JCP)开发的,这是一个由许多主流技术公司组织的标准体。作为产业开发的结果,供应商们针对J2EE开发了大量的Web服务工具,比如Sun的Forte for JAVA (FFJ)、Eclipse(由IBM推出的一种公开源代码的开发工具)、Borland的Jbuilder以及Silverstream的eXtend产品线等。同时,Systinet公司提供了可插入Forte、Jbuilder和Eclipse的一套工具,从而为这些产品带来了额外的Web服务功能。Clarke说:“并不只有微软乐意演这场戏,整个阵营内的公司们团结在一起造就了这些JAVA规范、标准和工具。”

JAVA Community Process还逐步开发出了很多同Web服务有关的前端应用,其中包括大量适合XML处理的JSR(JAVA规范请求)。这些性能突出的API将在JDK 1.4或1.5版本中发布:


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134