- 相關(guān)推薦
j2ee技術(shù)體系架構(gòu)
J2EE是一套全然不同于傳統(tǒng)應(yīng)用開發(fā)的技術(shù)架構(gòu),包含許多組件,主要可簡(jiǎn)化且規(guī)范應(yīng)用系統(tǒng)的開發(fā)與部署,進(jìn)而提高可移植性、安全與再用價(jià)值。下面是小編整理的關(guān)于j2ee技術(shù)體系架構(gòu),歡迎大家參考!
SOA 是一種分布式的軟件模型。SOA 的主要組件包括 服務(wù)、動(dòng)態(tài)發(fā)現(xiàn)和 消息。
服務(wù)是能夠通過網(wǎng)絡(luò)訪問的可調(diào)用例程。服務(wù)公開了一個(gè)接口契約,它定義了服務(wù)的行為以及接受和返回的消息。術(shù)語 服務(wù)常與術(shù)語 提供者互換使用,后者專門用于表示提供服務(wù)的實(shí)體。
接口通常在公共注冊(cè)中心或者目錄中發(fā)布,并在那里按照所提供的不同服務(wù)進(jìn)行分類,就像電話簿黃頁(yè)中列出的企業(yè)和電話號(hào)碼一樣?蛻(服務(wù)消費(fèi)者)能夠根據(jù)不同的分類特征通過動(dòng)態(tài)查詢服務(wù)來查找特定的服務(wù)。這個(gè)過程被稱為服務(wù)的 動(dòng)態(tài)發(fā)現(xiàn)。
服務(wù)消費(fèi)者或者客戶通過 消息來消費(fèi)服務(wù)。因?yàn)榻涌谄跫s是獨(dú)立于平臺(tái)和語言的,消息通常用符合 XML 模式的 XML 文檔來構(gòu)造。
Web 服務(wù)作為 SOA
Web 服務(wù)建立在開放標(biāo)準(zhǔn)和獨(dú)立于平臺(tái)的協(xié)議的基礎(chǔ)之上。Web 服務(wù)通過 HTTP 使用 SOAP(一種基于 XML 的協(xié)議),以便在服務(wù)提供者和消費(fèi)者之間進(jìn)行通信。服務(wù)通過 WSDL(Web Service Definition Language)定義的接口來公開,WSDL 的語義用 XML 定義。UDDI 是一種語言無關(guān)的協(xié)議,用于和注冊(cè)中心進(jìn)行交互以及查找服務(wù)。所有這些特性都使得 Web 服務(wù)成為開發(fā) SOA 應(yīng)用程序的優(yōu)秀選擇。
使用 J2EE 1.4 平臺(tái)開發(fā) SOA/Web 服務(wù)框架
1.4 版的 J2EE 平臺(tái)通過新的 JAX-RPC 1.1 API 提供了完整的 Web 服務(wù)支持,這種 API 支持基于 servlet 和企業(yè) bean 的服務(wù)端點(diǎn)。JAX-RPC 1.1 基于 WSDL 和 SOAP 協(xié)議提供了與 Web 服務(wù)的互操作性。J2EE 1.4 平臺(tái)也支持 Web Services for J2EE 規(guī)范(JSR 921),后者定義了 Web 服務(wù)的部署需求并利用了 JAX-RPC 編程模型。除了幾種 Web 服務(wù) API 之外,J2EE 1.4 平臺(tái)還聲稱支持 WS-I Basic Profile 1.0。WS-I Basic Profile 標(biāo)準(zhǔn)讓 Web 服務(wù)克服了不同編程語言、操作系統(tǒng)和供應(yīng)商平臺(tái)之間的障礙,從而使多種應(yīng)用程序之間能夠交互(關(guān)于 WS-I 的更多信息,請(qǐng)參閱 參考資料部分。)
在 J2EE 1.4 下,Web 服務(wù)客戶可以通過兩種方式訪問 J2EE 應(yīng)用程序?蛻艨梢栽L問用 JAX-RPC API 創(chuàng)建的 Web 服務(wù);在幕后 JAX-RPC 使用 servlet 來實(shí)現(xiàn) Web 服務(wù)。Web 服務(wù)客戶也可以通過 bean 的服務(wù)端點(diǎn)接口訪問無狀態(tài)會(huì)話 bean。Web 服務(wù)客戶不能訪問其他類型的企業(yè) beans。第二種選擇——公開無狀態(tài) EJB 組件作為 Web 服務(wù)——有很多優(yōu)勢(shì):
利用現(xiàn)有的業(yè)務(wù)邏輯和流程:在許多企業(yè)中,現(xiàn)有的業(yè)務(wù)邏輯可能已經(jīng)使用 EJB 組件編寫,通過 Web 服務(wù)公開它可能是實(shí)現(xiàn)從外界訪問這些服務(wù)的最佳選擇。EJB 端點(diǎn)是一種很好的選擇,因?yàn)樗箻I(yè)務(wù)邏輯和端點(diǎn)位于同一層上。
并發(fā)支持:作為無狀態(tài)會(huì)話 bean 實(shí)現(xiàn)的 EJB 服務(wù)端點(diǎn)不必?fù)?dān)心多線程訪問,因?yàn)?EJB 容器必須串行化對(duì)無狀態(tài)會(huì)話 bean 任何特定實(shí)例的請(qǐng)求。
對(duì)服務(wù)的安全訪問:企業(yè) beans 允許在部署描述符中聲明不同方法級(jí)別的安全特性。方法級(jí)別角色被映射到實(shí)際的主體域(principal domain)。使用 EJB 組件作為 Web 服務(wù)端點(diǎn),把這種方法級(jí)別的安全性也帶給了 Web 服務(wù)客戶。
事務(wù)問題:EJB 服務(wù)端點(diǎn)在部署描述符規(guī)定的事務(wù)上下文中運(yùn)行。容器處理事務(wù),因此 bean 開發(fā)人員不需要編寫事務(wù)處理代碼。
可伸縮性:幾乎所有 EJB 容器都提供了對(duì)無狀態(tài)會(huì)話 bean 群集的支持。因此當(dāng)負(fù)載增加時(shí),可以向群集中增加機(jī)器,Web 服務(wù)請(qǐng)求可以定向到這些不同的服務(wù)器。通過把 Web 服務(wù)模型化為 EJB 端點(diǎn),可以使服務(wù)具有可伸縮性,并增強(qiáng)了可靠性。
池與資源管理:EJB 容器提供了無狀態(tài)會(huì)話 bean 池。這改進(jìn)了資源利用和內(nèi)存管理。通過把 Web 服務(wù)模型化為 EJB 端點(diǎn),這種特性很容易擴(kuò)展,使 Web 服務(wù)能夠有效地響應(yīng)多個(gè)客戶請(qǐng)求。
【j2ee技術(shù)體系架構(gòu)】相關(guān)文章:
J2EE的13種核心技術(shù)08-31
j2ee是什么10-26
j2ee與java的區(qū)別04-01
j2ee學(xué)習(xí)筆記心得08-29
如何成為優(yōu)秀的系統(tǒng)架構(gòu)師08-30
Adobe認(rèn)證考試體系10-28
戲劇的體系形式與流派12-21
IBM的人才發(fā)展體系03-20