內容簡介 STEVEN GOULD在文中介紹了Java2平台企業版(J2EE)的13種核心技術:JDBC, JNDI, EJBS, RMI, jsp, JAVA SERVLETS, XML, JMS, JAVA IDL, JTS, JTA, JAVAMAIL 和 JAF。為了聯系實際,GOULD基於WEBLOGIC應用服務器?來自BEA SYSTEMS公司的一種廣為應用的產品?環境來介紹J2EE的這些技術。<?xml:namespace prefix = o />
JAVA最初是在浏覽器和客戶端機器中粉墨登場的。當時,很多人質疑它是否適合做服務器端的開發。現在,隨著對JAVA2平台企業版(J2EE)第三方支持的增多,JAVA被廣泛接納為開發企業級服務器端解決方案的首選平台之一。
J2EE平台由一整套服務(SERVICES)、應用程序接口(APIS)和協議構成,它對開發基於WEB的多層應用提供了功能支持。在本文中我將解釋支撐J2EE的13種核心技術:JDBC, JNDI, EJBS, RMI, JSP, JAVA SERVLETS, XML, JMS, JAVA IDL, JTS, JTA, JAVAMAIL 和 JAF,同時還將描述在何時、何處需要使用這些技術。當然,我還要介紹這些不同的技術之間是如何交互的。此外,為了讓您更好地感受 J2EE的真實應用,我將在WEBLOGIC應用服務器?來自BEA SYSTEMS公司的一種廣為應用的產品?環境下來介紹這些技術。不論對於WEBLOGIC應用服務器和J2EE的新手,還是那些想了解J2EE能帶來什麼好處的項目治理者和系統分析員,相信本文一定很有參考價值。
宏觀印象: 分布式結構和J2EE
過去,二層化應 用 -- 通常被稱為CLIENT/SERVER應用 -- 是大家談論的最多的。圖1刻畫了典型的二層化結構。在很多情況下,服務器提供的唯一服務就是數據庫服務。在這種解決方案中,客戶端程序負責數據訪問、實現 業務邏輯、用合適的樣式顯示結果、彈出預設的用戶界面、接受用戶輸入等。CLIENT/SERVER結構通常在第一次部署的時候比較輕易,但難於升級或改 進,而且經常基於某種專有的協議?通常是某種數據庫協議。它使得重用業務邏輯和界面邏輯非常困難。更重要的是,在WEB時代,二層化應用通常不能體現出很 好的伸縮性,因而很難適應INTERNET的要求。
圖1. 二層化應用結構
SUN設計J2EE的部分起因就是想解決二層化結構的缺陷。於是,J2EE定義了一套標准來簡化N層企業級應用的開發。它定義了一套標准化的組件,並為這些組件提供了完整的服務。J2EE還自動為應用程序處理了很多實現細節,如安全、多線程等。用J2EE開發N層應用包括將二層化結構中的不同層面切分成許多層。一個N層化應用A能夠為以下的每種服務提供一個分開的層:顯示:在一個典型的WEB應用中,客戶端機器上運行的浏覽器負責實現用戶界面。
動態生成顯示: 盡管浏覽器可以完成某些動態內容顯示,但為了兼容不同的浏覽器,這些動態生成工作應該放在WEB服務器端進行,使用JSP、SERVLETS,或者XML(可擴展標記語言)和(可擴展樣式表語言)。
業務邏輯:業務邏輯適合用SESSION EJBS(後面將介紹)來實現。
數據訪問:數據訪問適合用ENTITY EJBS(後面將介紹)和JDBC來實現。
後台系統集成: 同後台系統的集成可能需要用到許多不同的技術,至於何種最佳需要根據後台系統的特征而定。
您可能開始詫異:為什麼有這麼多的層?事實上,多層方式可以使企業級應用具有很強的伸縮性,它答應每層專注於特定的角色。例如,讓WEB服務器負責提供頁面,應用服務器處理應用邏輯,而數據庫服務器提供數據庫服務。