J2EE是什麼(一),J2EE(一)
1. J2EE的概念
目前,Java 2平台有3個版本,它們是適用於小型裝置和智慧卡的Java 2平台Micro版(Java 2 Platform Micro Edition,J2ME)、適用於案頭系統的Java 2平台標準版(Java 2 Platform Standard Edition,J2SE)、適用於建立伺服器應用程式和服務的Java 2平台企業版(Java 2 Platform Enterprise Edition,J2EE)。
J2EE是一種利用Java 2平台來簡化企業解決方案的開發、部署和管理相關的複雜問題的體繫結構。J2EE技術的基礎就是核心Java平台或Java 2平台的標準版,J2EE不僅鞏固了標準版中的許多優點,例如”編寫一次、隨處運行”的特性、方便存取資料庫的JDBC API、CORBA技術以及能夠在Internet應用中保護資料的安全模式等等,同時還提供了對 EJB(Enterprise JavaBeans)、Java Servlets API、JSP(Java Server Pages)以及XML技術的全面支援。其最終目的就是成為一個能夠使企業開發人員大幅縮短投放市場時間的體繫結構。
J2EE體繫結構提供中介層整合架構用來滿足無需太多費用而又需要高可用性、高可靠性以及可擴充性的應用的需求。通過提供統一的開發平台,J2EE降低了開發多層應用的費用和複雜性,同時提供對現有應用程式整合強有力支援,完全支援Enterprise JavaBeans,有良好的嚮導支援打包和部署應用,添加目錄支援,增強了安全機制,提高了效能。
PS:2EE全稱為Java2 Platform Enterprise Edition。“J2EE平台本質上是一個分布式的伺服器應用程式設計環境——一個Java環境,它提供了:宿主應用的一個運行基礎架構環境和一套用來建立應用的Java擴充API。”
2. Java與J2EE
隨著Internet網路的迅速發展,基於互連網的公司專屬應用程式要求軟體平台具有開放性、分布性和平台無關性。於是就相繼出現了RPC/COM/CORBA等技術,但這些技術在實際應用中存在著許多不足和局限。它們的特定協議難以通過防火牆,因而不適於Web上的應用開發。為了進一步開發基於Web的應用,出現了Sun公司的Sun
ONE(Open Net Environment 開發網路環境)和Microsoft公司的.NET等Web 服務技術體系。
Sun
ONE體繫結構以Java語言為核心,包括J2SE/J2EE/J2ME和一系列的標準、技術及協議。它包括Sun專屬的iPlanet軟體系列,其中有在市場上受歡迎的LDAP目錄伺服器軟體,以及Forte
for Java——便於在任何環境下書寫Java 語言的軟體工具。我們很容易就能從網上免費獲得和使用包括Java
整合式開發環境、Java資料庫和中介軟體(Application Server)伺服器等產品,以及它們的原始碼。Sun
ONE更接近或能滿足互連網在智能化Web服務方面對分布性、開發性和平台無關性的要求。
隨著Java技術的不斷髮展,它根據市場進一步細分為:針對企業網應用的J2EE(Java 2 Enterprise
Edition)、針對普通PC應用的J2SE(Java 2 Standard
Edition)和針對嵌入式裝置及消費類電器的J2ME(Java 2 Micro Edition)三個版本。本文就Sun
ONE的Java核心應用——J2SE/J2EE/J2ME作一些介紹。
3.J2EE的優勢
J2EE為搭建具有延展性、靈活性、易維護性的商務系統提供了良好的機制
由於企業必須適應新的商業需求,利用已有的公司資訊系統方面的投資,而不是重新制定全盤方案就變得很重要。這樣,一個以漸進的(而不是激進的,全盤否定的)方式建立在已有系統之上的伺服器端平台機制是公司所需求的。J2EE架構可以充分利用使用者原有的投資,如一些公司使用的BEA Tuxedo、IBM CICS, IBM Encina,、Inprise VisiBroker 以及Netscape Application Server。這之所以成為可能是因為J2EE擁有廣泛的業界支援和一些重要的’企業計算’領域供應商的參與。每一個供應商都對現有的客戶提供了不用廢棄已有投資,進入可移植的J2EE領域的升級途徑。由於基於J2EE平台的產品幾乎能夠在任何作業系統和硬體設定上運行,現有的作業系統和硬體也能被保留使用。
J2EE允許公司把一些通用的、很繁瑣的服務端任務交給中介軟體供應商去完成。這樣開發人員可以集中精力在如何建立商業邏輯上,相應地縮短了開發時間。進階中介軟體供應商提供以下這些複雜的中介軟體服務:
狀態管理服務 – 讓開發人員寫更少的代碼,不用關心如何管理狀態,這樣能夠更快地完成程式開發。
持久性服務 – 讓開發人員不用對資料訪問邏輯進行編碼就能編寫應用程式,能產生更輕巧,與資料庫無關的應用程式,這種應用程式更易於開發與維護。
分布式共用資料對象CACHE服務 – 讓開發人員編製高效能的系統,極大提高整體部署的伸縮性。
J2EE能夠開發部署在異構環境中的可移植程式。基於J2EE的應用程式不依賴任何特定作業系統、中介軟體、硬體。因此設計合理的基於J2EE的程式只需開發一次就可部署到各種平台。這在典型的異構企業計算環境中是十分關鍵的。J2EE標準也允許客戶訂購與J2EE相容的第三方的現成的組件,把他們部署到異構環境中,節省了由自己制訂整個方案所需的費用。
企業必須要選擇一種伺服器端平台,這種平台應能提供極佳的延展性去滿足那些在他們系統上進行商業運作的大批新客戶。基於J2EE平台的應用程式可被部署到各種作業系統上。例如可被部署到高端UNIX與大型主機系統,這種系統單機可支援64至256個處理器。(這是NT伺服器所望塵莫及的)J2EE領域的供應商提供了更為廣泛的Server Load Balancer策略。能消除系統中的瓶頸,允許多台伺服器整合部署。這種部署可達數千個處理器,實現可高度伸縮的系統,滿足未來商業應用的需要。
一個伺服器端平台必須能全天候運轉以滿足公司客戶、夥伴的需要。因為INTERNET是全球化的、無處不在的,即使在夜間按計劃停機也可能造成嚴重損失。若是意外停機,那會有災難性後果。J2EE部署到可靠的作業環境中,他們支援長期的可用性。一些J2EE部署在WINDOWS環境中,客戶也可選擇健壯效能更好的作業系統如Sun Solaris、IBM OS/390。最健壯的作業系統可達到99.999%的可用性或每年只需5分鐘停機時間。這是即時性很強商業系統理想的選擇。
總結
J2EE是一套全然不同於傳統應用開發的技術架構,包含許多組件,主要可簡化且規範應用系統的開發與部署,進而提高可移植性、安全與再用價值。
J2EE核心是一組技術規範與指南,其中所包含的各類組件、服務架構及技術層次,均有共通的標準及規格,讓各種依循J2EE架構的不同平台之間,存在良好的相容性,解決過去企業後端使用的資訊產品彼此之間無法相容,導致企業內部或外部難以互連的窘境。
本文簡單的介紹了一下J2EE的一些基本知識,下次我們將繼續學習J2EE的架構以及API等其他知識。也許我們現在對這些東西都不是很熟悉,但是隨著我們的學習深入,這些東西都會理解的
。