注册本站  论坛  繁體中文

电脑技巧
手机 | MP3 | MP4 | 显卡 | 主板 | 显示器 | 光存储 | 笔记本 | 网络设备 | 移动存储 | 数码相机
键鼠 | CPU | 音箱 | GPS | 电视 | 服务器 | 投影机 | 机箱电源 | 品牌电脑 | 办公打印 |
| 网站首页 | Cisco | Windows | Linux | Java | Dotnet | Oracle | 网页设计 | 平面设计 | 安全 | 软件应用 | 电脑维修 | 办公维修 |
您现在的位置: 电脑技巧 >> Dotnet >> XMLWebService >> Dotnet正文

J2EE vs .NET-建置XML WebServices

文章来源:中国IT实验室收集整理 作者:佚名 更新时间:2008-8-23 15:18:58 【 】 【加入收藏

  在本文中,我们将深入的比较两种可用来建置商业XML Web Services 的平台,分别是Sun Microsystems 所提供的Java 2 Enterprise Edition (J2EE)以及Microsoft所提供的 .NET平台。在读完本文之后,您将会更加了解这两种架构的彼此优缺点,而且在制定贵公司下一代Web Services决策时将有更明确的考量。

  前言

  下一代的分布式运算时代已经来临了。在过去几年中,XML 被广泛的运用于电脑运算环境中,以达到在全球信息网上共享信息的远大目标。如今,它可以更进一步地提供运算能力上的分享。从技术的观点来看,Web Services的出现并不能算是分布式计算机运算的新革命。它可以结构化的呈现信息,甚至是程序内部的讯息,因而很自然地比XML应用程序更加引人注目。

  工业标准与企业标准

  透过Web Services,任何应用程序可以在网络上顺利地整合在一起。Web Services的基本原理是利用标准的网络协议(例如:HTTP)来传送XML讯息。这是一种非常轻便的沟通机制,因此可以让任何程序语言、中间层组件或平台很轻易地整合进来。一般工业上或企业内部会接受成熟且广为厂商采用的业界标准,更尤其是已经受过市场考验行之有年的标准。有了Web Services,您就可以快速且低成本的整合两个企业、部门或甚至是两个程序。

  要建置Web Services必须得采用业界通用的Web Services技术。现在让我们来看看Web Services究竟是什么。首先您必须先知道如何建置以及使用Web Services。其实Web Services是种很简单的XML界面,适用于商业、应用程序以及系统服务。说穿了也就是将既有的技术旧衣新穿而已。Web Services其实是一种新一代的分布式服务,在这之前,有CORBA、DCOM、COM+、RMI,都是用来实作分布式架构的技术,而且也被证明运作的非常顺利;而新一代的分布式服务,采用的是XML技术,如XML-RPC和SOAP就是最佳的例子,新一代的分布式技术可以用寄有的通讯协议做基础(如SMTP、FTP等),但是目前最受欢迎的方式仍然是将XML基植于HTTP这个广受欢迎,但是效能并非最佳的通讯协议上。即使如此,这些新一代的技术尚未通过时间的考验,或许他们有可能运作得很成功,也可能有些许的风险存在。

  面对这么多的分布式技术,J2EE平台与.NET平台的支持程度如下表:

  对旧有分布式技术的支持:

  

J2EE .NET
CORBA 支持 不支持
RMI/IIOP 支持 不支持
COM+ 不支持 支持

  对新一代Web Services的支持:

  

J2EE .NET
XML-RPC 支持 不支持
SOAP 支持 支持

  从上述两个图表之中我们可以得知,对于姿态保守的公司而言,J2EE支持了较为广泛应用于现有企业系统的分布式运算服务,而.NET平台支持延伸自COM与DCOM的COM+,其技术前身MTS COM+比Enterprise JavaBeans技术早了三年,我们可以推断J2EE提供的分布式服务比.NET的技术领先三年。此外,目前企业内部使用之大型主机所使用的皆为CORBA技术,J2EE对旧有技术的支持当然是最佳的,因为COM+只能在Windows平台上运行。

  如果是态度前卫的公司,使用J2EE者可以选用XML-RPC (http://java.sun.com/xml/jaxrpc/ index .html )或是SOAP (http://java.sun.com/xml/jaxm/index.html )技术,Sun Microsystems更提供了 Java Web Service Developer Pack (http://java.sun.com/webservices/webservicespack.html ) 供开发者开发Web Services。反观.NET技术,只提供对于SOAP的支持。在对于既有分布式技术支援不足的情况下,对新一代分布式技术的支持又无法提供弹性的选择,风险之大,是可以预估的。

  就算新一代的Web Services非常稳定好了,他的稳定度常常会被底层作业系统的稳定度所影响,如果你选用.NET,就会被绑死在公认最不稳定的Windows平台上,更糟糕的是,.NET还只能在Microsoft官方的网页服务器上运作,相信之前使用IIS的朋友,在遭受过Nimda等不断出现的病毒恶梦之后,会不会对其安全性与稳定性产生质疑? 但是,如果您选用的是J2EE技术,那么在诸多遵循标准的厂商所提供的应用程序服务器中,您可以选择最符合您需要,成本最低,而且又认为最佳的平台。

  总而言之,我们就平台的稳定性,服务器的稳定性,以及产品的多样性这三方面来考量,J2EE似乎优于.NET技术。

  下列的技术都是已为业界所采用,而且也是通往Web Services的最佳途径:

  - 提供Web Services的人员使用自己的程序语言、组件与平台来开发、连接与布署Web Services。

  - 提供Web Services的人员以WSDL (Web Services Description Language)定义Web Services。WSDL文件可以让其它人知道Web Services的功用。

  - 提供Web Services的人员以UDDI ( Universal Description, Discovery, and Integration6)将Web Services注册。 UDDI让程序开发人员可以布署Web

  - 使用者透过UDDI登录来找寻Web Services。

  - 使用者的程序会结合Web Services,并透过SOAP (Simple Object Access Protoco) 或XML-RPC来呼叫Web Services。XML-RPC或SOAP 在HTTP协议上提供一 份XML格式的讯息传递。这是所有Web Services共同的沟通协议。

  请注意,上述的机制是建置Web Services并让它运作的一种途径。虽然有其他方法可以做到,但我们认为这些技术是最重要且将广为业界采用的一种。

  由此可知,实际上我们尚未有一致的方式来建置Web Services,建构上仍然有许多的困难需要克服。以SOAP、ebXML以及服务串流的规格来说,众家厂商意见各异了。而且SOAP最常被宣传的: 与程序语言无关,与特定平台无关这两项特点,会在您尝试着使用Apache SOAP与Microsoft SOAP Toolkit产生的Web Services进行沟通时,彻底地粉碎(译注:这是因为xsi:type属性在实作上有分歧的关系)。除了是对于实作上细节的理解有差异之外,更重要的原因是因为有人刻意地破坏标准。

 

  • 上一篇Dotnet:

  • 下一篇Dotnet:
  • 最 新 热 门
     SOA and Web services 新手入门i学习
     浅谈Web Services版本控制
     J2EE vs .NET-建置XML WebServices
     利用.NET FileStreams将DTD插入XML文件中_Q…
     XML开发入门基础:XML和HTML的区别
     带你认识Eclipse XML编辑器
     XML开发入门基础:使用CSS显示XML
     XML开发入门基础:查看 XML 文件
     XML开发入门基础:XML 浏览器支持
     XML开发入门基础:XML 验证
    最 新 推 荐
     SOA and Web services 新手入门i学习
     浅谈Web Services版本控制
     J2EE vs .NET-建置XML WebServices
     利用.NET FileStreams将DTD插入XML文件中_Q…
     XML开发入门基础:XML和HTML的区别
     带你认识Eclipse XML编辑器
     XML开发入门基础:使用CSS显示XML
     XML开发入门基础:查看 XML 文件
     XML开发入门基础:XML 浏览器支持
     XML开发入门基础:XML 验证
    相 关 文 章

    vb.net使用TreeView 控件显示文件夹列表
    TreeView中让子节点随父节点改变状态
    TreeView 拖动的下横线
    C# 实现屏幕键盘 (ScreenKeyboard)
    ASP.NET中TreeView控件使用小结
    ASP学习:VBScript WeekdayName 函数
    从DataGridView托放数据到TreeView控件
    微软的.Net和Sun的J2EE如何对垒
    .NET与J2EE只能是敌人吗
    .NET和J2EE该相互学习什么?

    | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告

     

    Copyright 2006-2008 pcjx.com All Rights Reserved
    电脑技巧 版权所有 粤ICP备06059145号 地图
    本网站所有内容未经许可不得转载或做其他使用