我个人强烈认为JAVA与.NET将在不久的未来逐步的统一起来。已经有很多关于整合JAVA和.NET的项目计划被提交到源码开放组织。在微软的MSDN,SUN的JAVA站点,以及来自于ECMA和W3C.org的标准文档都可以看到有关内容。
简介
JAVA与.NET继续发展下去,可能的两种结果:其中的一种退出竞争或是两种共存,而共存的可能性更大。JAVA得以生存的原因在于它的时间优势:它已经发展了六年;它在大多数的操作系统上可以运行;它得到了业界领导者如ORACLE、IBM的支持;并且使用JAVA进行开发的项目计划几乎覆盖所有的应用程序领域。
而.NET的优势在于微软拥有90%的桌面操作系统市场,同时微软也开始采用SUN的市场战略,即将其特有的技术标准化。如:在远程通信上它向IETF(InternetEngineering Task Force)和W3C(World Wide Web Consortium)提交了SOAP(SIMPLE OBJECT ACCESS PROTOCLE)(类似于RFC-REQUEST FORCOMMENT);向ECMA(European Computer Manufacturer's Association)提交了C#语言和通用运行时(COMMON RUNTIME)基础结构的标准。
JAVA平台的构架
JAVA平台包括JAVA语言,以及一套虚拟机——如JVM、KVM、CVM等——通过它们实现在PC机,手提电脑或是嵌入式系统上运行JAVA的字节码。同时,JAVA平台还定义了一整套覆盖面很广的API,它们被用来与微软的API协调或是相互竞争。如JDBC对ODBC,JTAPI对TAPI,JDO对ADO等等。因此,简要来说,JAVA平台包括语言,虚拟机,以及API库。
由于使用虚拟机机制,所以JAVA语言在所有的平台上只有唯一的版本,因此它使用RMI(远程方法调用Remote Method Invocation)协议进行远程通信;微软则在.NET框架中使用DCOM——正在逐步演变为SOAP(简单对象访问协议)。
SUN最初对JAVA的宣传是“一次性代码编写,所有环境下运行”,但在推出了“J2EE”(Java 2 Enterprise Edition)和“J2ME”(Java 2 Micro Edition)后不得不收回了它最初的宣传,因为“一种尺码的鞋适合所有的脚”的解决方案并不能很好的工作。
.NET平台的构架
.NET框架包括C++,VB.NET(VB 7.x)和C#等一系列语言;与JAVA虚拟机类似的一套运行时环境;以及一套倾向与WINDOWS体系的API接口。其中的运行时环境可能存在于一个浏览器、或是一个WEB SERVER、或是在操作系统中。将来也许在SQL SERVER中也可能存在这样的运行时环境。另外需要提及的是微软的SOAP协议,它在继承了DCOM的一些特性的基础上发展起来,基于XML格式通过HTTP进行传输。SOAP的JAVA版本,可以在http://xml.apache.org上看到它的有关文档。
发展历程
JAVA最初来源于SUN的一套为机顶盒设计的语言,当时的名字是OAK,SUN将之更名,并将它放在INTERNET上作为开放源码共享。随着专门为网页设计的JAVA APPLET的出现,JAVA语言迅速在INTERNET上流行起来。当时的浏览器主要是NETSCAPE。当微软发现明天市场的主宰可能是浏览器而不是桌面系统时,开始着手对NETSCAPE进行收购,在收购计划失败后微软发展了自己的浏览器IE。
当时的INTERNET需要一种语言,而JAVA适时的出现了,由于它与C++的许多相似的语法,使得很多程序员转向了JAVA。而它确实具有很多优势,以至于在98年秋,它的反对者微软在MSDN中都宣称,JAVA是编写COM组件的最佳语言。
随着JAVA一起出现的还有LINUX操作系统和APACHE服务器。这三者的联合在服务器端的应用表现出强大的威力,以至WINDOWS NT在企业级服务器市场受到了很大的冲击。
98年出现的DHTML和JAVASCRIPT导致了JAVA APPLET在网页设计领域的淡出,在这里有两方面因素:一、大部分APPLET效果现在都可以由DHTML完成;二、而DHTML对带宽的要求更低。但是JAVA因为在服务器端的应用仍有市场,而得以继续发展。
这是开发源码的支持者为JAVA添加了活力,首先是APACHE提出的SERVERLET和稍后出现的JSP,这些在.com网站的程序开发中占据了一席之地。
JAVA平台首先以SERVERLET,然后是JSP,最后是EJB(Enterprise Java Beans),逐步向企业级应用拓展。EJB是一个面向对象的事务进程系统,有些类似于微软的MTS(Microsoft Transaction Server)。事实上MTS和EJB都不是很成功,因为它们都无法达到INTERNET应用的规模。
就我的观点来看,JAVA最失败的时刻是,SUN通过法律手段向微软索赔$2000万,并获得成功的时候。微软从那时开始制订自己的.NET计划,同时也宣布了JAVA作为独一无二的INTERNET平台的地位的结束。
展望
现在,我们能看到到还只是一个很混乱的局面。而在未来,我们将看到.NET的成熟,以及它和JAVA的融合。
JAVA将继续保持它的特点:跨平台的服务器端应用,如WAP服务器,或者是电信领域的如JAIN(Java API for Intelligent Networks,同时它在嵌入式系统中将继续保持它的优势,象智能卡、移动电话、PDA等。而我们还将看到.NET的成熟,当然这种成熟需要时间,可能是相当长的一段时间,就好象当年JAVA成长那样。
ORACLE 8i及其更老一些的版本,充当着一个JAVA运行时的载体的角色,这使得JAVA得以与ORACLE数据库引擎紧密结合;同样,.NET体系也会与新版本的SQL SERVER,紧密的结合,这将包括一个VES(虚拟执行系统)执行引擎。这将使程序开发人员可以在SQL语句和存储过程中嵌入C#和VB.NET的成分。目前,你可以通过调用DLL函数来使用扩展存储过程,但数据库本身并没有一个面向对象的运行时引擎与之相匹配。
| 共3页: 1 [2] [3] 下一页 | ||
|
|
|||
| · 51CTO主编推荐经典专题 · RAID——磁盘阵列基础 · 充电计划之热门IT认证.. · 51CTO技术自测 挑战自.. · CISSP认证成长之路 · AMD Phenom三核处理器.. · 国际文档格式标准开战 · 2007年互联网大会 |
· 我是黑客我怕谁——讲.. · ARP攻击防范与解决方案 · Solaris 10 配置管理 · Solaris基础知识入门 · RIP路由协议专栏 · MPLS路由协议专栏 · OSPF路由协议专栏 · 思科路由器产品 |
||
|
|||
| · Java基础教程 · VPN技术 · ARP攻击防范与解决方案 · SQL Server 2005全解 · SOA 面向服务架构 · SQL Server 2005全解 · Java编程开发手册 · RAID——磁盘阵列基础 |
· 三层交换技术专题 · SQL Server入门到精通 · Windows Server 2003企.. · Windows远程桌面应用 · C#技术开发指南 · VPN技术 · Solaris 10 配置管理 · C#技术开发指南 |
||
|
|||
| · ARP攻击防范与解决方案 · VPN技术 · SQL Server 2005全解 · Java基础教程 · SQL Server入门到精通 · SQL Server 2005全解 · SOA 面向服务架构 · Java编程开发手册 |
· C#技术开发指南 · 三层交换技术专题 · C#技术开发指南 · Windows远程桌面应用 · RAID——磁盘阵列基础 · Windows Server 2003企.. · 邮件服务器专题 · wimax技术与趋势 |
||
| ·DB2 Viper快速入门 ·DB2 9数据库的镜像分割与.. |
·将XML应用程序从DB2 8.x.. ·DB2 9中的pureXML:如何.. |
| ·服务器中的“傻瓜机”在.. ·盖茨也喜欢登录Youtube看.. |
· · |
| ·拯救系统管理员 ·美国选民:我为什么选布什 |
·VMware公司中文命名挑战赛 ·我们真缺乏创新吗? |
| ·J0ker的CISSP之路:复习-.. ·J0ker的CISSP之路:复习-I.. |
·9月第3周安全回顾 内网安.. ·教你几招识别和防御Web网.. |
| · NGN:下一代网络 · 网络访问中断大排查 · FTTx光纤接入 |
· 教你使用Anti ARP Sniff.. · 网络嗅探教程:使用Snif.. · 常见病毒手工清除方法大.. |
| · C++是垃圾语言?! · 2007年IT界七大抄袭事件 · Java实用开发全集 |
· 解析Ajax开发框架 走进A.. · 基于Google Maps与Ajax.. · 基于Google Maps与Ajax.. |
| · 热门 IT 培训认证官方资.. · Ubuntu 中文开源频道 · Solaris基础知识入门 |
· 费力不讨好 数据中心主.. · AMD Phenom三核处理器解.. · 51CTO主编推荐经典专题 |
| · 甲骨文Oracle 11g正式发.. · Oracle数据库开发之PL/S.. · Oracle数据库开发基础教.. |
· 存储2006,一个并购的大.. · IDC宣布浪潮蝉联存储市.. · 双机热备技术 |