扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
Sun这些年也一直在试图改变这一切,但一直未能如愿。在2002年J2EE1.4推出后,它的复杂程度达到了顶点。尤其是EJB2.0,开发和调试的难度非常大。也许是Sun要下决心改变这一切,或者是受到市场和开发人员的压力,终于在今年5月份正式发布了J2EE5(现已经改名为Java EE 5)规范,并宣称Java EE 5将是Java EE史上最简单的版本,它将大大降低开发难度。但业界对此却表示怀疑。Java EE 5真的变简单了吗?这好像有点突然!Java EE在未来是否能走上一条简单的光明之路呢?
Java EE 5横空出世
Java EE 5终于在千呼万唤中诞生了。在今年的JavaOne会议上,Sun特意派去了一个宣讲团,对Java EE 5进行了大吹特吹,并称Java EE 5最大的改变就是简化开发。同时,还特别提到了EJB3.0可以通过Java最新提供的注释(annotations)以及其它一些特性来提高开发和测试的效率。Sun的鼓吹声还没有完全散尽,业界的嘘嘘声就此起彼伏。一位高级分析师,Richard Monson-Haefel,称Java EE 5虽然做了很多改进,但仍然无法克服它的庞大和复杂。这位高级分析师目前是EJB3.0规范的设计者之一,从Java EE 5的设计者口中说出这样的话,我想它的分量一定不轻。
也许Sun并不愿意听到这样的评论。但Monson-Haefel还是喋喋不休地数落着Java EE 5的种种不是。Monson-Haefel说:“Java EE中的功能高度集成,我们将无法单独使用其中的一部分。而且许多Servlet、Java数据库和JavaServer Pages开发人员一般只使用Java EE的某些相关的特性。但Java EE规范要求必须使用所有的特性[APIs]。为了使程序可以正常运行,这些开发人员不得不建立一个复杂的工程来满足这些要求。这是因为Java EE仍然保持了上世纪90年代后期的编程方法,也就是说Java EE是以API为中心的”。Monson-Haefel甚至危言耸听地称“Java EE的应用已经走到了尽头!”。
也并不是所有的人都象Monson-Haefel这么悲观。一位JBoss公司的发言人说:“我们并不完全反对Burton集团高级分析师Richard Monson-Haefel的关于平台复杂性的观点,但是没有人同意他关于Java EE的应用已经走到尽头的这个结论。”
IBM一向是Java的忠实支持者,也站出来为Java EE说话。Jim Knudson,作为IBM 的Java EE架构师,曾公开表示“虽然Java EE平台在使用上是有一些复杂,但这并不能成为我们放弃这个平台的理由”。
Java EE 5刚一问世,就引来了这么多的议论,当然,这些议论有好的,也有对Java EE 5不利的。那么Java EE的主要用户群:企业,该如何做出选择呢?
企业会为Java EE 5埋单吗?
Java EE 5面世后,企业该如何选择呢?以前使用J2EE1.4及以前版本的企业会升级到Java EE 5吗?
也许Monson-Haefel的一席话会吓倒很多企业。但Jim Knudson对此仍然很乐观。虽然他表示同意Java EE平台很复杂这一观点,但是他说某些复杂性是来自于用户的需求,并且我们要使用户达到他们期望的效果。他说IBM的那些预期实现SOA的用户都打算在Java EE 5平台上面构建SOA。
JBoss产品管理部主管Ram Venkataraman也支持这样的观点:Java EE平台增加了复杂性是有必要的,因为需要使用它来处理各种服务,不仅仅是简单的调用关系数据库的Ajax风格Web服务,而且还有大容量事务处理的财务服务。
也许很多企业的负责人听了这些对Java EE 5赞扬的话,他们会迫不急待地尝试一下Java EE 5。这对于那些已经或即将搭建SOA构架的企业尤其重要。由于基于Java的SOA一般都是建立在J2EE服务器上,这就迫使企业必须做出是否升级到新版Java EE的选择。
如果企业选择了Java EE 5,那可能会增加后续的成本。这是因为Java EE 5是基于Sun最新的JDK的,因此,Java EE 5增加了很多新的API。虽然这些API好象使Java EE 5变得更简单了,但开发人员必须要学习一整套新的编程模型持久化的API。而这些企业必须为此增加培训的费用。
其实Sun的初衷也是好的,只是简化Java EE的做法不妥。也许Sun还不明白,一味地增加功能并不能有效地简化Java EE的使用难度,有时还可能适得其反。如果Sun能够加一个用于开发的所见即所得(WYSIWYG)的拖放系统,那才叫真正地简化开发。而象这样增加很多的API,甚至将编程的思维方式都改变了,这样做并不能使Java EE平台变得更简单,而只是换汤不换药而已。
自从Sun将Java EE平台的设计移交给JCP后,对于Java EE逐渐增加的复杂性,JCP也难辞其咎。作为JCP的成员,Monson-Haefel和JCP的所有成员应该为Java EE 5变成今天这个样子而负责。实际上JCP的成员很早就和Sun的Java EE 5开发团队讨论过这个问题,但Sun表现得并不积极。这样看来,JCP和Sun都应该为此负一定的责任。
JCP的主管,Onno Kluyt却有不同的看法:“Monson-Haefel所看到的复杂性问题并不是JCP所负责的范围。JCP是一个制定标准的组织,并不是一个负责优化的组织,并不应该为Java EE 5的复杂性负责”。同时Kluyt还提到让Java EE 5变得更简单最好方法就是有一个好的IDE,简单是每个JSR所关注的,也是它们的中心任务。然而Java EE的开发者并不知道怎么去做。毕竟,Java EE是否简单,它的开发人员并没有发言权,而最有发言权的是那些使用Java EE的人。”
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者