是J2EE还是.Net,选择您的技术平台 -- Microsoft .NET与J2EE概述

一.Microsoft .NETJ2EE概述

       Microsoft .NETSun J2EE是目前构建企业信息系统的两大主流技术框架。两者都在针对分布式N-Tier应用的设计、集成、性能、安全性和可靠性等诸多方面,为用户提供了总体的指南和规范。基于这些指南和规范,技术提供商提供了相应的平台、工具和编程环境。在具体的应用框架中,包括了针对应用的表现层服务、服务器端进程、会话管理、商业逻辑框架、应用数据缓存、应用逻辑、事务、安全和日志服务等内容。应用框架的目标是提供一个统一的软件框架,以减少对企业软件产品的支持、维护和集成的代价。

.NET Microsoft 的面向企业级分布式应用的基础服务平台和开发平台,是下一代能够将我们生活中的信息、设备以及人员以一种统一的, 个性化的方式连接在一起的软件,拥有随时、随地在任何设备上访问和操作信息的能力。其核心是XML Web Service,通过该技术,实现了异构系统平台间的互通互联。从构成上看,.Net.Net框架、客户端、高端企业级服务平台以及.Net开发工具所构成(如下图所示).NET框架提供了一种内聚的综合开发环境及核心运行库,使得能够有效地部署、操作和管理企业应用程序,是一个基于.Net技术规范的应用服务器;客户端是指.Net提供了对各种诸如SmartPhoneTabletPCPDA等智能设备的统一一致的支持,无论这些设备采用何种规范与标准,通过.Net技术便可让这些设备能非常灵活地对应用系统进行访问和操作;高端企业级服务平台是指所有与.Net内核集成在一起、为构建企业及应用所需要的技术支撑平台,如Windows Server2003操作系统、SQL Server2000数据库、基础消息平台Exchange Server2004、实现企业应用整合及数据交换的Biztalk Server2004平台等;同时.Net中还提供了一个快速高效的可视化开发环境Visual Studio2003,该开发工具不仅具有高效开发上的特点,还能将WindowsWeb的开发方式进行统一,并且将对BiztalkOfficeSharepoint等产品的二次开发也都集成到了Visual Studio这一统一的开发工具之下。其中.Net 框架在Windows Server2003中已内置于操作系统之中,对其他的操作系统如Windows Server2000以及Windows XP则可以免费从Microsoft站点上下载.Net框架。

J2EE(Java企业版)是一组规范集,为基于多层分布式应用模型上的Java应用设计、开发、装配和部署定义了一系列规范, 目前由十几个规范所构成,每一个规范规定了Java技术应当如何提供一种功能的实现,如JSP规范用于解决动态网页开发的问题、EJB规范规定了如何创建组建模型等。实现了J2EE规范的软件通常被称作J2EE应用服务器,目前两大主流J2EE应用服务器是BEAWebLogic以及IBMWebSphere

 

 

 

 

一致的目标 :

.NET开发平台和J2EE在实质上具有类似的设计目标:

n         采用更易于重用别人创建的代码组件的程序设计模型,通过向开发者提供已有的组件,消除了重写底层例程的必要,从而提高开发者的开发效率。

n         通过消除或减少对C这样的开发语言的易出错结构的使用,以及使用强迫对所有代码组件间的交互点作清晰定义的编程模型(这隔离了错误的影响,并且使错误跟踪更为容易),增强了软件的可靠性。

n         通过对应用程序可以或不可以做什么(例如它们是否可以读/写磁盘)加以控制,并且在运行时采用数字签名以确认代码是由信任的实体编写的且尚未被改变,来提高安全性。

n         通过在代码自身内嵌入组件描述(包括版本信息)来简化安装和卸载。这免除了让开发者在安装时注册他们的代码的思想——这是以前安装复杂和不稳定的一个主要原因—— 从而使需要时,没有或很少有用户或者管理员的干预,应用程序软件即可自动安装成为可能。在.NET开发平台的情形中,它还允许同一组件的不同版本共存于一个系统,彼此间互不干涉,也不与其他应用程序相干涉。

n         .NET Framework和基于J2EE的产品都和第三方的产品一起工作。例如,在后端数据库领域,.NET和基于J2EE的应用程序能访问储存在MicrosoftSQL服务器、IBMDB2OracleInformixSybase等服务器里面的数据。再举一个例子,.NET和基于J2EE的系统能访问流行的信息中间设备,如MicrosoftMSMQ或是IBMMQSeries。同样,也包括文件系统,第三方开发工具,代码版本系统,防火墙等

 

 

 

 

类似的体系结构:

由于目标类似,.NETJ2EE两个开发平台也有着类似的体系结构。相应的体系结构特征如下:

n         虚拟机:设计它用来检查、加载和执行在一个牢牢受控的沙箱sandbox)中的程序。通过在程序代码可以做和不可以做什么之间设置严格的边界,这个沙箱减少了由恶性代码(例如病毒)和信任代码偶然的行为造成的危险。为了启用这个沙箱体系结构,所有的程序都被从原始代码编译成了与处理器无关的中介语言——Microsoft Intermediate LanguageMSIL)或Java位码。然后在称作Just-in-TimeJIT)编译器的参与下,这些中介代码单元被翻译成了针对特定CPU类型和操作系统的本机代码。这个虚拟机还向程序提供了诸如内存管理等基础服务。.NET的虚拟机称作Common Language RuntimeCLR),J2EE使用Java Virtual MachineJVM(Java虚拟机)。

n         类库:向应用程序开发者提供预先写好的功能,包括:编码服务(例如字符串操作和事务处理),网络服务(协议处理),系统管理服务(安全许可和组件合并),服务器服务(为Web页服务,连结E-mail),以及连结外部源(例如数据库系统和数据流)的服务。 

n         定制的编程语言:建立在CC++基础之上,包括诸如强类型化和能提高开发者开发效率并降低bug出现的可能性等改进。不过,只要有编译器能将初始的源代码翻译成为虚拟机能够理解的中介代码,就没有必要用这些语言(C# for .NET或者Java for J2EE)来写程序。CLR现在支持C#Visual Basic Jscript COBLOL Fortran Haskell以及Python(由的三方开发的带有许多其他语言的工具)等二十多种语言;Java的运行需要JVM的支持。

用于运行在Web服务器上的动态Web页的开发环境:这让开发者使用相同的平台既可创建桌面应用程序,又可创建基于Web的应用程序,.NET使用ASP..NET,而J2EE使用Java Server PagesJSP)。

 

 

 

 

不同的设计理念:

从上面的分析不难看出,.NETJ2EE都是构建分布式企业信息系统的利器,有着一致的设计目标和类似的体系结构,但两者有着截然不同的设计理念和开发性、性能、部署管理等诸方面不同的表现。J2EE强调了硬件的跨平台性,即采用J2EE开发的应用即可以运行在Windows平台上,也可以运行在Unix等其它平台上;而Microsoft则从另外一个角度实现了跨平台的互操作性,更加关注企业中异构系统并存的现状以及跨部门跨企业间的协同问题,信息技术在经历了数十年的发展之后,任何一个企业在不同的时期采用不同的技术建立了一系列的应用系统,这些系统可能运行在不同的硬软件平台之上,这就呼唤着业界有一种新的技术拥有让这些异构平台间的应用相互操作与协同的能力。

 

 

 

 

       20006月,微软公司宣布了一个宏伟的远景战略,即要通过优秀的软件提供更加广泛和丰富的解决方案以及服务,让计算机群、相关设备和服务商协同工作,能让人们随时随地采用任何设备都能对企业的信息进行访问和处理,这便是微软的.Net战略,微软自此将未来几年内的发展倾注在.NET战略上。

       在过去四年的时间里,.NET技术不断革新和成熟,经受了市场竞争和用户应用的考验,不仅在客户端、中小型软件开发市场深受欢迎,在高端行业应用中,也被越来越多的人认为是优于J2EE的优秀的开发平台。

 

 

 

 

应运而生的创新:

       以今天的视角去审视.NET的出现,一切还是顺理成章的:

1)  经过多年的市场培育,Windows平台毫无争议的成为桌面操作系统的事实标准,如何利用已有的平台去提升企业价值,使购置资产的效用最大化,这是CEO/CIO需要面临的主要问题。

2)  网络泡沫逐步凸显的威胁,让一些更加理智的企业决策者开始考虑如何降低IT采购的成本以平稳度过危机。

3)  J2EE在当时作为典型的企业应用平台并不足以解决所有的问题,在针对一些传统应用和历史遗留系统的整合方面出现的困难表现得有心无力。历史上有很多应用系统是使用FoxprodBaseDelphiVB这样的语言开发的,这些系统大多不是特别庞大,但是对于企业而言却至关重要,如何去保护这样的已有投资,Java的表现至今都不尽如人意。

4)  伴随着网络应用的不断扩展,终端的丰富化、智能化的趋势,Web Service技术作为互连技术逐渐得到认同,并且渐渐成为各种智能设备互连的主要标准,由此对传统以PC为对象的编程提出新的挑战,这需要一个很好的方案去解决。

5)  软件产业迫切需要一个更好的平台作为IT基础架构,在此之上的应用开发能够极大地提高生产力。

 

 

 

 

       .NET正是在这样的多重背景之下产生的。对于微软公司而言,它是一个革命性的创新;对于软件产业界而言,它是一次创新的革命。

待续....

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值