书我就不多介绍了,在J2EE社区挺热的。看到一半的时候,在JE上放了段话:

看了前面几章,有个大大的问号,J2EE without EJB,那为什么不用.NET呢?以前老说.NET上不了企业级,现在看来微软也不用造EJB.NET了。

在书里面看到说J2EE现在最大的优势是优秀的开源社区的支撑,这倒不假。不过.NET这边发展也很快,首先MS自己会搞很多东西出来,N多的J2EE平台开源框架也有了.NET版本。

在IDE,UI,Class Library,Cost方面, .NET都有明显的优势,数据库SQLServer2005,集成服务器Biztalk,工作流引擎MS WorkFlow Foundation, AJAX框架Atlas......

无意挑起任何争端,只想听听各位的分析,在以后的企业级系统方向上,J2EE的优势和机遇。



Robbin对此的答复 :

谈谈个人的看法:

Microsoft掌握了dotnet所有的底层技术发展方向,实际上压抑了底层开源框架的发展,可以完全可以想像,一旦Microsoft推出自己的技术,那么相应的开源框架就没有人去用了,前段时间看过一个文章谈到了这些话题。lucene.net项目现在就关门大吉了。看下面的引文:

引用:
Malcom 的文章说,.NET 开发者接受 Microsoft 提供的工具和服务,我想这在很大程度上是对的。.NET 开发者很少花时间,开发持续层方案(persistence layers),web 应用程序框架(web application frameworks)或者缓存解决方案(caching solutions),因为 Microsoft 已经为这些问题提供了 Microsoft 解决方案。但是仅仅是因为 Microsoft 提供了这些工具吗?那为什么 JSF,JDO,NetBeans 不能成为 Java 技术 Blog 站点的主流声音呢?拿 ASP.NET 和 JSF 作一个细致的比较,它们并没有太多的不同,但 ASP.NET 和 Visual Studio 一起被广泛应用,而 JSF 却很少人用并且饱受嘲弄。我认为 Malcom 是对的,的确是思维方式的差异早就了这一切。

回过头来看看 Lucene.NET 的那群人吧:他们为什么关闭了开源的项目,他们为什么不再继续为这个很优秀的想法贡献他们的时间和精力呢?或许 .NET 社区对他们工作的反响,让他们无法继续维持下去了吧!使用 google 在 weblogs.asp.net 上搜索“lucene”只得到了 17 项结果,而在 jroller.com 得到了 2570 项结果。Lucene 已经存在很长时间了,但 Lucene.NET 的那群人们把东西包起来另起门户,其中一个原因可能就是:几乎没有人关注他们的工作:大家都在忙着研究 SQL Server 的全文检索,这才是 Microsoft 提供的解决方案(当然,需要为每个处理器花费成千的美元购买许可)。在 Java 世界,Lucene,Struts,Tomcat 之所以繁荣,也是因为为一个大的开源项目工作,给开发者带来了足够的威望。而当你投身于一个开源项目,却很少人注意时,沮丧的你也许也要寻找另外的动力。在 Lucene.NET 这个事例中,money 是他们的动力,所以他们关闭了项目,转而贩卖他们的个人版本和商业版本。他们或许能得到双倍的美元吧,但我打赌一年以内,不会有多少人谈论 seachblackbox.com 的。

那么我的观点是什么呢?是说 .NET 开发者很贪婪,不关心社区吗?不是这样的。我认为,这两个社区有不同的司机:.NET 开发者盯着 Microsoft,关心 Microsoft 提供的解决方案,如果他们在车窗外看到了好东西并拿来使用,Microsoft 可能会最终进入这个领域,并发布产品或者提出解决方案,这样,以前的工作就完全被否定了。Microsoft 是 .NET 社区的司机。Java 开发者们看了看 Sun 推出的产品和语言规范,扭头去开发他们自己的工具、框架、应用程序。Sun 推出的东西,Java 社区的开发者只有他们确实喜欢才会去使用。Struts 的门庭若市,与 JSF 的门庭冷落,印证了这一点。在 Java 社区,开发者自己是司机。


在IDE方面,Visual Studio只能说是一个初学者友好的IDE,对于熟练的程序员来说,从编写代码的程序员使用角度来说,它和Eclipse/IDEA差得很远。

桌面UI方面dotnet有压倒性的优势,不过在服务端领域,完全不涉及桌面UI。

Class Library方面现在dotnet还远远没有Java那么丰富。

SQLServer和Oracle相比,综合各个方面来说,不在一个等级上。何况SQL Server实在是Windows平台一大安全漏洞,你能放心去用吗?

Biztalk没有用过,不知道。

MS WorkFlow Foundation这玩意现在已经出来吗?有人用过了吗?而Java世界的workflow软件,开源的,商业的不要太多。

AJAX框架主要还是客户端的JavaScript,atlas服务器端通讯加一个Java实现,不一样拿过来放在Java Web Application里面用吗

其实我感觉你都没有说到点子上。dotnet的主要优势都不是这些,这些方面也不是dotnet优势。dotnet优势就是一个公司做的,所以提供了一个统一的,一体化的集成解决方案,而且比较易学易用。不像java,官方做出来的标准是阿斗,不争气,上不了台面,大家下面野路子做的东西好是好,就是五花八门,各搞各的,没有一个统一的一体化集成解决方案。你得集成n个框架才能组合出来一个可用的顺手的开发平台,这个开发平台的学习成本就实在可观了。


我把这本书给当前项目的PM看了,PM是J2EE一路走过来的,EJB上面研究得比较深。偶EJB一直没有仔细的理解过,今天下午我们两个都得空一点,把他拉到会议室给我讲了一把EJB,偶决定写几句心得体会,如果下面内容误差比较大,归咎于我的知识和理解的缺陷  :-)

老大是从RPC说起的~~~
在XX年代,硬件的性能有限,分布式运用逐渐兴起,RPC逐渐成了Client/Server通信标准
若干年后,为了解决跨平台多语言等问题,COBRA出世了..
不过COBRA有这么几个主要问题:
 (1)每家厂商提供的库不一致
 (2)CORBR本身没有解决事务、安全等企业级应用方面的问题,每家厂商自己实现,差异就更大了
 (3)学习的成本比较高
(这么好的技术感觉被商业利益给害了)

然后,Sun站在COBRA的肩膀上,搞出了J2EE,用统一的标准解决COBRA面临的一些主要问题(还是没有MS狠,连标准带实现都独揽了)。

再回到<<J2EE Without EJB>>,里面反复强调尽量避免分布式的运用,在这个基础上轻量级容器应运而生。我想,当今硬件性能上去了,价格下来了,集群技术发展了,分布式的需求看似没有以前那么迫切了。

先在看来又到了轻量级容器群雄格局的场面了,何时再能统一?相信不会太遥远.... 

Posted on 2006-01-13 22:55  白板  阅读(1959)  评论(0编辑  收藏  举报