J2EE是一種利用Java 2平臺來簡化企業解決方案的開發、部署和管理相關復雜問題的體系結構,可以用于開發大型的、多層次的以及分布式的企業級應用系統
從嚴格的意義上說,J2EE并不是一種語言。它是一組規范、技術框架及技術的集合,用于創建分布式企業系統。J2EE由一些程序語言和腳本語言組成,包括Java、XML、JSP、HTML、SQL等等。J2EE的優點有:跨平臺可移植性(cross-platform portability),開源代碼庫的可用性(availability of open-source libraries),服務端的大容量調度基數(a huge server-side deployment base)、符合大多數W3C標準等。
J2EE平臺的優點
摘要: J2EE平臺支持簡化的、基于組件開發模型,由于J2EE基于Java編程語言和J2SE平臺
1.簡化結構
J2EE平臺支持簡化的、基于組件開發模型,由于J2EE基于Java編程語言和J2SE平臺,它提供了編寫一次,隨處運行的可移植性,遵循J2EE標準的所有服務器都支持該模型。
EJB組件使編寫應用程序更為簡單。盡管EJB體系結構復雜,但應用程序開發人員一般都必再編寫訪問系統服務的代碼,EJB容器會實現系統級的服務,例如,事務、安全性等。
另外,J2EE還支持異構環境。基于J2EE的應用程序不依賴任何特定操作系統、中間件或硬件,因此,設計合理的基于J2EE的程序只需開發一次就可以部署到各種平臺,這在典型的異構企業算環境中是十分關鍵的。J2EE標準還允許客戶訂購與J2EE兼容的第三方的現成組件,把其部署到異構環境中,節省了由自己制訂整個方案所需的費用。
2.提高開發效率
由于組件技術的使用,可以按照開發人員的技能對應用程序開發進行分工,并行開發,提供整體開發效率。例如:圖形設計師創建JSP模板,商業邏輯由該領域的專家完成,JSP頁面和EJB由Java工程師完成,應用程序的裝配和部署由團隊中其他的成員完成,其中許多工作可以同時進行,有助于加速應用程序的開發。
3.可移植性強
除了Java語言固有的可移植性外,EJB體系結構在Bean和支持該Bean的容器之間提供了一套標準化的應用程序編程接口,這使開發人員能夠將Bean從一種操作環境移植到另一種操作環境,而無需重新編寫其源代碼。
4.重用性好
由于在EJB模型中,各個軟件組件都是嚴格分離的,因此,可以從現有的軟件組件裝配出服務器端應用程序,這與從現有的JavaBean可以裝配出客戶端應用程序一樣,使軟件能夠重用。
5.易于維護
基于組件的設計簡化了應用程序的維護。由于組件可以被獨立地更新和替代,通過更新應用程序中特定的組件,新的功能可以被很容易地增加。
6.可伸縮性
企業必須要選擇一種服務器端平臺,以便滿足那些在它們系統上進行商業動作大批新客戶。基于J2EE平臺的應用程序可被部署到各種操作系統上,例如,可被部署到高端UNIX或其他的大型機系統上。J2EE領域的供應商提供了更為廣泛的負載平衡策略,能消除系統中的瓶頸,允許多臺服務器集成部署,實現可高度伸縮的系統,滿足未來商業應用的需要。
7.被廣泛接受
主要的IT供應用商都采納EJB體系結構,不同供應商的產品只要符合EJB體系結構,就都是可互操作的。
8.保護投資
由于企業必須適應新的商業需求,充分利用現有的企業信息系統投資,而不是重新制定,全盤更新方案就變得尤為重要,這樣,一個以漸進的(而不是激進的,全盤否定的)方式建立在現有系統之上的服務器平臺是大多數公司所希望的。
J2EE架構可以充分利用用戶有的投資,通過允許將現有的信息系統和資產“包裹”在J2EE應用程序中,不要求客戶更換現有技術。事實上,在關系數據庫中存儲數據的企業,已經有了一套已具雛形的實體Bean,正等著通過EJB外殼去訪問。
這之所以成為可能,主要是因為J2EE擁有廣泛的業界支持和一些重要的“企業計算”領域供應商的參與,每一個供應商都對現有的客戶提供了不用廢棄自己已有投資的升級途徑。由于基于J2EE平臺的產品幾乎能夠在任何操作系統和硬件運行,現有的操作系統和硬件也能被保留使用。
一、J2EE提出的背景
1、 企業級應用框架的需求
在許多企業級應用中,例如數據庫連接、郵件服務、事務處理等都是一些通用企業需求模塊,這些模塊如果每次再開發中都由開發人員來完成的話,將會造成開發周期長和代碼可靠性差等問題。于是許多大公司開發了自己的通用模塊服務。這些服務性的軟件系列同陳為中間件。
2、 為了通用必須要提出規范,不然無法達到通用
在上面的需求基礎之上,許多公司都開發了自己的中間件,但其與用戶的溝通都各有不同,從而導致用戶無法將各個公司不同的中間件組裝在一塊為自己服務。從而產生瓶頸。于是提出標準的概念。其實J2EE就是基于JAVA技術的一系列標準。
注:中間件的解釋 中間件處在操作系統和更高一級應用程序之間。他充當的功能是:將應用程序運行環境與操作系統隔離,從而實現應用程序開發者不必為更多系統問題憂慮,而直接關注該應用程序在解決問題上的能力 。