j2ee技術體系架構

J2EE是一套全然不同於傳統應用開發的技術架構,包含許多組件,主要可簡化且規範應用系統的開發與部署,進而提高可移植性、安全與再用價值。下面是小編整理的關於j2ee技術體系架構,歡迎大家參考!

j2ee技術體系架構

SOA 是一種分佈式的軟件模型。SOA 的主要組件包括 服務、動態發現和 消息。

服務是能夠通過網絡訪問的可調用例程。服務公開了一個接口契約,它定義了服務的行爲以及接受和返回的消息。術語 服務常與術語 提供者互換使用,後者專門用於表示提供服務的實體。

接口通常在公共註冊中心或者目錄中發佈,並在那裏按照所提供的不同服務進行分類,就像電話簿黃頁中列出的企業和電話號碼一樣。客戶(服務消費者)能夠根據不同的分類特徵通過動態查詢服務來查找特定的服務。這個過程被稱爲服務的 動態發現。

服務消費者或者客戶通過 消息來消費服務。因爲接口契約是獨立於平臺和語言的,消息通常用符合 XML 模式的 XML 文檔來構造。

  Web 服務作爲 SOA

Web 服務建立在開放標準和獨立於平臺的協議的基礎之上。Web 服務通過 HTTP 使用 SOAP(一種基於 XML 的協議),以便在服務提供者和消費者之間進行通信。服務通過 WSDL(Web Service Definition Language)定義的接口來公開,WSDL 的語義用 XML 定義。UDDI 是一種語言無關的協議,用於和註冊中心進行交互以及查找服務。所有這些特性都使得 Web 服務成爲開發 SOA 應用程序的優秀選擇。

使用 J2EE 1.4 平臺開發 SOA/Web 服務框架

1.4 版的 J2EE 平臺通過新的 JAX-RPC 1.1 API 提供了完整的 Web 服務支持,這種 API 支持基於 servlet 和企業 bean 的服務端點。JAX-RPC 1.1 基於 WSDL 和 SOAP 協議提供了與 Web 服務的互操作性。J2EE 1.4 平臺也支持 Web Services for J2EE 規範(JSR 921),後者定義了 Web 服務的'部署需求並利用了 JAX-RPC 編程模型。除了幾種 Web 服務 API 之外,J2EE 1.4 平臺還聲稱支持 WS-I Basic Profile 1.0。WS-I Basic Profile 標準讓 Web 服務克服了不同編程語言、操作系統和供應商平臺之間的障礙,從而使多種應用程序之間能夠交互(關於 WS-I 的更多信息,請參閱 參考資料部分。)

在 J2EE 1.4 下,Web 服務客戶可以通過兩種方式訪問 J2EE 應用程序。客戶可以訪問用 JAX-RPC API 創建的 Web 服務;在幕後 JAX-RPC 使用 servlet 來實現 Web 服務。Web 服務客戶也可以通過 bean 的服務端點接口訪問無狀態會話 bean。Web 服務客戶不能訪問其他類型的企業 beans。第二種選擇——公開無狀態 EJB 組件作爲 Web 服務——有很多優勢:

利用現有的業務邏輯和流程:在許多企業中,現有的業務邏輯可能已經使用 EJB 組件編寫,通過 Web 服務公開它可能是實現從外界訪問這些服務的最佳選擇。EJB 端點是一種很好的選擇,因爲它使業務邏輯和端點位於同一層上。

併發支持:作爲無狀態會話 bean 實現的 EJB 服務端點不必擔心多線程訪問,因爲 EJB 容器必須串行化對無狀態會話 bean 任何特定實例的請求。

對服務的安全訪問:企業 beans 允許在部署描述符中聲明不同方法級別的安全特性。方法級別角色被映射到實際的主體域(principal domain)。使用 EJB 組件作爲 Web 服務端點,把這種方法級別的安全性也帶給了 Web 服務客戶。

事務問題:EJB 服務端點在部署描述符規定的事務上下文中運行。容器處理事務,因此 bean 開發人員不需要編寫事務處理代碼。

可伸縮性:幾乎所有 EJB 容器都提供了對無狀態會話 bean 羣集的支持。因此當負載增加時,可以向羣集中增加機器,Web 服務請求可以定向到這些不同的服務器。通過把 Web 服務模型化爲 EJB 端點,可以使服務具有可伸縮性,並增強了可靠性。

池與資源管理:EJB 容器提供了無狀態會話 bean 池。這改進了資源利用和內存管理。通過把 Web 服務模型化爲 EJB 端點,這種特性很容易擴展,使 Web 服務能夠有效地響應多個客戶請求。