且看微软的.Net和Sun公司的J2EE如何对垒[url]http://tech.163.com[/url]
2006-03-21 20:21:05 来源: sun
网友评论0 条论坛导读:面对微软推出的.Net FRAMEWORK,你可能会有以下疑问:
¨准确地讲.Net平台是什么?
¨如何将.Net的体系结构和J2EE对比?
¨从.Net的体系结构演绎出的一整套关于企业软件开发方案中我们能学到此什么?
在本文中作者将为你解开这些疑问。
廖永康原文出处:[url]http://java.sun.com/features/2000/11/dotnetvsms.html[/url]
即使你没有专门针对微软平台写过程序,你可能也会听到过微软的.Net。这是微软对最近一连串和
非视窗事件竞争的回答。如果你读到过有关新闻、来自微软的撰稿、或者通过在MSDN端浏览得到的
不完整的技术资料、或者你注意到了微软专家开发者会议(会上已经演示了.Net平台)的话,你可能
至少还有两大疑问:
¨准确地讲.Net平台是什么?
¨如何将.Net的体系结构和J2EE对比?
如果你再深入一步的话,你可能还有第三个疑问活跃在你的脑海里:
¨从.Net的体系结构演绎出的一整套关于企业软件开发方案中我们能学到此什么?
.Net框架是其生命周期的十分早期阶段的产品,微软.Net部门还会不断地更深入和仔细地开发它,
但是无论怎样,我们已经能够从已有的资料对这些问题作出公正的正确的回答。
它是什么?(.Net是什么?)
现在在众多的论坛中对.Net的反思,使人不禁联想起三个瞎子摸象的寓言;根据你的洞察力,可能
得到非常不同的结论:有人认为.Net是微软下一代Visual Studio的开发环境;有人认为它只是一种
新的编程语言(C#);还有人为它是基于XML和SOAP的一种新的数据交换和报文的工作框架。实际
上,.Net包含了这几部份内容,而且还会更多。
首先,让我们看一些具体的细节,浏览一下组成.Net平台的一系列技术构件:
¨C#:是一种新写的描述(书)构件的语言,它将C、C++和Java的元素集成起来,并增加一些特点如:
元数据标记、相关元素的开发。
¨“公共语言运行时”:它以中间语言(IL)格式,运行字节代码,用一种语言写的代码和对象只要编
译器是针对这种语言开发的,显然能够编译成IL运行时。
¨一组基本的可从“公共语言运行时”访问的构件(元件),它可提供各种功能(如:连网功能、包容
器功能等等)。
¨ASP.NET:是新的ASP版本,支持将ASP编译成公共语言运行时功能(所以用任何语言写的ASP脚本,
都能和IL捆绑在一起)。
¨视窗格式和Web格式:一种新的可从Visual Studio访问的UI构件框架。(用户接口=UI)。
¨ADO:将XML和SLAP用于数据交换的新一代ADO数据访问构件(元件)。
.Net和J2EE如何比较?
正如我们所能看见的.Net平台,在其伞型结构下有一个技术矩阵(宝塔)。显然微软为了抓住视窗平
台的开发商,正在将这些技术变成现有平台如J2EE和CORBA的代用品。但是怎样对它们进行逐项比较
呢?一种方法就是将.Net和J2EE作成以下对比列表:
.Net J2EE 关键差异
C#编程语言Java编程语言C#和Java均来自C和C++,最显著的特点(如垃圾收集层次结构的名字空
间)在两个方面。C#借用了JavaBeans的某些构件概念(特性属性、事件等),并增加了某些自己的概
念(如元数据标志),但将这些特点合并成不同的语法。Java以Java虚拟机方式运行在任何平台上,
而C#在可预见的将来,仅运行在视窗环境内。C#隐含地结合到IL公共语言运行时中,(见后),然
后按合理的顺序(JIT)运行。编译成的字节编码或者整个编译成的自然编码。Java代码按照Java 虚
拟机字节代码方式运行,它由VM解析或JIT编译,或者整个编译成自然代码。
.Net公共元件(填补“.Net 框架结构的SDK”) Java核心API 高层的.Net元件,包括支持用XML和SOAP 的
分布式访问(见ADO.NET)。
ASP.NET页面(ASP.NET) Java服务器页面(JSP) ASP.NET使用Visual Basic、C# 可能还有一别的语
言作为代码段。通过公共语言运行时全部编译成自然代码(与此相对应<相反> 是象APS那样,每次
都解析执行)。JSP使用Java代码(段或者JavaBeans参考),或者编译成Java字节代码(按需或批编
译要根据JSP实现系统来决定)。.Net公共语言运行时允许以多种语言的代码(程序)在视窗环境下
使用一组共享的元件。优先于.Net框架的所有元件(公共元件、ASP.NET等)。
IL公共语言运行时Java虚拟机和CORBA IDL和ORB Java的虚拟机规程,允许Java字节代码,在任何
平台上按JVM方式运行。CORBA允许多种语言的代码使用一组共享的对象,在任何带有ORB的平台上
运行,并不是紧密地集成到J2EE框架内。同样的Web元件(如基于JSP的文件)在标准的Java平台上
是没有的,某些专有的元件只能通过Java IDE等得到。
视窗格式和Web格式Java的飘移通过MS Visual Studio的IDE而不是在本文所说的IDE,支持视窗格
式和Web格式的RAD开发,在许多Java的IDE和工具中都支持“飘移”(Swing)。
ADO.NET和基于SOAP的Web服务JDBC、EJB、JMS和Java XML库(XML4J、JA-XP) ADO.NET建立在位于HTTP
协议顶部的XML数据交换的基础上(指在远程数据对象和多个应用程序捆绑之间的数据交换)。一般
说来,.Net的Web服务假定了SOAP发信模型。而EJB、JDBC等将数据交换协议和开发者处理权分离,
不工作在HTTP、KMI/JRMP或IIOP顶层。
该表的比较只抓住了表面现象,这里再总结一下.Net和J2EE的比较:
¨特点:.Net和J2EE都提供同样优秀的特点,尽管提供的方法不同。
¨可移植性(Portability):.Net的核心只工作Windows环境下,但从理论上讲可以支持以多种语言
开发(只要这些语言的子集/超集已经定义好,并为他们建立了IL编译器)。也就是说:SOAP的能力
允许在其它平台上的元件(部件)和.Net元件进行数据报文交换。而.Net中的一些元素:象SOAP,其
恢复和查找协议,作为公共部份提供构架的核心部件(IL运行时环境、ASP.NET内部的视窗格式和Web
格式元件“合同”等)仍由微软掌握,微软只扮演整个.Net开发环境和运行时环境提供者的角色。其实
早就有了来自开发者协会要求微软公开这些规程,但是这和微软的标准经验相违背。
另一方面,J2EE只要遵循Java VM(规则)和一组平台需要的服务就可以在任何平台上工作(EJB包容
器、JMS服务等等)。所有这些定义了J2EE平台的规程,都已经公开发表,并提供公众阅读。因此,
许多供应商也提供兼容产品和开发环境。但是J2EE是单语言平台,若用其它语言调用或访问对象,
可能需要通过CORBA,但是CORBA支持并不是平台普遍存在的部分。
巨大的前景:
上述最后的几点勾画出.Net和J2EE的某些关键性的差异,以及微软在这些方面所扮演的角色。微软
现在正在为.Net做两件值得注意的事:通过将XML和SOAP集成到他们的信息传输方案中,从而为以其
它编程语言开发商和非.Net部件打开通向.Net的道路。
通过让语言元件交叉互动,.Net正在释放Perl、Eiffel、Cobol和其它编程器,允许它们扮演微软“沙
盘”的角色。这些语言的爱好者应该特别遵守规则,因为他们中大部分人在微软/SUN/OpenSource竞
争中感受到约束和定界。因此,只要在他的元件发信层使用XML和SOAP,微软就能支持他们将开放性
部件加到他们的平台上,从而摆脱对专用性的依赖。

转载于:https://blog.51cto.com/itboy/109029

且看微软的.Net和Sun公司的J2EE如何对垒相关推荐

  1. 微软为一人收购一公司?破解索尼程序、写黑客小说,看他彪悍的程序人生!...

    作者 | 伍杏玲 出品 | CSDN(ID:CSDNnews) 格子衬衫.常掉发.双肩包.修电脑.加班多--这些似乎成了大众给程序员的固定标签.近几年流行的"跨界风"开始刷新人们对 ...

  2. 开发Java,市值一度超过两千亿美元,造福无数程序员的Sun公司,也最终“陨落”...

    "那些疯狂到认为自己能够改变世界的人,才是真正能够改变世界的人." 这是乔布斯曾说过的话,也是很多技术大佬都会坚守的信念.最突出的表现则在于他们性格方面足够的特立独行,甚至是有些偏 ...

  3. 看微软IE7.0更新的一家之言(转)

    看微软IE7.0更新的一家之言(转) 面对新一轮的浏览器大战,微软终于坐不住了!近日,有消息称"由于担心安全方面的隐患使得用户放弃IE,微软已经加强了恢复用户信心的工作,其具体举措是启动关于 ...

  4. sun公司:太阳的升起与衰落

    Sun 是一个在计算机发展史上有着重要历史地位的公司,2009 年被 Oracle 收购.Sun 的发展经历过升起和壮大,又经历过衰败和陨落.今天我就来分享 Sun 是怎么创业并发展壮大的. < ...

  5. Java发明者Sun公司的出生与死亡

    <当太阳升起的时候>这首歌会立马让中国人想到某个企业.在西方互联网电脑公司里,也有一个曾经名号响当当的公司:Sun.这个公司成立于1982年,在最近一次2008年的经济危机中没有撑下去破产 ...

  6. 暗淡的太阳,Sun公司兴衰史

    暗淡的太阳,Sun公司兴衰史 新闻来源:linuxden 首先,我们简单回顾一下太阳计算机系统公司的历史.太阳计算机系统公司 (Sun  Microsystems, Inc.),诞生于1982年美国斯 ...

  7. 这份工程师简历火了:手磨14nm咖啡,在微软传播性病,90%公司伸橄榄枝

    金磊 博雯 发自 凹非寺 量子位 报道 | 公众号 QbitAI 就很荒诞,一个软件工程师的简历竟然是这样的: 确保团队6人能喝上咖啡,还是用南极洲咖啡豆磨成14纳米颗粒的那种. 在LinkedIn上 ...

  8. Sun公司因为不懂销售和运营,导致陨落,最终软件还是打败了硬件

    @Author:Runsen 学过Java的人都知道Sun 是一个在计算机发展史上有着重要历史地位的公司,10 年被 Oracle 收购.今天我就来分享 Sun 到底是怎么陨落. Sun公司因为不懂销 ...

  9. 参加Sun公司的新产品的发布会议

    在2004年的最后阶段,能收到Sun公司的邀请函,去参加"Sun秋季产品发布会",是在沈阳的丽都喜来登酒店,幸运的是,这次地点是上次微软公司msdn发布会的邻居,也是五星级别的.不 ...

最新文章

  1. 什么是SCADA Viewer
  2. OracleJDBC
  3. ubuntu 定时执行任务at
  4. 由c语言转向c++,我们需要做什么?
  5. python第八题 查找敏感单词
  6. “拒绝访问”协助方案
  7. ArcSDE服务入门
  8. Xmodem、Ymodem、Zmodem
  9. 倒计时 5 天!Apache Flink Meetup · 北京站,1.13 新版本 x 互娱实践分享的开发者盛筵!...
  10. 数据结构考研如何120+?
  11. Java 学生选课系统 源代码
  12. 用selenium IDE编写自动化测试脚本
  13. 微信服务通知消息找回_微信鲜为人知的4个冷知识,小技巧却有大用处
  14. 高德地图自定义定位当前位置按钮
  15. opencv实现阈值分割算法和分水岭算法
  16. [H5案例课程]连连看H5小游戏的制作-岑远科-专题视频课程
  17. jmeter + java jdk 的下载+安装+环境配置+如何创建桌面快捷方式羽毛图标
  18. python代码实现冒泡排序
  19. 铁腕军阀服务器无响应,铁腕军阀冬季攻势
  20. 海康威视摄像机OSD设置、字符叠加(时间,通道名称)

热门文章

  1. 2983:谁是你的潜在朋友
  2. C#之Directory类、DirectoryInfo类和Fileinfo,File以及FilesSystemInfo
  3. The 15th UESTC Programming Contest Preliminary C - C0ins cdoj1554
  4. 订货(bzoj 2424)
  5. 前后端数据交互方法 汇总
  6. CListCtrl使用条款
  7. 在Ubuntu中永久添加DNS
  8. 全球容器技术大会议题一览
  9. YunTable开发日记(3) – BigTable的数据模型和调用接口 (转载)
  10. 字符字节Base64编码