1. 程式人生 > >javaEE設計思想和技術架構

javaEE設計思想和技術架構

javaEE企業級應用分為兩部分:實現基礎支撐功能的容器和實現特定業務邏輯的元件.
1容器. 1.1提供底層基礎功能,稱之為服務,這些服務主要用來實現企業級應用的共性問題,如事務,安全,可拓展性等. 1.2容器由專門的廠商來生產,容器必須實現的基本介面和功能由javaEE規範定義,具體的實現由廠商決定,常見的web容器和EJB容器. 1.3容器提供的服務有:命名服務,持久化,java訊息服務,事務支援,安全服務等. 2元件. 2.1由開發人員根據特定的業務需求程式設計實現,所有的元件都是在容器的java虛擬機器中進行初始化,通過呼叫容器提供的服務與外界互動. 2.2元件在開發過程中不需要考慮複雜多變的執行環境,只需要專注業務的邏輯實現.提高效率,降低開發難度. javaEE技術架構由一系列的企業應用開發技術來實現,javaEE技術框架分四部分:元件技術,容器服務技術,通訊技術,框架技術. 3容器和元件互動. 3.1通過部署檔案實現元件和容器的互動,檔案中描述元件要呼叫容器的名稱,引數.部署檔案就像元件和容器的契約. 3.2javaEE6以後,提供註釋,幫助容器來閱讀和理解元件內容.將元件部署到容器中時,根據這些標籤,容器便知道該如何為元件提供服務. 3.3javaEE6以後還提出"慣例優於配置",容器將按照一些約定俗成慣例來自動進行配置,此時開發人員甚至連註解都可以省略.只有當元件的屬性和行為不同於慣例才需要進行配置. 1容器服務技術. 1.1命名服務:元件之間需要相互呼叫,JDNI簡化企業元件之間的查詢呼叫,提供命名環境. 1.2資料庫連線服務:JDBC API使javEE平臺可以和各種關係型資料庫連線,JDBC技術提供java程式和資料庫伺服器之間的連線服務,同時保證事務的正常進行. 1.3java事務服務:JTA允許應用程式執行分散式事務處理--在兩個或多個節點上訪問並且更新資料.JTA保證資料的讀寫互不干擾,在進行資料庫操作時,要麼全部完成,要麼一點也不改變資料庫內容.JTA的API可以在web層或ejb層實現. 1.4安全服務:JAAS提供靈活和可伸縮的機制來保證客戶端或伺服器端的java程式.JAAS強調的是通過驗證誰在執行程式碼以及他的許可權來保護系統免受使用者的攻擊. 1.5java連線框架:JCA是一組用於連線javaEE平臺到企業資訊系統的標準API.JCA定義一套拓展性強,安全的資料互動機制,解決了現有企業資訊系統與EJB容器和元件的整合,這使javaEE企業應用程式能夠和其他型別的系統進行會話. 1.6上下文和依賴注入:CDI使容器以型別安全的低耦合方式為EJB等元件提供一種上下文服務,將元件的生命週期交給容器管理,降低元件之間的耦合度問題,提高重用性和可移植性. 2元件技術. 2.1客戶端元件. 2.1.1web瀏覽器又稱瘦客戶端,只進行簡單的人機互動,不執行如查詢資料庫,業務邏輯計算等複雜操作. 2.1.2applet是用java語言編寫的小程式,執行在瀏覽器上的虛擬機器裡,通過http等協議和伺服器進行通訊. 2.1.3應用程式客戶端:擁有通過Swing或AWT API建立的圖形使用者介面,他可以直接訪問在伺服器EJB容器內的EJB元件,也可以像aplet那樣通過http連線與伺服器的servlet通訊. 2.2web元件. 2.2.1web元件對客戶提交的Web請求進行動態響應.web容器負責將web請求傳遞給web元件,web元件通過處理生成動態內容再通過web容器傳給客戶端. 2.2.2web元件包括:servlet和jsf元件,servlet實質上是動態處理http請求和生成網頁的java類,jsf元件是基於jsf框架的元件,他可以實現像桌面應用一樣基於事件驅動web應用. 2.3業務元件:實現特定的業務邏輯操作,不直接與客戶打交道,包含EJB和Entity兩大類,javaEE支援兩種型別的EJB元件:Session Bean和Message-Driven Bean,EJB可以完成訊息驅動,遠端連線,分散式事務處理等複雜業務邏輯.Entity主要用來完成應用資料的持久化操作. 3通訊技術 3.1Internet協議:TCP/IP,HTTP1.1,SSL3.0. 3.2RMI是java的一組用於開發分散式應用的API. 3.3java訊息技術允許javaEE應用程式訪問企業訊息系統. 3.4郵件技術:java Mail API提供能進行電子郵件通訊的一套抽象類和介面. 4框架技術 4.1JSF是一種用於構建javaEEweb應用表現層的框架標準, 4.2JPA規範了java平臺下的持久化實現,提高可一致性.