程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> J2EE >> Hibernate之父建議開發者升級到Java EE 6

Hibernate之父建議開發者升級到Java EE 6

編輯:J2EE

本文來自CSDN博客,原文標題為《Hibernate 之父:是時候升級到Java EE 6了》。

Hibernate 之父Gavin King建議開發者升級到 Java EE 6 平台,並指出,目前各種不願意升級的觀點其實是沒有根據的。

Java EE 6 發布後,我看到了很多反對升級到新平台的觀點。這些反對觀點大多是由 Tomcat / Jetty 以及一些開源框架(例如 Hibernate 與 Spring)的使用者提出。

當然,選擇非標准、開源技術有很多好處。另外,在 Java EE 6 中,你可以使用你感興趣的開源框架,Servlet 3 與 CDI 可以無縫集成第三方框架。因此,沒有理由不使用 EE 6。盡管如此,我還是看到有人說:

升級到 EE 應用服務器很困難

這似乎是具體組織的政治問題,而不是實際的技術問題。當然,升級服務器(例如 GlassFish 或 JBoss)是非常瑣碎的任務。(升級第三方框架就更為痛苦了。)一些組織機構對服務器升級有著非常重量級的過程,而對於服務器內運行的框架的升級過程卻沒有如此重的過程控制。因此,對於開發團隊來說,升級第三方框架反而更容易一些。

我認為開發更有說服力、更好的過程才是最重要的,而不是放棄 Java EE。將你的應用運行在老舊、過時的服務器平台上存在很多風險,過程不應該鼓勵這樣的實踐。

但從實踐角度看,幾乎每一個人都准備最近就升級到 Servlet 3。無論你在使用 Tomcat、Jetty、JBoss、GlassFish、Resin、WebLogic、Oracle 還是 WebSphere,都意味著服務器的升級。這是一個升級到 EE 6 Web Profile 的絕好機會,黃金時機。

EE 應用服務器太龐大了

反對理由是 EE 服務器包含了很多(當前)使用不到的功能。反對者的論據通常涉及到了討論 jar 包大小、Servlet 引擎+第三方框架與 EE 應用服務器所占用的磁盤空間大小的比較。其實,這樣的論據是有問題的:

討論的磁盤占用、磁盤空間用 $ 衡量其實是微不足道的,並且應用 war 包比服務器安裝包的大小重要得多,服務器其實包含了很多功能來盡量降低 war 的大小。

另外,我認為最有說服力的是 Java EE 6 Web Profile 根本不龐大。一旦經過認證的 Web Profile 服務器投放市場,我們就可以在大的 EE 應用服務器與小的 Servlet 容器中間找到一個平衡點。

糟糕的 J2EE 與 EJB2!

隨著 JCP 的標准化進程,這個問題其實早已不存在了:

1. EJB2 從出現到現在已經 8 年了!它依然是你的最佳選擇?

2.不錯的規范已經通過 JCP 不斷的標准化而合並了,可以非常確定地使用其中一些規范。不過,JCP 在規范標准化上也不是100% 成功的。

3. 所有在 EE 6 平台上工作的人都討厭 EJB2 與 J2EE。這就是為什麼有人不斷地加入到 JCP 來幫助修復這些問題。例如,Hibernate 的創始人,本文的作者。你真的想給他上一課關於 EJB2 的問題?:-)

4.實體 Bean(Entity Beans)的人幾乎現在都退休了!

事實上,Java EE 6 Web Profile 已經足夠用了。如果你不親自嘗試 Java EE 6,你是不能真正感受到 EE6 對開發的好處的。

應用服務器可移植性太神秘了!

真的嗎?我們看到很多人將應用程序分割後部署於不同的應用服務器上?噢,我看到過,這意味著 100% 完美地進行應用程序 0 改變移植,一種柏拉圖式的理想可移植性。我了解對於絕對真理與柏拉圖式理想的弱點,不過還是讓我們先看看例子。

這是一個非常典型的可移植性問題視圖:

9% 的代碼,85 % 的外部元數據在不同服務器平台上完全兼容,剩下 1% 與 15% 能夠適當進行分割

0% 的代碼,80% 的外部元數據綁定在了非標准、單一廠商的容器體系結構上

  • Java EE 6增強的可擴展性:Web分片和可插
  • Java EE 6新特性之Servlet 3.0的異步處理
  • 在Java EE 6中使用JSF 2.0簡化頁面制作
  • EJB 3.1五大模式改進令Java EE 6更好用
  • Java EE 6引入的JPA 2.0四大新特性詳解
當我劃分這些點時,我突然想將本節主題從“應用服務器可移植性太神秘了”改成“我根本不在乎容器可移植性”。主題改變的想法印證了服務器可移植性問題的確存在,並且這對於很多組織機構來說非常有用。

我一直想看到非 EE 6 技術維護者對 EE 6 真實的評論。上文中提到的一些論據不是來自真實世界的,所以很難引發 EE 平台上應用開發實際技術問題的討論。JCP 最近一輪規范似乎已經離開了反 EE 陣營(暫時性離開?),但缺乏成功的事實支撐。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved