|
??????????
?????????????????????
?????????J2EE組件
?????????J2EE應(yīng)用程序是由組件構(gòu)成的。J2EE組件是一個封裝了功能的軟件單元,能夠與相關(guān)的一些類和文件一起組成J2EE應(yīng)用程序。
?????????1、應(yīng)用程序客戶端和Applet是指運行在客戶計算機上的組件。
?????????2、基于Java Servlet和JSP技術(shù)的組件叫Web組件,它們運行在服務(wù)器上。
?????????3、企業(yè)JavaBean(EJB)組件叫業(yè)務(wù)組件,同樣運行在服務(wù)器上。
??????J2EE客戶端
?????????J2EE客戶端可以是一個Web組件或者是一個應(yīng)用程序客戶端。
?????????1、Web客戶端??
?????????包括兩部分,首先是那些動態(tài)Web頁面(HTML、XML等),這些組件運行在Web層;另一個是Web瀏覽器,由客戶機上的瀏覽器從服務(wù)器接收并且解析和顯示W(wǎng)eb頁面。
?????????2、小應(yīng)用程序(Applet)?
?????????需要運行在客戶端安裝了Java虛擬機的Web瀏覽器上。
?????????3、應(yīng)用程序客戶端
?????????J2EE應(yīng)用程序客戶端運行在客戶機上,能提供強大而靈活易用的用戶界面,如使用Swing或AWT創(chuàng)建的圖形化的用戶界面(GUI)。應(yīng)用程序可直接訪問運行在業(yè)務(wù)層的企業(yè)Bean,如果需求允許,也可以打開HTTP連接來建立與運行在Web層上的Servlet之間的通訊。
?????????4、JavaBean組件架構(gòu)
?????????在服務(wù)器和客戶端兩層中也可能包括了基于JavaBean的組件架構(gòu),通過JavaBean來實現(xiàn)數(shù)據(jù)的流動,可以是在應(yīng)用程序客戶或Applet與運行在J2EE服務(wù)器上的組件之間,或者是在J2EE服務(wù)器和后臺數(shù)據(jù)庫之間。(不過JavaBean組件并沒有包含在J2EE規(guī)范里)
?????????5、J2EE服務(wù)的通訊
?????????客戶層與J2EE服務(wù)器上運行的業(yè)務(wù)層之間的通訊可以是直接的,也可以通過運行在Web層中的Servlet和JSP來實現(xiàn),在這種情況下,客戶端運行在瀏覽器中。
?????????Web組件
?????????J2EE的Web組件可以是Servlet或JSP頁面。在應(yīng)用程序組裝過程中,靜態(tài)HTML頁面和Applet也可以一起打包成Web組件,但這并不是J2EE規(guī)范所認可的Web組件。
?????????業(yè)務(wù)組件
?????????業(yè)務(wù)代碼是指那些由位于業(yè)務(wù)層的企業(yè)Bean(EJB)執(zhí)行的邏輯,它們能夠解決或滿足特定的商業(yè)領(lǐng)域的一些需求。有三種不同類型的企業(yè)Bean:會話Bean、實體Bean和消息驅(qū)動Bean。會話Bean代表客戶一次短暫的會話過程,當客戶執(zhí)行完成后,會話Bean以及它所包含的數(shù)據(jù)也隨之消失。實體Bean代表的是持久的數(shù)據(jù),即存儲在數(shù)據(jù)庫表中的一行記錄,即使客戶終止或者服務(wù)器關(guān)閉,在J2EE底層的服務(wù)會確保實體Bean的數(shù)據(jù)被保存下來。
?????????企業(yè)信息系統(tǒng)層
?????????企業(yè)信息系統(tǒng)層處理企業(yè)信息系統(tǒng)的軟件,包括企業(yè)組織結(jié)構(gòu)系統(tǒng),例如企業(yè)資源計劃(ERP)、大型的事務(wù)處理、數(shù)據(jù)庫系統(tǒng)及其他歷史上遺留下來的信息系統(tǒng)。
?????????J2EE的主要技術(shù)
?????????
?????????JDBC(Java Database Connectivity): JDBC API?為訪問數(shù)據(jù)庫提供一種統(tǒng)一的方式,其接口包括在java.sql和javax.sql兩個包中。
?????????JNDI(Java Name and Directory Interface):Java名稱和目錄服務(wù),包含在javax.naming 及其子包中。它為應(yīng)用程序提供標準的目錄操作的方法 ,如獲得對象的關(guān)聯(lián)屬性,根據(jù)它們的屬性搜尋對象等。使用JNDI,一個J2EE應(yīng)用程序可以存儲和動態(tài)獲取任何類型的命名Java對象。JNSI分為兩種:應(yīng)用程序編程接口(API)和服務(wù)供應(yīng)商接口(SPI)。
?????????EJB(Enterprise JavaBean):參見上文。
?????????RMI(Remote Method Invoke):即遠程方法調(diào)用,它使用了連續(xù)序列的方式在客戶端和服務(wù)器端傳遞數(shù)據(jù),將面向?qū)ο缶幊棠P蛿U展到了客戶機/服務(wù)器系統(tǒng),使開發(fā)者可以用本地對象調(diào)用的語法進行遠程調(diào)用。
?????????JSP(Java Server Pages):Java服務(wù)器頁,可以在HTML代碼中嵌入部分Java代碼,這種文件由服務(wù)器編譯成Servlet并執(zhí)行,然后將產(chǎn)生的結(jié)果作為一個HTML文件傳給瀏覽器。
?????????Servlet:Java Servlet實質(zhì)上是一種小型的,與平臺無關(guān)的Java類,它由容器管理并被編譯成平臺無關(guān)的字節(jié)代碼,可以動態(tài)地加載到一個Web服務(wù)器上,并由該Web服務(wù)器運行。
?????????JMS(Java Message Service):Java 消息服務(wù),是用于和企業(yè)消息傳遞系統(tǒng)相互通信的應(yīng)用程序接口。企業(yè)消息傳遞系統(tǒng)又稱為面向消息的中間件(Message Oriented Middle Ware, MOM),它使用松耦合的、非常靈活的方式來集成應(yīng)用程序,在存儲和轉(zhuǎn)發(fā)的基礎(chǔ)上支持應(yīng)用程序間數(shù)據(jù)的異步傳遞;
每個應(yīng)用程序都只與作為中介的MOM通信。
?????????JTA(Java Transaction API):指定事務(wù)管理與分布式事務(wù)中涉及的其他系統(tǒng)之間的各種高級接口。
?????????JavaMail:用于存取郵件服務(wù)器的API,提供了一套用于郵件服務(wù)的抽象類。
?????????JAXP(Java API for XML Processing):Java XML 處理API,支持使用DOM、SAX和XSLT對XML文檔進行處理。
?????????J2EE Connector Architecture:J2EE工具提供商提供的J2EE連接體系結(jié)構(gòu),通過它可以建立支持訪問企業(yè)信息系統(tǒng)的資源適配器。??????
????????歸納幾個概念:
?????????EJB
?????????即Enterprise JavaBean,一種組件架構(gòu),用于開發(fā)和部署面向?qū)ο蟮摹⒎植际降摹⑵髽I(yè)級的應(yīng)用程序。所開發(fā)的應(yīng)用程序使用EJB架構(gòu)來實現(xiàn)可擴展性及管理事務(wù)和安全。
?????????EJB包括會話Bean(session bean)、實體Bean(entity bean)和消息驅(qū)動Bean(message-driven bean)。其中會話Bean分為無狀態(tài)會話Bean(stateless session bean)和有狀態(tài)會話Bean(stateful session bean)。而實體Bean又分為Bean管理實體Bean和容器管理實體Bean。由于這種Bean對應(yīng)于數(shù)據(jù)庫中的記錄,所以數(shù)據(jù)庫記錄的任何改變也被同步到組件池中的相關(guān)Bean中,這個過程叫做持久性(persistenced),這是實體Bean最重要的一個特征。根據(jù)持久性操作方式的不同分為:容器管理持久性(Container-Managed Persistence,CMP)和Bean管理持久性(Bean-Managed Persistence,BMP)。
?????????容器
?????????即container,一個實體,它管理著組件的生命周期、安全、部署和運行時服務(wù)。每個類型的容器都只提供與相應(yīng)類型的組件相關(guān)的服務(wù),如EJB、Web、JSP、Applet和應(yīng)用程序客戶端。其中,EJB容器和Web容器都運行在J2EE服務(wù)器中。
?????????J2EE
?????????即Java 2 Platform Enterprise Edition,Java 2 平臺企業(yè)版。是開發(fā)和部署企業(yè)應(yīng)用程序的一種平臺或環(huán)境。它由一系列服務(wù)、應(yīng)用程序編程接口(API)、提供多層開發(fā)的功能性的協(xié)議以及基于Web的應(yīng)用程序組成。
?????????
?
?