詞語(yǔ)解釋
J2EE(Java 2 Platform, Enterprise Edition)是一個(gè)由Sun Microsystems公司開(kāi)發(fā)的Java平臺(tái),專門(mén)用于開(kāi)發(fā)和部署大型的多層網(wǎng)絡(luò)應(yīng)用程序。它是一個(gè)完整的系統(tǒng),可以實(shí)現(xiàn)Web服務(wù),企業(yè)級(jí)應(yīng)用程序,移動(dòng)應(yīng)用程序,數(shù)據(jù)庫(kù)應(yīng)用程序,以及其他各種復(fù)雜的應(yīng)用程序。 J2EE為開(kāi)發(fā)和部署大型應(yīng)用程序提供了一個(gè)完整的框架,可以讓開(kāi)發(fā)者輕松地實(shí)現(xiàn)各種功能。它提供了一個(gè)標(biāo)準(zhǔn)的應(yīng)用程序架構(gòu),可以讓開(kāi)發(fā)者快速開(kāi)發(fā)和部署應(yīng)用程序,而不需要花費(fèi)大量的時(shí)間和精力去學(xué)習(xí)新的技術(shù)。 J2EE的核心組件是Java Servlet,JavaServer Pages(JSP),Enterprise JavaBeans(EJB)和Java Message Service(JMS)。Java Servlet是一種用于創(chuàng)建動(dòng)態(tài)Web內(nèi)容的技術(shù),它可以在Web服務(wù)器上執(zhí)行,從而生成動(dòng)態(tài)的HTML頁(yè)面。JavaServer Pages(JSP)是一種用于創(chuàng)建動(dòng)態(tài)Web內(nèi)容的技術(shù),它可以在Web服務(wù)器上執(zhí)行,從而生成動(dòng)態(tài)的HTML頁(yè)面。Enterprise JavaBeans(EJB)是一種用于創(chuàng)建分布式應(yīng)用程序的技術(shù),它可以讓開(kāi)發(fā)者創(chuàng)建可重用的組件,從而更快地開(kāi)發(fā)應(yīng)用程序。最后,Java Message Service(JMS)是一種用于在分布式系統(tǒng)中進(jìn)行消息傳遞的技術(shù),它可以讓開(kāi)發(fā)者輕松地實(shí)現(xiàn)消息傳遞功能,從而實(shí)現(xiàn)分布式應(yīng)用程序。 J2EE的應(yīng)用非常廣泛,它可以用于開(kāi)發(fā)和部署各種類型的應(yīng)用程序,包括Web應(yīng)用程序,企業(yè)級(jí)應(yīng)用程序,移動(dòng)應(yīng)用程序,數(shù)據(jù)庫(kù)應(yīng)用程序,以及其他各種復(fù)雜的應(yīng)用程序。它的優(yōu)勢(shì)在于可以讓開(kāi)發(fā)者快速開(kāi)發(fā)和部署應(yīng)用程序,而不需要花費(fèi)大量的時(shí)間和精力去學(xué)習(xí)新的技術(shù)。此外,J2EE還可以幫助開(kāi)發(fā)者實(shí)現(xiàn)更多的功能,比如安全性,可擴(kuò)展性,可移植性,以及可重用性。 總之,J2EE是一個(gè)功能強(qiáng)大的Java平臺(tái),可以用于開(kāi)發(fā)和部署大型的多層網(wǎng)絡(luò)應(yīng)用程序。它提供了一個(gè)標(biāo)準(zhǔn)的應(yīng)用程序架構(gòu),可以讓開(kāi)發(fā)者快速開(kāi)發(fā)和部署應(yīng)用程序,而不需要花費(fèi)大量的時(shí)間和精力去學(xué)習(xí)新的技術(shù)。此外,它還可以幫助開(kāi)發(fā)者實(shí)現(xiàn)更多的功能,比如安全性,可擴(kuò)展性,可移植性,以及可重用性。 J2EE Java2平臺(tái)企業(yè)版(Java 2 Platform,Enterprise Edition) J2EE是一套全然不同于傳統(tǒng)應(yīng)用開(kāi)發(fā)的技術(shù)架構(gòu),包含許多組件,主要可簡(jiǎn)化且規(guī)范應(yīng)用系統(tǒng)的開(kāi)發(fā)與部署,進(jìn)而提高可移植性、安全與再用價(jià)值。 J2EE核心是一組技術(shù)規(guī)范與指南,其中所包含的各類組件、服務(wù)架構(gòu)及技術(shù)層次,均有共通的標(biāo)準(zhǔn)及規(guī)格,讓各種依循J2EE架構(gòu)的不同平臺(tái)之間,存在良好的兼容性,解決過(guò)去企業(yè)后端使用的信息產(chǎn)品彼此之間無(wú)法兼容,導(dǎo)致企業(yè)內(nèi)部或外部難以互通的窘境。 一、J2EE的概念 目前,Java 2平臺(tái)有3個(gè)版本,它們是適用于小型設(shè)備和智能卡的Java 2平臺(tái)Micro 版(Java 2 Platform Micro Edition,J2ME)、適用于桌面系統(tǒng)的Java 2平臺(tái)標(biāo)準(zhǔn)版( Java 2 Platform Standard Edition,J2SE)、適用于創(chuàng)建服務(wù)器應(yīng)用程序和服務(wù)的Jav a 2平臺(tái)企業(yè)版(Java 2 Platform Enterprise Edition,J2EE)。 J2EE是一種利用Java 2平臺(tái)來(lái)簡(jiǎn)化企業(yè)解決方案的開(kāi)發(fā)、部署和管理相關(guān)的復(fù)雜問(wèn) 題的體系結(jié)構(gòu)。J2EE技術(shù)的基礎(chǔ)就是核心Java平臺(tái)或Java 2平臺(tái)的標(biāo)準(zhǔn)版,J2EE不僅鞏 固了標(biāo)準(zhǔn)版中的許多優(yōu)點(diǎn),例如"編寫(xiě)一次、隨處運(yùn)行"的特性、方便存取數(shù)據(jù)庫(kù)的JDBC API、CORBA技術(shù)以及能夠在Internet應(yīng)用中保護(hù)數(shù)據(jù)的安全模式等等,同時(shí)還提供了對(duì) EJB(Enterprise JavaBeans)、Java Servlets API、JSP(Java Server Pages)以及X ML技術(shù)的全面支持。其最終目的就是成為一個(gè)能夠使企業(yè)開(kāi)發(fā)者大幅縮短投放市場(chǎng)時(shí)間 的體系結(jié)構(gòu)。 J2體系結(jié)構(gòu)提供中間層集成框架用來(lái)滿足無(wú)需太多費(fèi)用而又需要高可用性、高可靠 性以及可擴(kuò)展性的應(yīng)用的需求。通過(guò)提供統(tǒng)一的開(kāi)發(fā)平臺(tái),J2EE降低了開(kāi)發(fā)多層應(yīng)用的 費(fèi)用和復(fù)雜性,同時(shí)提供對(duì)現(xiàn)有應(yīng)用程序集成強(qiáng)有力支持,完全支持Enterprise JavaBeans,有良好的向?qū)еС执虬筒渴饝?yīng)用,添加目錄支持,增強(qiáng)了安全機(jī)制,提高 了性能。 二. J2EE的優(yōu)勢(shì) J2EE為搭建具有可伸縮性、靈活性、易維護(hù)性的商務(wù)系統(tǒng)提供了良好的機(jī)制: 1. 保留現(xiàn)存的IT資產(chǎn): 由于企業(yè)必須適應(yīng)新的商業(yè)需求,利用已有的企業(yè)信息系 統(tǒng)方面的投資,而不是重新制定全盤(pán)方案就變得很重要。這樣,一個(gè)以漸進(jìn)的(而不是 激進(jìn)的,全盤(pán)否定的)方式建立在已有系統(tǒng)之上的服務(wù)器端平臺(tái)機(jī)制是公司所需求的。J 2EE架構(gòu)可以充分利用用戶原有的投資,如一些公司使用的BEA Tuxedo、IBM CICS, IBM Encina,、Inprise VisiBroker 以及Netscape Application Server。這之所以成為 可能是因?yàn)镴2EE擁有廣泛的業(yè)界支持和一些重要的'企業(yè)計(jì)算'領(lǐng)域供應(yīng)商的參與。每一 個(gè)供應(yīng)商都對(duì)現(xiàn)有的客戶提供了不用廢棄已有投資,進(jìn)入可移植的J2EE領(lǐng)域的升級(jí)途徑 。由于基于J2EE平臺(tái)的產(chǎn)品幾乎能夠在任何操作系統(tǒng)和硬件配置上運(yùn)行,現(xiàn)有的操作系 統(tǒng)和硬件也能被保留使用。 2. 高效的開(kāi)發(fā): J2EE允許公司把一些通用的、很繁瑣的服務(wù)端任務(wù)交給中間件供 應(yīng)商去完成。這樣開(kāi)發(fā)人員可以集中精力在如何創(chuàng)建商業(yè)邏輯上,相應(yīng)地縮短了開(kāi)發(fā)時(shí) 間。高級(jí)中間件供應(yīng)商提供以下這些復(fù)雜的中間件服務(wù): o 狀態(tài)管理服務(wù) -- 讓開(kāi)發(fā)人員寫(xiě)更少的代碼,不用關(guān)心如何管理狀態(tài), 這樣能夠更快地完成程序開(kāi)發(fā)。 o 持續(xù)性服務(wù) -- 讓開(kāi)發(fā)人員不用對(duì)數(shù)據(jù)訪問(wèn)邏輯進(jìn)行編碼就能編寫(xiě)應(yīng)用 程序,能生成更輕巧,與數(shù)據(jù)庫(kù)無(wú)關(guān)的應(yīng)用程序,這種應(yīng)用程序更易于開(kāi)發(fā)與維護(hù)。 o 分布式共享數(shù)據(jù)對(duì)象CACHE服務(wù) -- 讓開(kāi)發(fā)人員編制高性能的系統(tǒng),極大 提高整體部署的伸縮性。 3. 支持異構(gòu)環(huán)境: J2EE能夠開(kāi)發(fā)部署在異構(gòu)環(huán)境中的可移植程序;贘2EE的應(yīng) 用程序不依賴任何特定操作系統(tǒng)、中間件、硬件。因此設(shè)計(jì)合理的基于J2EE的程序只需 開(kāi)發(fā)一次就可部署到各種平臺(tái)。這在典型的異構(gòu)企業(yè)計(jì)算環(huán)境中是十分關(guān)鍵的。J2EE標(biāo) 準(zhǔn)也允許客戶訂購(gòu)與J2EE兼容的第三方的現(xiàn)成的組件,把他們部署到異構(gòu)環(huán)境中,節(jié)省 了由自己制訂整個(gè)方案所需的費(fèi)用。 4. 可伸縮性: 企業(yè)必須要選擇一種服務(wù)器端平臺(tái),這種平臺(tái)應(yīng)能提供極佳的可伸 縮性去滿足那些在他們系統(tǒng)上進(jìn)行商業(yè)運(yùn)作的大批新客戶;贘2EE平臺(tái)的應(yīng)用程序可 被部署到各種操作系統(tǒng)上。例如可被部署到高端UNIX與大型機(jī)系統(tǒng),這種系統(tǒng)單機(jī)可支 持64至256個(gè)處理器。(這是NT服務(wù)器所望塵莫及的)J2EE領(lǐng)域的供應(yīng)商提供了更為廣泛 的負(fù)載平衡策略。能消除系統(tǒng)中的瓶頸,允許多臺(tái)服務(wù)器集成部署。這種部署可達(dá)數(shù)千 個(gè)處理器,實(shí)現(xiàn)可高度伸縮的系統(tǒng),滿足未來(lái)商業(yè)應(yīng)用的需要。 穩(wěn)定的可用性: 一個(gè)服務(wù)器端平臺(tái)必須能全天候運(yùn)轉(zhuǎn)以滿足公司客戶、合作伙伴的需要 。因?yàn)镮NTERNET是全球化的、無(wú)處不在的,即使在夜間按計(jì)劃停機(jī)也可能造成嚴(yán)重?fù)p失 。若是意外停機(jī),那會(huì)有災(zāi)難性后果。J2EE部署到可靠的操作環(huán)境中,他們支持長(zhǎng)期的 可用性。一些J2EE部署在WINDOWS環(huán)境中,客戶也可選擇健壯性能更好的操作系統(tǒng)如Sun Solaris、IBM OS/390。最健壯的操作系統(tǒng)可達(dá)到99.999%的可用性或每年只需5分鐘停機(jī) 時(shí)間。這是實(shí)時(shí)性很強(qiáng)商業(yè)系統(tǒng)理想的選擇。 三. J2EE 的四層模型 J2EE使用多層的分布式應(yīng)用模型,應(yīng)用邏輯按功能劃分為組件,各個(gè)應(yīng)用組件根據(jù) 他們所在的層分布在不同的機(jī)器上。事實(shí)上,sun設(shè)計(jì)J2EE的初衷正是為了解決兩層模式 (client/server)的弊端,在傳統(tǒng)模式中,客戶端擔(dān)當(dāng)了過(guò)多的角色而顯得臃腫,在這種 模式中,第一次部署的時(shí)候比較容易,但難于升級(jí)或改進(jìn),可伸展性也不理想,而且經(jīng) ;谀撤N專有的協(xié)議??通常是某種數(shù)據(jù)庫(kù)協(xié)議。它使得重用業(yè)務(wù)邏輯和界面邏輯非 常困難,F(xiàn)在J2EE 的多層企業(yè)級(jí)應(yīng)用模型將兩層化模型中的不同層面切分成許多層。一 個(gè)多層化應(yīng)用能夠?yàn)椴煌拿糠N服務(wù)提供一個(gè)獨(dú)立的層,以下是 J2EE 典型的四層結(jié)構(gòu): 運(yùn)行在客戶端機(jī)器上的客戶層組件 運(yùn)行在J2EE服務(wù)器上的Web層組件 運(yùn)行在J2EE服務(wù)器上的業(yè)務(wù)邏輯層組件 運(yùn)行在EIS服務(wù)器上的企業(yè)信息系統(tǒng)(Enterprise information system)層軟件 J2EE應(yīng)用程序組件 J2EE應(yīng)用程序是由組件構(gòu)成的.J2EE組件是具有獨(dú)立功能的軟件單元,它們通過(guò)相關(guān) 的類和文件組裝成J2EE應(yīng)用程序,并與其他組件交互。J2EE說(shuō)明書(shū)中定義了以下的J2EE 組件: 應(yīng)用客戶端程序和applets是客戶層組件. Java Servlet和JavaServer Pages(JSP)是web層組件. Enterprise JavaBeans(EJB)是業(yè)務(wù)層組件. 客戶層組件 J2EE應(yīng)用程序可以是基于web方式的,也可以是基于傳統(tǒng)方式的. web 層組件 J2EE web層組件可以是JSP 頁(yè)面或Servlets.按照J(rèn)2EE規(guī)范,靜態(tài)的HTML頁(yè)面和Appl ets不算是web層組件。 正如下圖所示的客戶層那樣,web層可能包含某些 JavaBean 對(duì)象來(lái)處理用戶輸入,并把 輸入發(fā)送給運(yùn)行在業(yè)務(wù)層上的enterprise bean 來(lái)進(jìn)行處理。 業(yè)務(wù)層組件 業(yè)務(wù)層代碼的邏輯用來(lái)滿足銀行,零售,金融等特殊商務(wù)領(lǐng)域的需要,由運(yùn)行在業(yè)務(wù) 層上的enterprise bean 進(jìn)行處理. 下圖表明了一個(gè)enterprise bean 是如何從客戶端 程序接收數(shù)據(jù),進(jìn)行處理(如果必要的話), 并發(fā)送到EIS 層儲(chǔ)存的,這個(gè)過(guò)程也可以逆 向進(jìn)行。 有三種企業(yè)級(jí)的bean: 會(huì)話(session) beans, 實(shí)體(entity) beans, 和消息驅(qū)動(dòng)(messa ge-driven) beans. 會(huì)話bean 表示與客戶端程序的臨時(shí)交互. 當(dāng)客戶端程序執(zhí)行完后, 會(huì)話bean 和相關(guān)數(shù)據(jù)就會(huì)消失. 相反, 實(shí)體bean 表示數(shù)據(jù)庫(kù)的表中一行永久的記錄. 當(dāng)客戶端程序中止或服務(wù)器關(guān)閉時(shí), 就會(huì)有潛在的服務(wù)保證實(shí)體bean 的數(shù)據(jù)得以保存. 消息驅(qū)動(dòng) bean 結(jié)合了會(huì)話bean 和 JMS的消息監(jiān)聽(tīng)器的特性, 允許一個(gè)業(yè)務(wù)層組件異步 接收J(rèn)MS 消息. 企業(yè)信息系統(tǒng)層 企業(yè)信息系統(tǒng)層處理企業(yè)信息系統(tǒng)軟件包括企業(yè)基礎(chǔ)建設(shè)系統(tǒng)例如企業(yè)資源計(jì)劃 (ERP), 大型機(jī)事務(wù)處理, 數(shù)據(jù)庫(kù)系統(tǒng),和其它的遺留信息系統(tǒng). 例如,J2EE 應(yīng)用組件可 能為了數(shù)據(jù)庫(kù)連接需要訪問(wèn)企業(yè)信息系統(tǒng) 四. J2EE 的結(jié)構(gòu) 這種基于組件,具有平臺(tái)無(wú)關(guān)性的J2EE 結(jié)構(gòu)使得J2EE 程序的編寫(xiě)十分簡(jiǎn)單,因?yàn)闃I(yè)務(wù) 邏輯被封裝成可復(fù)用的組件,并且J2EE 服務(wù)器以容器的形式為所有的組件類型提供后臺(tái) 服務(wù). 因?yàn)槟悴挥米约洪_(kāi)發(fā)這種服務(wù), 所以你可以集中精力解決手頭的業(yè)務(wù)問(wèn)題。 容器和服務(wù) 容器設(shè)置定制了J2EE服務(wù)器所提供得內(nèi)在支持,包括安全,事務(wù)管理,JNDI(Java Naming and Directory Interface)尋址,遠(yuǎn)程連接等服務(wù),以下列出最重要的幾種服務(wù) 。 J2EE安全(Security)模型可以讓你配置 web 組件或enterprise bean ,這樣只有被授權(quán) 的用戶才能訪問(wèn)系統(tǒng)資源. 每一客戶屬于一個(gè)特別的角色,而每個(gè)角色只允許激活特定 的方法。你應(yīng)在enterprise bean的布置描述中聲明角色和可被激活的方法。由于這種聲 明性的方法,你不必編寫(xiě)加強(qiáng)安全性的規(guī)則。 J2EE 事務(wù)管理(Transaction Management)模型讓你指定組成一個(gè)事務(wù)中所有方法間的 關(guān)系,這樣一個(gè)事務(wù)中的所有方法被當(dāng)成一個(gè)單一的單元. 當(dāng)客戶端激活一個(gè)enterpris e bean中的方法,容器介入一管理事務(wù)。因有容器管理事務(wù),在enterprise bean中不必 對(duì)事務(wù)的邊界進(jìn)行編碼。要求控制分布式事務(wù)的代碼會(huì)非常復(fù)雜。你只需在布置描述文 件中聲明enterprise bean的事務(wù)屬性,而不用編寫(xiě)并調(diào)試復(fù)雜的代碼。容器將讀此文件 并為你處理此enterprise bean的事務(wù)。 JNDI 尋址(JNDI Lookup)服務(wù)向企業(yè)內(nèi)的多重名字和目錄服務(wù)提供了一個(gè)統(tǒng)一的接口,這 樣應(yīng)用程序組件可以訪問(wèn)名字和目錄服務(wù). J2EE遠(yuǎn)程連接(Remote Client Connectivity)模型管理客戶端和enterprise bean間的 低層交互. 當(dāng)一個(gè)enterprise bean創(chuàng)建后, 一個(gè)客戶端可以調(diào)用它的方法就象它和客戶 端位于同一虛擬機(jī)上一樣. 生存周期管理(Life Cycle Management)模型管理enterprise bean的創(chuàng)建和移除,一個(gè) enterprise bean在其生存周期中將會(huì)歷經(jīng)幾種狀態(tài)。容器創(chuàng)建enterprise bean,并在 可用實(shí)例池與活動(dòng)狀態(tài)中移動(dòng)他,而最終將其從容器中移除。即使可以調(diào)用enterprise bean的create及remove方法,容器也將會(huì)在后臺(tái)執(zhí)行這些任務(wù)。 數(shù)據(jù)庫(kù)連接池(Database Connection Pooling)模型是一個(gè)有價(jià)值的資源。獲取數(shù)據(jù)庫(kù) 連接是一項(xiàng)耗時(shí)的工作,而且連接數(shù)非常有限。容器通過(guò)管理連接池來(lái)緩和這些問(wèn)題。e nterprise bean可從池中迅速獲取連接。在bean釋放連接之可為其他bean使用。 容器類型 J2EE應(yīng)用組件可以安裝部署到以下幾種容器中去: EJB 容器管理所有J2EE 應(yīng)用程序中企業(yè)級(jí)bean 的執(zhí)行. enterprise bean 和它們的容 器運(yùn)行在J2EE 服務(wù)器上. Web 容器管理所有J2EE 應(yīng)用程序中JSP頁(yè)面和Servlet組件的執(zhí)行. Web 組件和它們的容 器運(yùn)行在J2EE 服務(wù)器上. 應(yīng)用程序客戶端容器管理所有J2EE應(yīng)用程序中應(yīng)用程序客戶端組件的執(zhí)行. 應(yīng)用程序客 戶端和它們的容器運(yùn)行在J2EE 服務(wù)器上. Applet 容器是運(yùn)行在客戶端機(jī)器上的web瀏覽器和 Java 插件的結(jié)合.。 五. J2EE的核心API與組件 J2EE平臺(tái)由一整套服務(wù)(Services)、應(yīng)用程序接口(APIs)和協(xié)議構(gòu)成,它對(duì)開(kāi)發(fā)基 于Web的多層應(yīng)用提供了功能支持,下面對(duì)J2EE中的13種技術(shù)規(guī)范進(jìn)行簡(jiǎn)單的描述(限于 篇幅,這里只能進(jìn)行簡(jiǎn)單的描述): 1. JDBC(Java Database Connectivity): JDBC API為訪問(wèn)不同的數(shù)據(jù)庫(kù)提供了一種統(tǒng)一的途徑,象ODBC一樣,JDBC對(duì)開(kāi)發(fā)者屏蔽 了一些細(xì)節(jié)問(wèn)題,另外,JDCB對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)也具有平臺(tái)無(wú)關(guān)性。 2. JNDI(Java Name and Directory Interface): JNDI API被用于執(zhí)行名字和目錄服務(wù)。它提供了一致的模型來(lái)存取和操作企業(yè)級(jí)的資源 如DNS和LDAP,本地文件系統(tǒng),或應(yīng)用服務(wù)器中的對(duì)象。 3. EJB(Enterprise JavaBean): J2EE技術(shù)之所以贏得某體廣泛重視的原因之一就是EJB。它們提供了一個(gè)框架來(lái)開(kāi)發(fā)和實(shí) 施分布式商務(wù)邏輯,由此很顯著地簡(jiǎn)化了具有可伸縮性和高度復(fù)雜的企業(yè)級(jí)應(yīng)用的開(kāi)發(fā) 。EJB規(guī)范定義了EJB組件在何時(shí)如何與它們的容器進(jìn)行交互作用。容器負(fù)責(zé)提供公用的 服務(wù),例如目錄服務(wù)、事務(wù)管理、安全性、資源緩沖池以及容錯(cuò)性。但這里值得注意的 是,EJB并不是實(shí)現(xiàn)J2EE的唯一途徑。正是由于J2EE的開(kāi)放性,使得有的廠商能夠以一種 和EJB平行的方式來(lái)達(dá)到同樣的目的。 4. RMI(Remote Method Invoke): 正如其名字所表示的那樣,RMI協(xié)議調(diào)用遠(yuǎn)程對(duì)象上方法。它使用了序列化方式在客戶端 和服務(wù)器端傳遞數(shù)據(jù)。RMI是一種被EJB使用的更底層的協(xié)議。 5. Java IDL/CORBA: 在Java IDL的支持下,開(kāi)發(fā)人員可以將Java和CORBA集成在一起。他們可以創(chuàng)建Java對(duì)象 并使之可在CORBA ORB中展開(kāi), 或者他們還可以創(chuàng)建Java類并作為和其它ORB一起展開(kāi)的C ORBA對(duì)象的客戶。后一種方法提供了另外一種途徑,通過(guò)它Java可以被用于將你的新的 應(yīng)用和舊的系統(tǒng)相集成。 6. JSP(Java Server Pages): JSP頁(yè)面由HTML代碼和嵌入其中的Java代碼所組成。服務(wù)器在頁(yè)面被客戶端所請(qǐng)求以后對(duì) 這些Java代碼進(jìn)行處理,然后將生成的HTML頁(yè)面返回給客戶端的瀏覽器。 7. Java Servlet: Servlet是一種小型的Java程序,它擴(kuò)展了Web服務(wù)器的功能。作為一種服務(wù)器端的應(yīng)用 ,當(dāng)被請(qǐng)求時(shí)開(kāi)始執(zhí)行,這和CGI Perl腳本很相似。Servlet提供的功能大多與JSP類似 ,不過(guò)實(shí)現(xiàn)的方式不同。JSP通常是大多數(shù)HTML代碼中嵌入少量的Java代碼,而servlets 全部由Java寫(xiě)成并且生成HTML。 8. XML(Extensible Markup Language): XML是一種可以用來(lái)定義其它標(biāo)記語(yǔ)言的語(yǔ)言。它被用來(lái)在不同的商務(wù)過(guò)程中共享數(shù)據(jù)。 XML的發(fā)展和Java是相互獨(dú)立的,但是,它和Java具有的相同目標(biāo)正是平臺(tái)獨(dú)立性。通過(guò) 將Java和XML的組合,您可以得到一個(gè)完美的具有平臺(tái)獨(dú)立性的解決方案。 9. JMS(Java Message Service): MS是用于和面向消息的中間件相互通信的應(yīng)用程序接口(API)。它既支持點(diǎn)對(duì)點(diǎn)的域,有 支持發(fā)布/訂閱(publish/subscribe)類型的域,并且提供對(duì)下列類型的支持:經(jīng)認(rèn)可的 消息傳遞,事務(wù)型消息的傳遞,一致性消息和具有持久性的訂閱者支持。JMS還提供了另 一種方式來(lái)對(duì)您的應(yīng)用與舊的后臺(tái)系統(tǒng)相集成。 10. JTA(Java Transaction Architecture): JTA定義了一種標(biāo)準(zhǔn)的API,應(yīng)用系統(tǒng)由此可以訪問(wèn)各種事務(wù)監(jiān)控。 11. JTS(Java Transaction Service): JTS是CORBA OTS事務(wù)監(jiān)控的基本的實(shí)現(xiàn)。JTS規(guī)定了事務(wù)管理器的實(shí)現(xiàn)方式。該事務(wù)管理 器是在高層支持Java Transaction API (JTA)規(guī)范,并且在較底層實(shí)現(xiàn)OMG OTS specification的Java映像。JTS事務(wù)管理器為應(yīng)用服務(wù)器、資源管理器、獨(dú)立的應(yīng)用以 及通信資源管理器提供了事務(wù)服務(wù)。 12. JavaMail: JavaMail是用于存取郵件服務(wù)器的API,它提供了一套郵件服務(wù)器的抽象類。不僅支持SM TP服務(wù)器,也支持IMAP服務(wù)器。 JAF(JavaBeans Activation Framework): JavaMail利用JAF來(lái)處理MIME編碼的郵件附件。MIME的字節(jié)流可以被轉(zhuǎn)換成Java對(duì)象,或 者轉(zhuǎn)換自Java對(duì)象。大多數(shù)應(yīng)用都可以不需要直接使用JAF。
J2EE Java2平臺(tái)企業(yè)版(Java 2 Platform,Enterprise Edition) J2EE是一套全然不同于傳統(tǒng)應(yīng)用開(kāi)發(fā)的技術(shù)架構(gòu),包含許多組件,主要可簡(jiǎn)化且規(guī)范應(yīng)用系統(tǒng)的開(kāi)發(fā)與部署,進(jìn)而提高可移植性、安全與再用價(jià)值。 J2EE核心是一組技術(shù)規(guī)范與指南,其中所包含的各類組件、服務(wù)架構(gòu)及技術(shù)層次,均有共通的標(biāo)準(zhǔn)及規(guī)格,讓各種依循J2EE架構(gòu)的不同平臺(tái)之間,存在良好的兼容性,解決過(guò)去企業(yè)后端使用的信息產(chǎn)品彼此之間無(wú)法兼容,導(dǎo)致企業(yè)內(nèi)部或外部難以互通的窘境。 一、J2EE的概念 目前,Java 2平臺(tái)有3個(gè)版本,它們是適用于小型設(shè)備和智能卡的Java 2平臺(tái)Micro 版(Java 2 Platform Micro Edition,J2ME)、適用于桌面系統(tǒng)的Java 2平臺(tái)標(biāo)準(zhǔn)版( Java 2 Platform Standard Edition,J2SE)、適用于創(chuàng)建服務(wù)器應(yīng)用程序和服務(wù)的Jav a 2平臺(tái)企業(yè)版(Java 2 Platform Enterprise Edition,J2EE)。 J2EE是一種利用Java 2平臺(tái)來(lái)簡(jiǎn)化企業(yè)解決方案的開(kāi)發(fā)、部署和管理相關(guān)的復(fù)雜問(wèn) 題的體系結(jié)構(gòu)。J2EE技術(shù)的基礎(chǔ)就是核心Java平臺(tái)或Java 2平臺(tái)的標(biāo)準(zhǔn)版,J2EE不僅鞏 固了標(biāo)準(zhǔn)版中的許多優(yōu)點(diǎn),例如"編寫(xiě)一次、隨處運(yùn)行"的特性、方便存取數(shù)據(jù)庫(kù)的JDBC API、CORBA技術(shù)以及能夠在Internet應(yīng)用中保護(hù)數(shù)據(jù)的安全模式等等,同時(shí)還提供了對(duì) EJB(Enterprise JavaBeans)、Java Servlets API、JSP(Java Server Pages)以及X ML技術(shù)的全面支持。其最終目的就是成為一個(gè)能夠使企業(yè)開(kāi)發(fā)者大幅縮短投放市場(chǎng)時(shí)間 的體系結(jié)構(gòu)。 J2體系結(jié)構(gòu)提供中間層集成框架用來(lái)滿足無(wú)需太多費(fèi)用而又需要高可用性、高可靠 性以及可擴(kuò)展性的應(yīng)用的需求。通過(guò)提供統(tǒng)一的開(kāi)發(fā)平臺(tái),J2EE降低了開(kāi)發(fā)多層應(yīng)用的 費(fèi)用和復(fù)雜性,同時(shí)提供對(duì)現(xiàn)有應(yīng)用程序集成強(qiáng)有力支持,完全支持Enterprise JavaBeans,有良好的向?qū)еС执虬筒渴饝?yīng)用,添加目錄支持,增強(qiáng)了安全機(jī)制,提高 了性能。 二. J2EE的優(yōu)勢(shì) J2EE為搭建具有可伸縮性、靈活性、易維護(hù)性的商務(wù)系統(tǒng)提供了良好的機(jī)制: 1. 保留現(xiàn)存的IT資產(chǎn): 由于企業(yè)必須適應(yīng)新的商業(yè)需求,利用已有的企業(yè)信息系 統(tǒng)方面的投資,而不是重新制定全盤(pán)方案就變得很重要。這樣,一個(gè)以漸進(jìn)的(而不是 激進(jìn)的,全盤(pán)否定的)方式建立在已有系統(tǒng)之上的服務(wù)器端平臺(tái)機(jī)制是公司所需求的。J 2EE架構(gòu)可以充分利用用戶原有的投資,如一些公司使用的BEA Tuxedo、IBM CICS, IBM Encina,、Inprise VisiBroker 以及Netscape Application Server。這之所以成為 可能是因?yàn)镴2EE擁有廣泛的業(yè)界支持和一些重要的'企業(yè)計(jì)算'領(lǐng)域供應(yīng)商的參與。每一 個(gè)供應(yīng)商都對(duì)現(xiàn)有的客戶提供了不用廢棄已有投資,進(jìn)入可移植的J2EE領(lǐng)域的升級(jí)途徑 。由于基于J2EE平臺(tái)的產(chǎn)品幾乎能夠在任何操作系統(tǒng)和硬件配置上運(yùn)行,現(xiàn)有的操作系 統(tǒng)和硬件也能被保留使用。 2. 高效的開(kāi)發(fā): J2EE允許公司把一些通用的、很繁瑣的服務(wù)端任務(wù)交給中間件供 應(yīng)商去完成。這樣開(kāi)發(fā)人員可以集中精力在如何創(chuàng)建商業(yè)邏輯上,相應(yīng)地縮短了開(kāi)發(fā)時(shí) 間。高級(jí)中間件供應(yīng)商提供以下這些復(fù)雜的中間件服務(wù): o 狀態(tài)管理服務(wù) -- 讓開(kāi)發(fā)人員寫(xiě)更少的代碼,不用關(guān)心如何管理狀態(tài), 這樣能夠更快地完成程序開(kāi)發(fā)。 o 持續(xù)性服務(wù) -- 讓開(kāi)發(fā)人員不用對(duì)數(shù)據(jù)訪問(wèn)邏輯進(jìn)行編碼就能編寫(xiě)應(yīng)用 程序,能生成更輕巧,與數(shù)據(jù)庫(kù)無(wú)關(guān)的應(yīng)用程序,這種應(yīng)用程序更易于開(kāi)發(fā)與維護(hù)。 o 分布式共享數(shù)據(jù)對(duì)象CACHE服務(wù) -- 讓開(kāi)發(fā)人員編制高性能的系統(tǒng),極大 提高整體部署的伸縮性。 3. 支持異構(gòu)環(huán)境: J2EE能夠開(kāi)發(fā)部署在異構(gòu)環(huán)境中的可移植程序;贘2EE的應(yīng) 用程序不依賴任何特定操作系統(tǒng)、中間件、硬件。因此設(shè)計(jì)合理的基于J2EE的程序只需 開(kāi)發(fā)一次就可部署到各種平臺(tái)。這在典型的異構(gòu)企業(yè)計(jì)算環(huán)境中是十分關(guān)鍵的。J2EE標(biāo) 準(zhǔn)也允許客戶訂購(gòu)與J2EE兼容的第三方的現(xiàn)成的組件,把他們部署到異構(gòu)環(huán)境中,節(jié)省 了由自己制訂整個(gè)方案所需的費(fèi)用。 4. 可伸縮性: 企業(yè)必須要選擇一種服務(wù)器端平臺(tái),這種平臺(tái)應(yīng)能提供極佳的可伸 縮性去滿足那些在他們系統(tǒng)上進(jìn)行商業(yè)運(yùn)作的大批新客戶;贘2EE平臺(tái)的應(yīng)用程序可 被部署到各種操作系統(tǒng)上。例如可被部署到高端UNIX與大型機(jī)系統(tǒng),這種系統(tǒng)單機(jī)可支 持64至256個(gè)處理器。(這是NT服務(wù)器所望塵莫及的)J2EE領(lǐng)域的供應(yīng)商提供了更為廣泛 的負(fù)載平衡策略。能消除系統(tǒng)中的瓶頸,允許多臺(tái)服務(wù)器集成部署。這種部署可達(dá)數(shù)千 個(gè)處理器,實(shí)現(xiàn)可高度伸縮的系統(tǒng),滿足未來(lái)商業(yè)應(yīng)用的需要。 穩(wěn)定的可用性: 一個(gè)服務(wù)器端平臺(tái)必須能全天候運(yùn)轉(zhuǎn)以滿足公司客戶、合作伙伴的需要 。因?yàn)镮NTERNET是全球化的、無(wú)處不在的,即使在夜間按計(jì)劃停機(jī)也可能造成嚴(yán)重?fù)p失 。若是意外停機(jī),那會(huì)有災(zāi)難性后果。J2EE部署到可靠的操作環(huán)境中,他們支持長(zhǎng)期的 可用性。一些J2EE部署在WINDOWS環(huán)境中,客戶也可選擇健壯性能更好的操作系統(tǒng)如Sun Solaris、IBM OS/390。最健壯的操作系統(tǒng)可達(dá)到99.999%的可用性或每年只需5分鐘停機(jī) 時(shí)間。這是實(shí)時(shí)性很強(qiáng)商業(yè)系統(tǒng)理想的選擇。 三. J2EE 的四層模型 J2EE使用多層的分布式應(yīng)用模型,應(yīng)用邏輯按功能劃分為組件,各個(gè)應(yīng)用組件根據(jù) 他們所在的層分布在不同的機(jī)器上。事實(shí)上,sun設(shè)計(jì)J2EE的初衷正是為了解決兩層模式 (client/server)的弊端,在傳統(tǒng)模式中,客戶端擔(dān)當(dāng)了過(guò)多的角色而顯得臃腫,在這種 模式中,第一次部署的時(shí)候比較容易,但難于升級(jí)或改進(jìn),可伸展性也不理想,而且經(jīng) ;谀撤N專有的協(xié)議??通常是某種數(shù)據(jù)庫(kù)協(xié)議。它使得重用業(yè)務(wù)邏輯和界面邏輯非 常困難,F(xiàn)在J2EE 的多層企業(yè)級(jí)應(yīng)用模型將兩層化模型中的不同層面切分成許多層。一 個(gè)多層化應(yīng)用能夠?yàn)椴煌拿糠N服務(wù)提供一個(gè)獨(dú)立的層,以下是 J2EE 典型的四層結(jié)構(gòu): 運(yùn)行在客戶端機(jī)器上的客戶層組件 運(yùn)行在J2EE服務(wù)器上的Web層組件 運(yùn)行在J2EE服務(wù)器上的業(yè)務(wù)邏輯層組件 運(yùn)行在EIS服務(wù)器上的企業(yè)信息系統(tǒng)(Enterprise information system)層軟件 J2EE應(yīng)用程序組件 J2EE應(yīng)用程序是由組件構(gòu)成的.J2EE組件是具有獨(dú)立功能的軟件單元,它們通過(guò)相關(guān) 的類和文件組裝成J2EE應(yīng)用程序,并與其他組件交互。J2EE說(shuō)明書(shū)中定義了以下的J2EE 組件: 應(yīng)用客戶端程序和applets是客戶層組件. Java Servlet和JavaServer Pages(JSP)是web層組件. Enterprise JavaBeans(EJB)是業(yè)務(wù)層組件. 客戶層組件 J2EE應(yīng)用程序可以是基于web方式的,也可以是基于傳統(tǒng)方式的. web 層組件 J2EE web層組件可以是JSP 頁(yè)面或Servlets.按照J(rèn)2EE規(guī)范,靜態(tài)的HTML頁(yè)面和Appl ets不算是web層組件。 正如下圖所示的客戶層那樣,web層可能包含某些 JavaBean 對(duì)象來(lái)處理用戶輸入,并把 輸入發(fā)送給運(yùn)行在業(yè)務(wù)層上的enterprise bean 來(lái)進(jìn)行處理。 業(yè)務(wù)層組件 業(yè)務(wù)層代碼的邏輯用來(lái)滿足銀行,零售,金融等特殊商務(wù)領(lǐng)域的需要,由運(yùn)行在業(yè)務(wù) 層上的enterprise bean 進(jìn)行處理. 下圖表明了一個(gè)enterprise bean 是如何從客戶端 程序接收數(shù)據(jù),進(jìn)行處理(如果必要的話), 并發(fā)送到EIS 層儲(chǔ)存的,這個(gè)過(guò)程也可以逆 向進(jìn)行。 有三種企業(yè)級(jí)的bean: 會(huì)話(session) beans, 實(shí)體(entity) beans, 和消息驅(qū)動(dòng)(messa ge-driven) beans. 會(huì)話bean 表示與客戶端程序的臨時(shí)交互. 當(dāng)客戶端程序執(zhí)行完后, 會(huì)話bean 和相關(guān)數(shù)據(jù)就會(huì)消失. 相反, 實(shí)體bean 表示數(shù)據(jù)庫(kù)的表中一行永久的記錄. 當(dāng)客戶端程序中止或服務(wù)器關(guān)閉時(shí), 就會(huì)有潛在的服務(wù)保證實(shí)體bean 的數(shù)據(jù)得以保存. 消息驅(qū)動(dòng) bean 結(jié)合了會(huì)話bean 和 JMS的消息監(jiān)聽(tīng)器的特性, 允許一個(gè)業(yè)務(wù)層組件異步 接收J(rèn)MS 消息. 企業(yè)信息系統(tǒng)層 企業(yè)信息系統(tǒng)層處理企業(yè)信息系統(tǒng)軟件包括企業(yè)基礎(chǔ)建設(shè)系統(tǒng)例如企業(yè)資源計(jì)劃 (ERP), 大型機(jī)事務(wù)處理, 數(shù)據(jù)庫(kù)系統(tǒng),和其它的遺留信息系統(tǒng). 例如,J2EE 應(yīng)用組件可 能為了數(shù)據(jù)庫(kù)連接需要訪問(wèn)企業(yè)信息系統(tǒng) 四. J2EE 的結(jié)構(gòu) 這種基于組件,具有平臺(tái)無(wú)關(guān)性的J2EE 結(jié)構(gòu)使得J2EE 程序的編寫(xiě)十分簡(jiǎn)單,因?yàn)闃I(yè)務(wù) 邏輯被封裝成可復(fù)用的組件,并且J2EE 服務(wù)器以容器的形式為所有的組件類型提供后臺(tái) 服務(wù). 因?yàn)槟悴挥米约洪_(kāi)發(fā)這種服務(wù), 所以你可以集中精力解決手頭的業(yè)務(wù)問(wèn)題。 容器和服務(wù) 容器設(shè)置定制了J2EE服務(wù)器所提供得內(nèi)在支持,包括安全,事務(wù)管理,JNDI(Java Naming and Directory Interface)尋址,遠(yuǎn)程連接等服務(wù),以下列出最重要的幾種服務(wù) 。 J2EE安全(Security)模型可以讓你配置 web 組件或enterprise bean ,這樣只有被授權(quán) 的用戶才能訪問(wèn)系統(tǒng)資源. 每一客戶屬于一個(gè)特別的角色,而每個(gè)角色只允許激活特定 的方法。你應(yīng)在enterprise bean的布置描述中聲明角色和可被激活的方法。由于這種聲 明性的方法,你不必編寫(xiě)加強(qiáng)安全性的規(guī)則。 J2EE 事務(wù)管理(Transaction Management)模型讓你指定組成一個(gè)事務(wù)中所有方法間的 關(guān)系,這樣一個(gè)事務(wù)中的所有方法被當(dāng)成一個(gè)單一的單元. 當(dāng)客戶端激活一個(gè)enterpris e bean中的方法,容器介入一管理事務(wù)。因有容器管理事務(wù),在enterprise bean中不必 對(duì)事務(wù)的邊界進(jìn)行編碼。要求控制分布式事務(wù)的代碼會(huì)非常復(fù)雜。你只需在布置描述文 件中聲明enterprise bean的事務(wù)屬性,而不用編寫(xiě)并調(diào)試復(fù)雜的代碼。容器將讀此文件 并為你處理此enterprise bean的事務(wù)。 JNDI 尋址(JNDI Lookup)服務(wù)向企業(yè)內(nèi)的多重名字和目錄服務(wù)提供了一個(gè)統(tǒng)一的接口,這 樣應(yīng)用程序組件可以訪問(wèn)名字和目錄服務(wù). J2EE遠(yuǎn)程連接(Remote Client Connectivity)模型管理客戶端和enterprise bean間的 低層交互. 當(dāng)一個(gè)enterprise bean創(chuàng)建后, 一個(gè)客戶端可以調(diào)用它的方法就象它和客戶 端位于同一虛擬機(jī)上一樣. 生存周期管理(Life Cycle Management)模型管理enterprise bean的創(chuàng)建和移除,一個(gè) enterprise bean在其生存周期中將會(huì)歷經(jīng)幾種狀態(tài)。容器創(chuàng)建enterprise bean,并在 可用實(shí)例池與活動(dòng)狀態(tài)中移動(dòng)他,而最終將其從容器中移除。即使可以調(diào)用enterprise bean的create及remove方法,容器也將會(huì)在后臺(tái)執(zhí)行這些任務(wù)。 數(shù)據(jù)庫(kù)連接池(Database Connection Pooling)模型是一個(gè)有價(jià)值的資源。獲取數(shù)據(jù)庫(kù) 連接是一項(xiàng)耗時(shí)的工作,而且連接數(shù)非常有限。容器通過(guò)管理連接池來(lái)緩和這些問(wèn)題。e nterprise bean可從池中迅速獲取連接。在bean釋放連接之可為其他bean使用。 容器類型 J2EE應(yīng)用組件可以安裝部署到以下幾種容器中去: EJB 容器管理所有J2EE 應(yīng)用程序中企業(yè)級(jí)bean 的執(zhí)行. enterprise bean 和它們的容 器運(yùn)行在J2EE 服務(wù)器上. Web 容器管理所有J2EE 應(yīng)用程序中JSP頁(yè)面和Servlet組件的執(zhí)行. Web 組件和它們的容 器運(yùn)行在J2EE 服務(wù)器上. 應(yīng)用程序客戶端容器管理所有J2EE應(yīng)用程序中應(yīng)用程序客戶端組件的執(zhí)行. 應(yīng)用程序客 戶端和它們的容器運(yùn)行在J2EE 服務(wù)器上. Applet 容器是運(yùn)行在客戶端機(jī)器上的web瀏覽器和 Java 插件的結(jié)合.。 五. J2EE的核心API與組件 J2EE平臺(tái)由一整套服務(wù)(Services)、應(yīng)用程序接口(APIs)和協(xié)議構(gòu)成,它對(duì)開(kāi)發(fā)基 于Web的多層應(yīng)用提供了功能支持,下面對(duì)J2EE中的13種技術(shù)規(guī)范進(jìn)行簡(jiǎn)單的描述(限于 篇幅,這里只能進(jìn)行簡(jiǎn)單的描述): 1. JDBC(Java Database Connectivity): JDBC API為訪問(wèn)不同的數(shù)據(jù)庫(kù)提供了一種統(tǒng)一的途徑,象ODBC一樣,JDBC對(duì)開(kāi)發(fā)者屏蔽 了一些細(xì)節(jié)問(wèn)題,另外,JDCB對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)也具有平臺(tái)無(wú)關(guān)性。 2. JNDI(Java Name and Directory Interface): JNDI API被用于執(zhí)行名字和目錄服務(wù)。它提供了一致的模型來(lái)存取和操作企業(yè)級(jí)的資源 如DNS和LDAP,本地文件系統(tǒng),或應(yīng)用服務(wù)器中的對(duì)象。 3. EJB(Enterprise JavaBean): J2EE技術(shù)之所以贏得某體廣泛重視的原因之一就是EJB。它們提供了一個(gè)框架來(lái)開(kāi)發(fā)和實(shí) 施分布式商務(wù)邏輯,由此很顯著地簡(jiǎn)化了具有可伸縮性和高度復(fù)雜的企業(yè)級(jí)應(yīng)用的開(kāi)發(fā) 。EJB規(guī)范定義了EJB組件在何時(shí)如何與它們的容器進(jìn)行交互作用。容器負(fù)責(zé)提供公用的 服務(wù),例如目錄服務(wù)、事務(wù)管理、安全性、資源緩沖池以及容錯(cuò)性。但這里值得注意的 是,EJB并不是實(shí)現(xiàn)J2EE的唯一途徑。正是由于J2EE的開(kāi)放性,使得有的廠商能夠以一種 和EJB平行的方式來(lái)達(dá)到同樣的目的。 4. RMI(Remote Method Invoke): 正如其名字所表示的那樣,RMI協(xié)議調(diào)用遠(yuǎn)程對(duì)象上方法。它使用了序列化方式在客戶端 和服務(wù)器端傳遞數(shù)據(jù)。RMI是一種被EJB使用的更底層的協(xié)議。 5. Java IDL/CORBA: 在Java IDL的支持下,開(kāi)發(fā)人員可以將Java和CORBA集成在一起。他們可以創(chuàng)建Java對(duì)象 并使之可在CORBA ORB中展開(kāi), 或者他們還可以創(chuàng)建Java類并作為和其它ORB一起展開(kāi)的C ORBA對(duì)象的客戶。后一種方法提供了另外一種途徑,通過(guò)它Java可以被用于將你的新的 應(yīng)用和舊的系統(tǒng)相集成。 6. JSP(Java Server Pages): JSP頁(yè)面由HTML代碼和嵌入其中的Java代碼所組成。服務(wù)器在頁(yè)面被客戶端所請(qǐng)求以后對(duì) 這些Java代碼進(jìn)行處理,然后將生成的HTML頁(yè)面返回給客戶端的瀏覽器。 7. Java Servlet: Servlet是一種小型的Java程序,它擴(kuò)展了Web服務(wù)器的功能。作為一種服務(wù)器端的應(yīng)用 ,當(dāng)被請(qǐng)求時(shí)開(kāi)始執(zhí)行,這和CGI Perl腳本很相似。Servlet提供的功能大多與JSP類似 ,不過(guò)實(shí)現(xiàn)的方式不同。JSP通常是大多數(shù)HTML代碼中嵌入少量的Java代碼,而servlets 全部由Java寫(xiě)成并且生成HTML。 8. XML(Extensible Markup Language): XML是一種可以用來(lái)定義其它標(biāo)記語(yǔ)言的語(yǔ)言。它被用來(lái)在不同的商務(wù)過(guò)程中共享數(shù)據(jù)。 XML的發(fā)展和Java是相互獨(dú)立的,但是,它和Java具有的相同目標(biāo)正是平臺(tái)獨(dú)立性。通過(guò) 將Java和XML的組合,您可以得到一個(gè)完美的具有平臺(tái)獨(dú)立性的解決方案。 9. JMS(Java Message Service): MS是用于和面向消息的中間件相互通信的應(yīng)用程序接口(API)。它既支持點(diǎn)對(duì)點(diǎn)的域,有 支持發(fā)布/訂閱(publish/subscribe)類型的域,并且提供對(duì)下列類型的支持:經(jīng)認(rèn)可的 消息傳遞,事務(wù)型消息的傳遞,一致性消息和具有持久性的訂閱者支持。JMS還提供了另 一種方式來(lái)對(duì)您的應(yīng)用與舊的后臺(tái)系統(tǒng)相集成。 10. JTA(Java Transaction Architecture): JTA定義了一種標(biāo)準(zhǔn)的API,應(yīng)用系統(tǒng)由此可以訪問(wèn)各種事務(wù)監(jiān)控。 11. JTS(Java Transaction Service): JTS是CORBA OTS事務(wù)監(jiān)控的基本的實(shí)現(xiàn)。JTS規(guī)定了事務(wù)管理器的實(shí)現(xiàn)方式。該事務(wù)管理 器是在高層支持Java Transaction API (JTA)規(guī)范,并且在較底層實(shí)現(xiàn)OMG OTS specification的Java映像。JTS事務(wù)管理器為應(yīng)用服務(wù)器、資源管理器、獨(dú)立的應(yīng)用以 及通信資源管理器提供了事務(wù)服務(wù)。 12. JavaMail: JavaMail是用于存取郵件服務(wù)器的API,它提供了一套郵件服務(wù)器的抽象類。不僅支持SM TP服務(wù)器,也支持IMAP服務(wù)器。 JAF(JavaBeans Activation Framework): JavaMail利用JAF來(lái)處理MIME編碼的郵件附件。MIME的字節(jié)流可以被轉(zhuǎn)換成Java對(duì)象,或 者轉(zhuǎn)換自Java對(duì)象。大多數(shù)應(yīng)用都可以不需要直接使用JAF。
抱歉,此頁(yè)面的內(nèi)容受版權(quán)保護(hù),復(fù)制需扣除次數(shù),次數(shù)不足時(shí)需付費(fèi)購(gòu)買。
如需下載請(qǐng)點(diǎn)擊:點(diǎn)擊此處下載
掃碼付費(fèi)即可復(fù)制
通信工程標(biāo)準(zhǔn) | 全球移動(dòng)通信系統(tǒng) | VT | AMSP | 車載電視 | maipu | elk | GPE | bm-sc | OTH | 多業(yè)務(wù)傳送平臺(tái) | HLR |
移動(dòng)通信網(wǎng) | 通信人才網(wǎng) | 更新日志 | 團(tuán)隊(duì)博客 | 免責(zé)聲明 | 關(guān)于詞典 | 幫助