Java与.Net的区别一、应用时期的比较:
IBMNOTES平台是OA系统早期应用的主要技术,主要是C/S结构(注:C/S结构指系统软件在使用时,不仅需要在服务器端安装软件,还需在各个用户自己的电脑上安装客户端,系统升级和维护的时候需要服务器和客户端同时维护)。由于OA系统在中国的应用以电子政务,的使用为开端,早期建设的大OA基本上都是采用NOTES技术来开发。
JAVA技术和.NET技术是2003年以后逐渐流行的OA开发平台与技术,主要支持B/S结构的应用(注:B/S结构指系统软件安装时只需要在服务器端进行安装,后期维护也只需要在服务器端维护既可,普通用户使用时只需要用IE浏览器以浏览网页的方式浏览就可以,不需要在客户端做任何安装和操作,便于升级和维护)。二、具体应用的对比
NOTES的强项在于开发流程类程序,对于复杂的流程他可以准确的实现,但是对于变化较多的流程,或者对于已经做好的流程要进行修改,对于NOTES是非常困难的事情。
此外,因为NOTES不支持ORACLE,SQL等关系型数据库,当用户数据量积累比较多,变成海量数据时,NOTES系统的运行效率会大大降低,甚至能达到用户不能忍受的程度。
NOTES平台目标是尽量实现多的功能应用,把信息交流、文件的管理、共享及复制、数据库、用户界面、网络服务商、应用发展、传真、时序安排和日历功能等等所有的东西都压缩到一个空间里。这种设计从结构上说违背了软件业发展的基本原则,导致他从安装到开发都非常复杂。安装复杂,因为它需要完成很多事。并且因为它的复杂性,NOTES的应用开发十分困难且花费巨大。NOTES处理速度很慢因为它有很多层的界面。同样由于它的复杂性,NOTES了第三方去创造新的应用的能力。
尽管NOTES在OA应用初期所做的贡献功不可没,但是技术平台也有生命周期,多种新技术的发展和OA用户逐渐要求系统实用,易用并可灵活拓展是他逐渐没落的重要原因。
以JAVA和.NET为代表的OA的新技术的应用,有以下几个特点;1、支持最新的网络传输XML技术,在B/S系统结构的易用性,安全性上都有了大的突破,使B/S结构系统的大范围应用变成现实。
2、支持关系型数据库,在海量数据存储和计算方面有极大的优势,延长了OA系统的使用周期,使OA用户摆脱了原来NOTES系统越用越慢的桎梏。
3、支持中间件技术,大大降低了二次开发成本,全面提高系统的灵活性
4、支持图形化流程设计,使原来复杂的流程开发工作变成用鼠标拖拽就可完成的简单应用。
5、实现单点维护,安装升级简洁易用。
三、JAVA技术和.NET技术的对比
(一)相同点:
1.适用:企业级开发平台,并且广泛应用于web开发领域;
2.Windows.NET框架和Java都使用了一种托管的运行时环境,都将源代码转换为一种中间语言,然后将其编译为本地的可执行代码。两种平台的开发语言环境都提供垃圾收集、动态类加载和异常;
3.后台数据库领域中,.NET和基于J2EE的应用程序都可以访问MicrosoftSQLServer、IBMDB2、Oracle、Informix、Sybase和其他数据库上存储的数据;
(二)优劣:
1.Net更加方便的利用操作系统集成的服务;2.Net平台架构的简单易用性,决定了使用它的开发效率较高;开发成本更低
3.使用.Net框架的开发和维护费用更低。与在.NET框架上编写的应用程序相比,J2EE应用程序需要更多的代码来执行同样的任务,较短的代码意味着更轻松的维护工作;
4.Net系统比J2EE系统的部署更加简单、方便;(三)总结:
1.两者的应用有着相似的架构、相应的主要技术;2.Net所有技术来自Microsoft,J2EE的技术有多个厂商的实现;这也就决定。NET走的是微软一贯的易用性强,灵活性高,人性化的特点,J2EE则是承袭了技术性强,逻辑性强,可跨平台使用等的特点
3.Java和.Net都是运行环境,相当于一个微型的操作系统,所有在这个结构上编译的代码都运行在这个运行环境中。Java平台中目前只包含Java语言,而.Net平台中有多种语言(编译以后的文件基本类似)。Java的第三方类库比较多,语言单一,所以开发成本比较低,属于低成本高回报类开发平台。DotNet第三方类库没有Java那么丰富,而且因为语言种类较多,开发维护成本较高,不利于后期维护。而且因为DotNet的跨平台性能远远低于Java(DotNet也是跨操作系统的开发平台),所以仅局限于Windows开发,开发成本高。从代码上来看,两者除了部分关键字不一样外,代码风格比较接近(仅指C#和Java),但DotNet的大量内部类库比较难以记忆,复杂系统的开发效率比Java低,但对于windows的桌面级开发,性能和简易程度远远高于Java。DotNet适合早期VC++,VB,ASP程序员无障碍升级,Java适合各种程序员学习。DotNet在windows桌面开发上有比较大优势,但其他方面远远不及Java便捷。最后,C#程序员可以比较轻松转移到Java,反之则不然。另外,由于DotNet的Web程序架构远远不及Java的第三方架构使用便捷,目前使用较少。
四、Java与.Net的介绍1..Net
目前国内计算机语言的主流技术之一,有一个现象大家都可以看到——现在软件公司的招聘广告,从招聘广告上我们看到现在更多的招
聘对象都是JAVA和.net的技术工程师,从这个市场热度不难看出——JAVA和.net在未来很长的一段时间里将代表开发语言的主流。论证其是否是主流原因的方法很简单,第一:是否有国际大厂商的支持。第二:可扩展性,可升级性,模块化,面向对象等等优势。产品开发出来的安全稳定性以及开发出来的可伸缩性。当然可扩展性和可升级性、模块化这些都是没有办法可视化的,对于那些对OA语言感兴趣的爱好者不防多看看计算机语言技术方面的书籍,其实每本书里都有介绍JAVA和.net在扩展、升级、模块化方面的均衡优势。第三:还有一个最为简单的验证方法,就是可以问问你身边搞过研发或者懂点计算机语言技术的朋友,他们都会给你一个明确的答案。.NET语言开发的软件产品稳定性较高,产品可以模块化是一个存在的事实优势,但.NET具有很强的优势的同时,也存在一定的劣势,如跨平台、大数据并发。同时.Net与ASP对接时,就会导致产品的安全性变低,.NET平台的安全性会随着ASP的安全漏洞安全为黑客或者不法分子利用进而破坏,这个也就一直困扰软件技术工程师的一个最大的问题——.NET语言没有办法和ASP对接的最大一个因素之一。当然.NET如果不需要与ASP语言对接,那么也不存在这样的风险。.net的优势1..net的元数据功能强大。2.部署非常方便。3.sidebysideexecution,解决了版本问题,允许多版本共存,resolveddllhell.4.Thisisaremarkableone,codebehindtechnology.5.Alsoaremarkableone,easierWebServicedevelopmentanddeployment.6.backcompatible,对以前产品的兼容,如果用java,你以前用com+实现的东西就会变成一堆废品。7.vsa,方便我们开发scriptapplication.我们可以开发一个应用程序象office一样有一个scripteditor.这点很诱人。8..netspeechtechnology,前景广阔,callcenter中大有前途,和Voicexml竞争产品,version1.0马上要release了。2.JAVA
JAVA是1995年由SUN公司引进到我们这个世界的性变成语言,今天我们记住SUN这一全球性大公司的原因就是因为SUN在网络安全系统方面是最为优秀的提供商,JAVA的优秀在于与传统的软件比较就是:传统的软件往往与具体的视线环境有关,一旦环境有所变化就需要对软件做一番改动,耗时费力,而JAVA编写的软件能在执行码上兼容,只要服务器提供JAVA解释器,JAVA编写的软件就能在其上运行(更多解释可以见清华大学出版社出版JAVA2实用教程(第二版),在这免费做做广告o(∩_∩)o…)。JAVA比.Net相比,可以跨平台,具有非常强的扩展性;可以在LINUX,UNIX上部署。对于超大型的OA系统,这是至关重要的。Windwos平台想实现上千并发不太现实,这是一个绝对的事实。JAVA在扩展性和稳定性上(SUN在网络安全方面的持续支持)的优越表现导致银行、税务、、这样基于有很高安全要求的公司或者单位在选择软件才产品的时候会首先选择JAVA语言开发的软件产品。目前国内基于JAVA的OA软件:泛微的Ecology,;华天OA;用友致远。由于JAVA和.NET语言开发的产品稳定性和安全性比较高的众所周之的原因,所以在OA软件的应用中使用JAVA和.NET语言开发的OA软件销售的价格会比ASP和PHP开发的软件价格通常要高,但是随着JAVA和.NET的语言技术的大规模使用,一旦JAVA和.NET开发的OA软件进入中低端市场,PHP和ASP结构的OA软件也将会面临全面被取代的局面。
目前国内OA行业中还有一种“功能为王”的声音,这部分主要是依靠ASP、PHP语言技术为主导的商家,这部分商家通常会强调“功能为王”,主观上来看这其实并不错,但是如果站在长期的目标来看,功能为王并不贴切,现有的功能满足并不等于未来的功能满足。