国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
J2EE平臺(tái)介紹
今天,越來越多的程序設(shè)計(jì)人員希望借助服務(wù)器端技術(shù)的快捷、安全以及可靠性,為他們的企業(yè)開發(fā)分布式的交易應(yīng)用系統(tǒng)。如果你已經(jīng)工作在這一領(lǐng)域,你將非常清楚,在今天這樣一個(gè)電子商務(wù)和信息技術(shù)飛速發(fā)展、并充滿需求的世界上,企業(yè)應(yīng)用必須以更少的資金、更快的速度和比以往更少的資源來設(shè)計(jì)、建造和運(yùn)營。
為降低成本、快速實(shí)現(xiàn)企業(yè)應(yīng)用的設(shè)計(jì)和開發(fā),J2EE平臺(tái)技術(shù)為企業(yè)應(yīng)用的設(shè)計(jì)、開發(fā)、集成以及部署提供了一條基于組件的實(shí)現(xiàn)途徑。J2EE平臺(tái)為您提供了一個(gè)多層次分布是應(yīng)用設(shè)計(jì)模式,重用組件的能力,統(tǒng)一的安全模式,靈活的交易控制。你不僅可以把全新的客戶解決方案,用比以往都快的速度推向市場(chǎng),而且平臺(tái)獨(dú)立、基于J2EE組件的解決方案將使你的產(chǎn)品不綁定在任何一個(gè)廠商的產(chǎn)品和API上。
本文介紹J2EE 1.3平臺(tái)并同時(shí)作為J2EE教程的概述章節(jié)。J2EE教程采用基于范例的方式,描述J2EE SDK 1.3版的特點(diǎn)和功能。無論你是新手還是有經(jīng)驗(yàn)的企業(yè)應(yīng)用開發(fā)人員,你都將發(fā)現(xiàn)J2EE教程中結(jié)合了文字的范例,是你創(chuàng)建自己企業(yè)的解決方案時(shí),有價(jià)值的、唾手可得知識(shí)庫。
如果你是剛剛開始接觸J2EE應(yīng)用開發(fā),這個(gè)介紹是一個(gè)很好的起點(diǎn)。在這里你將學(xué)習(xí)J2EE架構(gòu),開始熟悉重要的術(shù)語和概念,找到如何開始進(jìn)行J2EE應(yīng)用程序編程,集成和部署。
分布式的多層次應(yīng)用
J2EE平臺(tái)采用一個(gè)多層次分布式的應(yīng)用模式。這意味著應(yīng)用邏輯根據(jù)功能被劃分成組件,組成J2EE應(yīng)用的不同應(yīng)用組件安裝在不同的服務(wù)器上,這種劃分是根據(jù)應(yīng)用組件屬于多層次J2EE環(huán)境中的哪一個(gè)層次來決定的。圖1展示了兩個(gè)多層次J2EE應(yīng)用劃分成在下面的表中描述的不同層次。圖1中表示的J2EE應(yīng)用部分代表了J2EE應(yīng)用組件。
• 運(yùn)行在客戶機(jī)器上的客戶層組件
• 運(yùn)行在J2EE服務(wù)器上的Web層組件
• 運(yùn)行在J2EE服務(wù)器上的業(yè)務(wù)層組件
• 運(yùn)行在EIS服務(wù)器上的企業(yè)信息系統(tǒng)層軟件
如圖1所示,J2EE應(yīng)用可以由三或四個(gè)層次組成,J2EE多層次應(yīng)用一般被認(rèn)為是三層應(yīng)用,因?yàn)樗鼈兪潜环植荚谌齻€(gè)不同的地點(diǎn):客戶端機(jī)器、J2EE服務(wù)器和數(shù)據(jù)庫或后端的傳統(tǒng)系統(tǒng)服務(wù)器。三層架構(gòu)應(yīng)用是對(duì)標(biāo)準(zhǔn)的客戶端/服務(wù)器應(yīng)用架構(gòu)的一種擴(kuò)展,即在客戶端應(yīng)用和后臺(tái)存儲(chǔ)之間增加一個(gè)多線程應(yīng)用服務(wù)器。
圖1:多層應(yīng)用
J2EE應(yīng)用組件
J2EE應(yīng)用是由組件組成的。J2EE組件是一個(gè)自我封裝的功能軟件單元,它將通過相關(guān)的類、文件和與其它組件的通訊,被集成進(jìn)J2EE應(yīng)用。J2EE規(guī)范定義了如下J2EE組件:
• 應(yīng)用(Application)客戶端和小程序(applet)是客戶端組件
• Java Servlet和Java Server Pages技術(shù)組件是Web組件
• Enterprise JavaBeans(EJB)組件是業(yè)務(wù)組件
J2EE組件使用Java編程語言編寫的,也向任何Java編程語言程序一樣編譯的。使用J2EE平臺(tái)的不同之處是,J2EE組件是被集成到J2EE應(yīng)用中的,是經(jīng)過很好格式化的并經(jīng)過J2EE規(guī)范兼容性驗(yàn)證的,而且在部署和正式運(yùn)行時(shí),是運(yùn)行在J2EE服務(wù)器上,并且是在J2EE服務(wù)器的管理下運(yùn)行的。
客戶端組件
一個(gè)J2EE應(yīng)用可以使基于Web的或不基于Web的。對(duì)于不基于Web的J2EE應(yīng)用,一個(gè)應(yīng)用客戶端軟件將運(yùn)行在客戶端機(jī)器上,而對(duì)于基于Web的J2EE應(yīng)用,瀏覽器會(huì)下載Web頁面和小程序(applet)到客戶端機(jī)器上。
應(yīng)用客戶端
運(yùn)行在客戶端機(jī)器上的應(yīng)用客戶端軟件,為用戶提供一個(gè)途徑,處理象J2EE系統(tǒng)或應(yīng)用管理這樣的工作。它通常由一個(gè)用Swing或AWT API開發(fā)的圖形用戶界面,但是也可以使用命令行接口。
應(yīng)用客戶端軟件直接訪問運(yùn)行在業(yè)務(wù)層的企業(yè)Bean。當(dāng)然,如果J2EE應(yīng)用客戶端允許,一個(gè)應(yīng)用客戶端也可以建立HTTP連接,與運(yùn)行在Web層的Servlet進(jìn)行通訊。
Web瀏覽器
用戶端的Web瀏覽器從Web層下載HTML/WML/XML等靜態(tài)或動(dòng)態(tài)Web頁面。動(dòng)態(tài)頁面是由運(yùn)行在Web層的Servlet或JSP頁面生成的。
Applet
一個(gè)從Web層下載的Web頁面可以包含嵌入的applet。一個(gè)applet是一個(gè)用Java編程語言編寫的小客戶端應(yīng)用,通過安裝在Web瀏覽器上的Java虛擬機(jī)執(zhí)行。然而,applet要在Web瀏覽器上成功運(yùn)行,客戶端系統(tǒng)還需要Java插件(Java Plug-in)和安全策略文件。
JSP頁面是推薦的創(chuàng)建基于Web的客戶端程序的API,因?yàn)樵诳蛻舳藷o需插件和安全策略文件。而且,JSP頁面支持清晰的、多模塊應(yīng)用設(shè)計(jì),因?yàn)樗峁┮粋€(gè)途徑,使應(yīng)用程序編程和Web頁面設(shè)計(jì)分離。這意味著參與Web頁面設(shè)計(jì)的人員所要做的工作,不需要了解Java編程語言的語法。
運(yùn)行在基于網(wǎng)絡(luò)的系統(tǒng),例如手持設(shè)備、汽車電話等上的Applet,可以執(zhí)行運(yùn)行在J2EE服務(wù)器上的JSP頁面或Servlet生成的WML頁面。WML頁面是通過無線應(yīng)用協(xié)議(WAP)傳送的,網(wǎng)絡(luò)配置需要一個(gè)網(wǎng)關(guān),把WAP轉(zhuǎn)換成HTTP,然后在轉(zhuǎn)換回來。網(wǎng)關(guān)把從手持設(shè)備上來的WAP請(qǐng)求轉(zhuǎn)換成J2EE服務(wù)器的HTTP請(qǐng)求,再把HTTP服務(wù)器的響應(yīng)和WML頁面轉(zhuǎn)換成一個(gè)WAP服務(wù)器響應(yīng)和WML頁面顯示在手持設(shè)備上。
JavaBeans組件架構(gòu)
客戶層也由一個(gè)基于JavaBeans組件架構(gòu)的組件,用于管理應(yīng)用客戶端或applet 與運(yùn)行在J2EE服務(wù)器上的組件之間的數(shù)據(jù)流。JavaBeans組件不是在J2EE規(guī)范中的組件。
為J2EE平臺(tái)而寫的JavaBeans組件,包含實(shí)例變量以及為訪問實(shí)例變量的讀取和設(shè)置方法。以這種方式使用的JavaBeans組件一般設(shè)計(jì)和實(shí)現(xiàn)起來非常簡(jiǎn)單,但是要遵循JavaBeans組件架構(gòu)中的命名和設(shè)計(jì)規(guī)范。
J2EE服務(wù)器通訊
圖2展示了組成客戶層的不同組成部分??蛻舳伺c運(yùn)行在J2EE服務(wù)器上的業(yè)務(wù)層之間的通訊,可以是直接的,或者是在客戶端運(yùn)行瀏覽器的情況下,通過運(yùn)行在Web層的JSP頁面或Servlet完成。
圖2:服務(wù)器通訊
瘦客戶端
J2EE應(yīng)用使用瘦客戶端。一個(gè)瘦客戶端是與應(yīng)用連接地輕負(fù)載接口,它不處理象查詢數(shù)據(jù)庫、執(zhí)行負(fù)載業(yè)務(wù)邏輯、或域傳統(tǒng)系統(tǒng)連接等工作。象這樣的重負(fù)載被轉(zhuǎn)移到運(yùn)行在J2EE服務(wù)器上的Web或企業(yè)Beans上,這樣可以借助J2EE服務(wù)器端技術(shù)的安全性、快速、服務(wù)和可靠性。
Web組件
J2EE的Web組件可以是JSP頁面,也可以是Servlet。Servlet是Java編程語言的類,能夠動(dòng)態(tài)處理請(qǐng)求并生成響應(yīng)。JSP頁面是基于文本的文件,包含靜態(tài)內(nèi)容和小段的Java編程語言代碼用以生成動(dòng)態(tài)內(nèi)容。當(dāng)JSP頁面被調(diào)用時(shí),后臺(tái)Servlet執(zhí)行這小短代碼,并返回結(jié)果。
靜態(tài)HTML頁面和applet在應(yīng)用集成的時(shí)候是與Web組件捆綁在一起的。但是沒有被J2EE規(guī)范最為Web組件處理。服務(wù)器端應(yīng)用類也可以與Web組件捆綁,象HTML一樣,沒有作為Web組件。
如圖3展示,向客戶層一樣,Web層有JavaBeans對(duì)象管理用戶的輸入,并把輸入發(fā)送到運(yùn)行在業(yè)務(wù)層的企業(yè)Bean處理。
圖3:Web層和J2EE應(yīng)用
業(yè)務(wù)組件
業(yè)務(wù)代碼,用于解決或滿足特定的業(yè)務(wù)領(lǐng)域的問題的邏輯,例如銀行、零售或者金融等等,是在業(yè)務(wù)層,由企業(yè)Beans來處理的。圖4展示一個(gè)企業(yè)Beans是如何接收客戶端程序的數(shù)據(jù),處理它(如果需要的話),并把它發(fā)送到企業(yè)信息系統(tǒng)層進(jìn)行存儲(chǔ)。企業(yè)Bean同樣接收存儲(chǔ)的數(shù)據(jù),處理它(如果需要的話),在發(fā)送回客戶端程序。
企業(yè)Beans有三類:Session Beans、實(shí)體beans(entity beans)和消息驅(qū)動(dòng)Beans。一個(gè)Session Bean代表一個(gè)與客戶的臨時(shí)會(huì)話。當(dāng)客戶結(jié)束操作時(shí),這個(gè)Session Bean和它的數(shù)據(jù)就消失了。相反,實(shí)體Bean表示一個(gè)永久存儲(chǔ)在數(shù)據(jù)庫的表中的數(shù)據(jù)。如果客戶結(jié)束操作或服務(wù)器關(guān)機(jī),后臺(tái)操作保證實(shí)體Beans的數(shù)據(jù)存儲(chǔ)下來。
一個(gè)消息驅(qū)動(dòng)的Bean結(jié)合了Session Bean和Java消息服務(wù)(JMS)消息偵聽器的功能,允許業(yè)務(wù)組件以異步的方式接收J(rèn)MS消息。這里介紹實(shí)體Beans和Session Beans。想了解更多的關(guān)于消息驅(qū)動(dòng)Beans,參加Java Message Service教程。
圖4:業(yè)務(wù)和企業(yè)信息系統(tǒng)(EIS)層
企業(yè)信息系統(tǒng)層
企業(yè)信息系統(tǒng)層處理企業(yè)信息系統(tǒng)軟件,包括企業(yè)體系結(jié)構(gòu)系統(tǒng)如企業(yè)資源規(guī)劃(ERP),大型機(jī)交易處理,數(shù)據(jù)庫系統(tǒng),以及傳統(tǒng)信息系統(tǒng)。J2EE應(yīng)用組件需要訪問企業(yè)信息系統(tǒng),例如建立數(shù)據(jù)庫連接等等。
J2EE架構(gòu)
通常,瘦客戶端多層次應(yīng)用是很難編寫的,因?yàn)樗ê芏嘈蟹浅ky以理解的代碼,以處理交易和狀態(tài)管理,多線程,資源池管理,以及其他復(fù)雜的低層次細(xì)節(jié)問題?;诮M件的、與平臺(tái)無關(guān)的J2EE應(yīng)用的開發(fā)是很容易的,因?yàn)闃I(yè)務(wù)邏輯被組織成可重復(fù)使用的組件,而且J2EE服務(wù)器以容器(Container)的形式為每種類型的組件提供后臺(tái)支持。由于你不必自己開發(fā)這些服務(wù),你可以專注于解決你面臨的業(yè)務(wù)問題。
容器(container)和服務(wù)
組件在部署時(shí)被安裝在容器之中,是組件和特定平臺(tái)底層功能之間的接口支持著組件。在Web,企業(yè)Bean或者應(yīng)用客戶端組件能夠被執(zhí)行以前,它必須被組裝到J2EE應(yīng)用里,并且被部署到它的容器里。
組裝流程包括設(shè)定J2EE應(yīng)用中的每一個(gè)組件以及J2EE應(yīng)用本身在容器之中的設(shè)置。容器的設(shè)置個(gè)性化了J2EE服務(wù)器對(duì)每個(gè)組件的后臺(tái)支持,包括象安全性、交易管理、Java命名和目錄接口查詢,以及遠(yuǎn)程連接等等。這里是一些重點(diǎn):
• J2EE安全模式,使你能夠配置Web組件或企業(yè)Bean,使系統(tǒng)資源只能被授權(quán)的用戶訪問。
• J2EE交易模式,使你能夠指定方法之間的關(guān)系,從而組成一個(gè)交易,這樣交易中的所有方法將被作為一個(gè)單元對(duì)待。
• JNDI查詢服務(wù),為企業(yè)中多種命名和目錄服務(wù)提供統(tǒng)一的接口,這樣應(yīng)用組件就可以訪問命名和目錄服務(wù)了。
• J2EE遠(yuǎn)程連接模式,管理客戶端和企業(yè)Beans之間的底層通訊。在企業(yè)Bean被創(chuàng)建后,客戶端調(diào)用它的方法,就象它在同一個(gè)虛擬機(jī)上一樣。
實(shí)際上,J2EE架構(gòu)提供可配置的服務(wù),意思是在同一個(gè)J2EE應(yīng)用中的應(yīng)用組件可以根據(jù)他們部署的位置不同,表現(xiàn)不同。一個(gè)企業(yè)Bean可以通過不同的安全設(shè)置,是它在一個(gè)生產(chǎn)系統(tǒng)中獲得一種層次的數(shù)據(jù)庫數(shù)據(jù)訪問,而在另一個(gè)生產(chǎn)系統(tǒng)中,則獲得另一種數(shù)據(jù)庫訪問權(quán)限。
容器還管理著不可配置服務(wù),如企業(yè)bean和Servlet的生命周期,數(shù)據(jù)庫連接資源池,數(shù)據(jù)持續(xù)性(persistence),以及J2EE API中描述的訪問J2EE平臺(tái)的API。盡管數(shù)據(jù)持續(xù)性機(jī)制是一個(gè)不可配置服務(wù),J2EE架構(gòu)允許你在需要比缺省的容器管理的持續(xù)性機(jī)制更多的控制時(shí),用你的企業(yè)Bean實(shí)現(xiàn)中的相應(yīng)的代碼覆蓋原有的容器管理的持續(xù)機(jī)制。例如,你可以使用Bean管理的持續(xù)性機(jī)制來實(shí)現(xiàn)你自己的搜索方法,或創(chuàng)建個(gè)性化的數(shù)據(jù)庫緩存。
容器類型
在部署過程之中,J2EE應(yīng)用組件被安裝在如下類型的J2EE容器中。本文中涉及的J2EE組件和容器參見圖5。
企業(yè)JavaBeans(EJB)容器,為J2EE應(yīng)用管理著所有的企業(yè)Beans。企業(yè)Bean和它們的容器運(yùn)行在J2EE服務(wù)器上。
Web容器,為J2EE應(yīng)用管理著所有的JSP頁面和Servlet組件。Web組件和它們的容器運(yùn)行在J2EE服務(wù)器上。
應(yīng)用客戶端容器,為J2EE應(yīng)用管理著所有的應(yīng)用客戶端組件。應(yīng)用客戶端組件和它們的容器運(yùn)行在客戶端機(jī)器上。
applet容器,是Web瀏覽器和Java插件的組合,運(yùn)行在客戶端機(jī)器上。
圖5:J2EE服務(wù)器和容器
包裝
J2EE組件是單獨(dú)包裝的,為部署而捆綁到J2EE應(yīng)用中。每個(gè)組件,其相關(guān)的文件如GIF和HTML文件,或者服務(wù)器端應(yīng)用類,以及部署描述,被集成成一個(gè)模塊并添加到J2EE應(yīng)用中。J2EE應(yīng)用是由一個(gè)或多個(gè)企業(yè)Bean,Web,或應(yīng)用客戶端組件模塊組成的。最終企業(yè)解決方案可以使用一個(gè)J2EE應(yīng)用或根據(jù)設(shè)計(jì)需要由兩個(gè)或更多的J2EE應(yīng)用組成。
一個(gè)J2EE應(yīng)用以及它的每一個(gè)模塊都有它自己的部署描述。部署描述是一個(gè)XML文本文件,帶有.xml后綴,描述組件的部署設(shè)置。一個(gè)企業(yè)Bean的部署描述,例如,聲明交易屬性,和企業(yè)Bean的安全認(rèn)證。由于部署描述的信息是可以聲明的,這樣它可以在無需修改Bean的源代碼的情況下,進(jìn)行修改。在運(yùn)行時(shí),J2EE服務(wù)器讀取部署描述,并依次對(duì)組件進(jìn)行操作。
J2EE應(yīng)用以及相關(guān)的模塊是在一個(gè)Enterprise Archive(EAR)中發(fā)送的。EAR文件是一個(gè)標(biāo)準(zhǔn)的JAR文件,以.ear后綴結(jié)尾。在GUI版的J2EE SDK應(yīng)用部署工具集中,你先創(chuàng)建一個(gè)EAR文件,在添加JAR和WAR到EAR中。如果你使用命令行打包工具,則先創(chuàng)建JAR和WAR文件,然后創(chuàng)建EAR文件。J2EE SDK工具:
• 每個(gè)EJB JAR文件包含它的部署描述,相關(guān)文件和企業(yè)Bean的.class文件
• 每個(gè)應(yīng)用客戶端JAR包含它的部署描述,相關(guān)文件和應(yīng)用客戶端的.class文件
• 每個(gè)WAR文件包含它的部署描述,相關(guān)文件和servlet的.class文件以及JSP頁面的.jsp文件
使用模塊和EAR文件使使用一些相同的組件組裝多個(gè)不同的J2EE應(yīng)用成為可能。無需額外的編程,只是把不同的J2EE模塊組裝到J2EE EAR文件中。
開發(fā)的角色
可重用模塊使把應(yīng)用開發(fā)和部署過程分成截然不同的角色成為可能。這樣不同的人或公司能夠在整個(gè)過程中實(shí)施不同的部分。
最開始的兩個(gè)角色包括購買和安裝J2EE產(chǎn)品和工具。當(dāng)軟件采購的并且安裝了, J2EE組件可以由應(yīng)用組件提供商開發(fā),由應(yīng)用組裝商組裝,由應(yīng)用部署商部署。在一個(gè)大的機(jī)構(gòu)中,每一個(gè)角色由不同的個(gè)人或小組完成。這種勞動(dòng)力的分割是可行的,因?yàn)槊恳粋€(gè)先前的角色輸出一個(gè)可移植的文件,這個(gè)文件可以作為后續(xù)角色的輸入。例如,在應(yīng)用組件開發(fā)階段,一個(gè)企業(yè)Bean軟件開發(fā)商提交EJB JAR文件。在應(yīng)用組裝角色中,另一個(gè)開發(fā)商把這些EJB JAR文件與J2EE應(yīng)用相結(jié)合,并存放在一個(gè)EAR文件中。在應(yīng)用部署角色中,系統(tǒng)管理員在客戶現(xiàn)場(chǎng),使用EAR文件,把J2EE應(yīng)用安裝到一個(gè)J2EE服務(wù)器中。
不同的角色并不是總是由不同的人來執(zhí)行的。如果你為一個(gè)小公司工作,或者你在構(gòu)建一個(gè)測(cè)試應(yīng)用,你可能要執(zhí)行每一個(gè)階段的工作。
J2EE產(chǎn)品供應(yīng)商
J2EE產(chǎn)品供應(yīng)商是設(shè)計(jì)和制作能夠用于銷售的J2EE平臺(tái)、API和J2EE規(guī)范所定義的其他特性的公司。產(chǎn)品供應(yīng)商一般是操作系統(tǒng)、數(shù)據(jù)庫系統(tǒng)、應(yīng)用服務(wù)器或Web服務(wù)器廠商,他們根據(jù)J2EE規(guī)范實(shí)現(xiàn)J2EE平臺(tái)。
工具供應(yīng)商
工具供應(yīng)商是個(gè)人或公司,他們提供組件開發(fā)商、組裝商、部署商等使用的開發(fā)、組裝和包裝工具。參見工具信息提供的J2EE SDK 1.3兼容的工具。
應(yīng)用組件供應(yīng)商
應(yīng)用組件供應(yīng)商是公司或個(gè)人,他們制作Web組件、企業(yè)Beans、applet或應(yīng)用客戶端,這些組件可用于J2EE應(yīng)用。
企業(yè)Bean制作
軟件開發(fā)者完成以下工作,以提供包含企業(yè)Bean的EJB JAR文件:
• 編寫并編譯源代碼
• 定制部署描述
• 捆綁.class文件和部署描述到一個(gè)EJB JAR文件
Web組件制作
Web開發(fā)者(JSP頁面)或軟件開發(fā)者(servlet)完成以下工作,以提供包含Web組件的WAR文件。
• 編寫并編譯servlet源代碼
• 編寫JSP和HTML文件
• 為web組件定制部署描述
• 捆綁.class,.jsp,.html和部署描述文件到WAR文件
J2EE應(yīng)用客戶端制作
軟件開發(fā)者完成以下工作,以提供包含J2EE應(yīng)用客戶端的JAR文件。
• 編寫并編譯源代碼
• 為客戶端定制部署描述
• 捆綁.class文件和部署描述文件到JAR文件
應(yīng)用組裝商
應(yīng)用組裝商是一些公司或個(gè)人,他們從組件供應(yīng)商那里得到應(yīng)用組件的JAR文件,并組裝成J2EE應(yīng)用的EAR文件。組裝商和部署商可以直接編輯部署描述或者使用工具,根據(jù)交互方式的選擇,正確的增加XML標(biāo)簽。軟件開發(fā)商完成以下工作,以提供包含J2EE應(yīng)用的EAR文件。
• 組裝EJB JAR和前一階段開發(fā)的Web組件(WAR)文件,生成新的J2EE應(yīng)用(EAR)文件。
• 為J2EE應(yīng)用定制部署描述
• 檢查EAR文件的內(nèi)容是否是很好格式化的并符合J2EE規(guī)范
應(yīng)用部署商和管理員
部署商和管理員是公司或個(gè)人,他們配置并部署J2EE應(yīng)用,管理J2EE運(yùn)行的計(jì)算和網(wǎng)絡(luò)架構(gòu),并監(jiān)視運(yùn)行環(huán)境。責(zé)任包括設(shè)置交易控制,安全屬性,并設(shè)定與數(shù)據(jù)庫地連接。
在配置過程中,部署者遵循由應(yīng)用組件供應(yīng)商提供的指南,解決外部依賴關(guān)系,設(shè)定安全框架,設(shè)置交易屬性。在安裝過程中,部署商將應(yīng)用組件轉(zhuǎn)移到服務(wù)器上,并生成容器專用的類和接口。
部署商/系統(tǒng)管理員完成以下工作,已安裝并配置J2EE應(yīng)用。
• 增加在前一階段制作的J2EE應(yīng)用(EAR)文件到J2EE服務(wù)器上
• 為運(yùn)行環(huán)境配置J2EE應(yīng)用,即修改J2EE應(yīng)用的部署描述
• 檢查EAR文件的內(nèi)容是否是很好格式化的并符合J2EE規(guī)范
• 部署(安裝)J2EE應(yīng)用的EAR文件到J2EE服務(wù)器
參考實(shí)現(xiàn)軟件
J2EE SDK是由Sun公司提供的J2EE平臺(tái)和規(guī)范的非商業(yè)用途的實(shí)現(xiàn),適用于示范、原形制作和教學(xué)環(huán)境。包含J2EE應(yīng)用服務(wù)器、Web服務(wù)器、關(guān)系型數(shù)據(jù)庫、J2EE API等,是一套完整的開發(fā)部署工具。你可以從網(wǎng)上下載J2EE SDK。
• 產(chǎn)品開發(fā)商使用J2EE SDK確定在一組給定應(yīng)用條件下必須組那些實(shí)現(xiàn),并且運(yùn)行J2EE兼容性測(cè)試包,以檢測(cè)它們的產(chǎn)品測(cè)試包是否完全符合J2EE規(guī)范。
• 應(yīng)用組件開發(fā)商在J2EE SDK上運(yùn)行他們的J2EE應(yīng)用,以驗(yàn)證這些應(yīng)用是否適用于所有J2EE產(chǎn)品和工具。
Web服務(wù)器
Web服務(wù)器提供一個(gè)或多個(gè)Web容器。例如,Web容器一般依賴于Web服務(wù)器提供HTTP消息管理。J2EE實(shí)現(xiàn)不是必須支持某個(gè)特定的Web服務(wù)器,這意味著不同的J2EE產(chǎn)品對(duì)Web服務(wù)器的支持是由變化的。
數(shù)據(jù)庫訪問
關(guān)系性數(shù)據(jù)庫對(duì)應(yīng)用數(shù)據(jù)提供持久的存儲(chǔ)。J2EE實(shí)現(xiàn)不是必須支持某一特定類型的數(shù)據(jù)庫,這意味著不同J2EE產(chǎn)品對(duì)數(shù)據(jù)庫的支持是變化的。參見J2EE SDK下載文件中的版本說明,提供了參考實(shí)現(xiàn)目前支持的數(shù)據(jù)庫清單。
J2EE API
Java 2平臺(tái)標(biāo)準(zhǔn)版(J2SE)SDK在運(yùn)行J2EE SDK時(shí)是必需的,它為編寫J2EE組件提供核心API,核心開發(fā)工具,以及Java虛擬機(jī)。J2EE SDK提供下列API供J2EE應(yīng)用使用。
企業(yè)JavaBeans技術(shù) 2.0
一個(gè)企業(yè)Bean是一段包含域和方法的代碼體,用于實(shí)現(xiàn)業(yè)務(wù)邏輯的一個(gè)模塊。你可以認(rèn)為企業(yè)Bean是一個(gè)構(gòu)建模塊,可以單獨(dú)使用或與其他企業(yè)Beans一起在J2EE服務(wù)器上執(zhí)行業(yè)務(wù)邏輯。
由三種類型的企業(yè)Bean:Session Bean,實(shí)體Beans,和消息驅(qū)動(dòng)Beans,這些在業(yè)務(wù)組件中描述過。有了實(shí)體Beans,你無需編寫任何SQL代碼或直接使用JDBC API執(zhí)行數(shù)據(jù)庫訪問操作。EJB容器替你處理這些。當(dāng)然,如果你不管因?yàn)槿魏卧?,覆蓋了卻省的容器管理持續(xù)性機(jī)制,你將需要使用JDBC API。同樣,如果你選用Session Beans訪問數(shù)據(jù)庫,你必須使用JDBC API。
JDBC 2.0 API
JDBC API是你可以從Java編程語言的方法中,調(diào)用SQL命令。你在覆蓋了卻省的容器管理持續(xù)性機(jī)制,或選用Session Beans訪問數(shù)據(jù)庫,則企業(yè)Bean中訪問數(shù)據(jù)庫必須使用JDBC API。有了容器管理持續(xù)性機(jī)制,數(shù)據(jù)庫訪問操作由容器來處理,你的企業(yè)Bean的實(shí)現(xiàn)中不包含JDBC代碼或SQL命令。你也可以從servlet或JSP頁面中直接使用JDBC API訪問數(shù)據(jù)庫,而不通過企業(yè)Bean。
JDBC API由兩個(gè)部分:一個(gè)適用于應(yīng)用組件訪問數(shù)據(jù)庫的應(yīng)用驅(qū)動(dòng)接口;一個(gè)是隸屬于J2EE平臺(tái)的服務(wù)提供接口。
Java Servlet技術(shù)2.3
Java Servlet技術(shù)為你定義HTTP專用的servlet類。一個(gè)Servlet類擴(kuò)展了服務(wù)器的能力,這個(gè)服務(wù)器存放著應(yīng)用,而應(yīng)用是以請(qǐng)求-響應(yīng)編程模式被訪問的。盡管Servlet可以響應(yīng)任意形式的請(qǐng)求,但是它通常被用于擴(kuò)展Web服務(wù)器存放的應(yīng)用。
JavaServer Pages(JSP)技術(shù) 1.2
JSP頁面技術(shù)是你能夠在基于文本的文件中結(jié)合小段的Java編程語言代碼和靜態(tài)內(nèi)容。一個(gè)JSP頁面是一個(gè)基于文本的文件,它包含兩種類型的文本:靜態(tài)模板數(shù)據(jù),它可以表示為任何基于文本的格式,如HTML、WML和XML;JSP元素,決定這個(gè)頁面如何構(gòu)造動(dòng)態(tài)內(nèi)容。
Java Messaging Service 1.0
JMS API是一種消息標(biāo)準(zhǔn),允許J2EE應(yīng)用組件創(chuàng)建、發(fā)送、接受和讀取消息。它是松散耦合的、可靠的,異步地進(jìn)行分布式通訊。有關(guān)JMS的更多信息參見Java消息服務(wù)教程。
Java Transaction API(JTA) 1.0
JTA API為分段交易提供標(biāo)準(zhǔn)的分段接口。J2EE架構(gòu)提供一個(gè)缺省的自動(dòng)確認(rèn)來處理交易的確認(rèn)和回滾。一個(gè)自動(dòng)確認(rèn)意味著任何其他查詢數(shù)據(jù)的應(yīng)用,在每次數(shù)據(jù)庫的讀寫操作以后,將看到最新的數(shù)據(jù)。然而,如果你的應(yīng)用執(zhí)行兩個(gè)獨(dú)立的相互依賴的數(shù)據(jù)庫訪問操作,你將希望使用JTA API來劃分,使整個(gè)交易同時(shí)含有開始、回滾和確認(rèn)。
JavaMail技術(shù)1.2
很多互聯(lián)網(wǎng)應(yīng)用需要發(fā)送郵件進(jìn)行確認(rèn),所以J2EE平臺(tái)包含了與JavaMail服務(wù)提供商配合使用的JavaMail API,這樣,應(yīng)用組件可以使用它發(fā)送郵件。JavaMail API包含兩個(gè)部分:一個(gè)是應(yīng)用層接口,應(yīng)用組件使用它發(fā)送郵件;一個(gè)服務(wù)提供商接口。
JavaBean Activation Framework 1.0
JavaBeans激活框架被包含是因?yàn)镴avaMail要使用它。它提供標(biāo)準(zhǔn)的服務(wù),以確定專用數(shù)據(jù)的類型,對(duì)它的壓縮訪問,發(fā)現(xiàn)對(duì)它可以使用的操作,并創(chuàng)建相應(yīng)的JavaBean組件來執(zhí)行那些操作。
Java API for XML(JAXP) 1.1
XML是一種語言,用于表示和描述基于文本的數(shù)據(jù),這樣數(shù)據(jù)可以被使用XML API的程序或者工具所讀取和處理。程序和工具可以生成XML文件,另一些程序和工具可以讀取和處理。
例如,一個(gè)J2EE應(yīng)用使用XML制作報(bào)表,不同的公司收到這個(gè)報(bào)表,可以用最符合他們需要的方式處理這些數(shù)據(jù)。一個(gè)公司可能把XML數(shù)據(jù)通過程序轉(zhuǎn)換成HTML格式,這樣它可以把報(bào)表放在Web上,另一個(gè)公司可能把XML數(shù)據(jù)通過工具生成市場(chǎng)演講稿,再有另一個(gè)公司可能把XML數(shù)據(jù)讀到J2EE應(yīng)用中進(jìn)行處理。
J2EE Connector API 1.0
連接器API被J2EE工具廠商和系統(tǒng)集成商用于創(chuàng)建資源適配器,使企業(yè)信息系統(tǒng)可以嵌入一些J2EE產(chǎn)品。一個(gè)資源適配器是一個(gè)軟件組件,它使J2EE應(yīng)用組件可以與后臺(tái)資源管理器進(jìn)行訪問和交互。因?yàn)橘Y源適配器是他的資源管理器專用的,所以每個(gè)類型的數(shù)據(jù)庫或信息系統(tǒng)有它不同的資源適配器。
Java授權(quán)與認(rèn)證服務(wù)(JAAS)1.0
Java授權(quán)與認(rèn)證服務(wù)(JAAS)提供一個(gè)途徑,使J2EE應(yīng)用可以授權(quán)并認(rèn)證一個(gè)用戶或一個(gè)用戶組使用它。JAAS是標(biāo)準(zhǔn)的嵌入式認(rèn)證模塊(PAM)框架的一個(gè)Java編程語言版本,使Java 2平臺(tái)安全架構(gòu)可以支持基于用戶的授權(quán)。
工具
J2EE參考實(shí)現(xiàn)提供一個(gè)應(yīng)用部署工具和一組腳本,用于組裝、驗(yàn)證和部署J2EE應(yīng)用并管理你的開發(fā)和生產(chǎn)環(huán)境。參見J2EE教程以全面了解這些工具。
應(yīng)用部署工具
J2EE參考實(shí)現(xiàn)提供一個(gè)應(yīng)用部署工具,用于組裝、驗(yàn)證和部署J2EE應(yīng)用。它由兩個(gè)版本:命令行和GUI。
GUI工具包含有Wizards用于:
• 打包、配置和部署J2EE應(yīng)用
• 打包、配置企業(yè)Beans
• 打包、配置Web組件
• 打包、配置應(yīng)用客戶端
• 打包、配置資源使配器
另外,配置信息可以在表格化的檢驗(yàn)圖框中為每一個(gè)組件和模塊類型進(jìn)行設(shè)置。
腳本
表1列出了J2EE參考實(shí)現(xiàn)中包含的腳本,你可以在命令行中執(zhí)行這些操作。
腳本
描述
j2ee
啟動(dòng)和停止J2EE服務(wù)器
cloudscape
啟動(dòng)和停止缺省數(shù)據(jù)庫
cloudIJ
運(yùn)行交互式SQL工具,這是一個(gè)不支持的工具
j2eeadmin
為不同的資源增加JDBC驅(qū)動(dòng),JMS目標(biāo),和連接工廠
keytool
創(chuàng)建公開的和私有的密鑰,生成X509自己簽署(self-signed)的證書
realmtool
輸入證書文件。為J2EE應(yīng)用在認(rèn)證/授權(quán)列表中,增加、刪除J2EE用戶
packager
包裝J2EE應(yīng)用組件到EAR,EJB JAR,應(yīng)用客戶端JAR和WAR文件中。
verifier
驗(yàn)證EAR、EJB JAR、應(yīng)用客戶端JAR和WAR文件是否是很好格式化的,以及是否遵從J2EE規(guī)范
runclient
運(yùn)行J2EE應(yīng)用客戶端
cleanup
從J2EE服務(wù)器上清除所有部署的應(yīng)用
結(jié)論
J2EE平臺(tái)提供了你設(shè)計(jì)、建造、測(cè)試、部署分布式多層次應(yīng)用所需要的所有內(nèi)容。J2EE教程對(duì)平臺(tái)特性、API和工具進(jìn)行了有深度的介紹。如果你需要J2EE應(yīng)用設(shè)計(jì)方面的幫助,J2EE BluePrints Digest對(duì)在J2EE平臺(tái)上,開發(fā)多層次、瘦客戶應(yīng)用,提供了高層次的描述。
應(yīng)用編程模式由技術(shù)主體和原則組成,指導(dǎo)J2EE應(yīng)用開發(fā)人員確定最合理的實(shí)施選擇、最有效的使用JSP和Servlets,在實(shí)現(xiàn)業(yè)務(wù)邏輯時(shí)選擇好的設(shè)計(jì)、有效的把J2EE安全模型映射到企業(yè)計(jì)算環(huán)境和體系結(jié)構(gòu)。
作者簡(jiǎn)介
Monica Pawlan, Java Developer Connection(JDC)的首席作家,是Essentials of the Java Programming Language: A Hands-On Guide的作者,和Advanced Programming for the Java 2 Platform的合作作者。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
J2EE平臺(tái)的13種核心技術(shù) - 51CTO.COM
j2ee規(guī)范
Java學(xué)習(xí):J2EE中的13種技術(shù)規(guī)范
J2EE 全面簡(jiǎn)介
區(qū)分Tomcat與Web服務(wù)器、應(yīng)用服務(wù)器的關(guān)系
j2ee 技術(shù)文檔
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服