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

打開(kāi)APP
userphoto
未登錄

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

開(kāi)通VIP
J2EE

因業(yè)務(wù)需要,“中科永聯(lián)”正式更名為“中程在線”,歡迎大家瀏覽新網(wǎng)站“中程在線信息產(chǎn)業(yè)培訓(xùn)網(wǎng)

中科永聯(lián)高級(jí)技術(shù)培訓(xùn)中心(www.itisedu.com

     J2EE(Java 2 Enterprise Edition)是建立在Java 2平臺(tái)上的企業(yè)級(jí)應(yīng)用的解決方案。J2EE技術(shù)的基礎(chǔ)便是Java 2平臺(tái),不但有J2SE平臺(tái)的所有功能,同時(shí)還提供了對(duì)EJBServlet,JSP,XML等技術(shù)的全面支持,其最終目標(biāo)是成為一個(gè)支持企業(yè)級(jí)應(yīng)用開(kāi)發(fā)的體系結(jié)構(gòu),簡(jiǎn)化企業(yè)解決方案的開(kāi)發(fā),部署和管理等復(fù)雜問(wèn)題。事實(shí)上,J2EE已經(jīng)成為企業(yè)級(jí)開(kāi)發(fā)的工業(yè)標(biāo)準(zhǔn)和首選平臺(tái)。

  J2EE并非一個(gè)產(chǎn)品,而是一系列的標(biāo)準(zhǔn)。市場(chǎng)上可以看到很多實(shí)現(xiàn)了J2EE的產(chǎn)品,如BEA WebLogic,IBM WebSphere以及開(kāi)源JBoss等等。

      J2EE,是sun公司提出的一個(gè)標(biāo)準(zhǔn),符合這個(gè)標(biāo)準(zhǔn)的產(chǎn)品叫"實(shí)現(xiàn)";其中你下載的sun公司的j2ee開(kāi)發(fā)包中就有一個(gè)這樣的"實(shí)現(xiàn)",而jboss,weblogic,websphere都是j2ee標(biāo)準(zhǔn)的一個(gè)"實(shí)現(xiàn)"。由于jboss,weblogic,websphere自身帶有j2ee的api,所以可以不使用sun的j2ee實(shí)現(xiàn)。

一. J2EE的概念

      目前,Java 2平臺(tái)有3個(gè)版本,它們是適用于小型設(shè)備和智能卡的Java 2平臺(tái)Micro版(Java 2 Platform Micro Edition,J2ME)、適用于桌面系統(tǒng)的Java 2平臺(tái)標(biāo)準(zhǔn)版(Java 2 Platform Standard Edition,J2SE)、適用于創(chuàng)建服務(wù)器應(yīng)用程序和服務(wù)的Java2平臺(tái)企業(yè)版(Java 2 Platform Enterprise Edition,J2EE)。

      J2EE是一種利用Java 2平臺(tái)來(lái)簡(jiǎn)化企業(yè)解決方案的開(kāi)發(fā)、部署和管理相關(guān)的復(fù)雜問(wèn)題的體系結(jié)構(gòu)。J2EE技術(shù)的基礎(chǔ)就是核心Java平臺(tái)或Java 2平臺(tái)的標(biāo)準(zhǔn)版,J2EE不僅鞏固了標(biāo)準(zhǔn)版中的許多優(yōu)點(diǎn),例如"編寫(xiě)一次、隨處運(yùn)行"的特性、方便存取數(shù)據(jù)庫(kù)JDBC API、CORBA技術(shù)以及能夠在Internet應(yīng)用中保護(hù)數(shù)據(jù)的安全模式等等,同時(shí)還提供了對(duì) EJB(Enterprise JavaBeans)、Java Servlets API、JSP(Java Server Pages)以及XML技術(shù)的全面支持。其最終目的就是成為一個(gè)能夠使企業(yè)開(kāi)發(fā)者大幅縮短投放市場(chǎng)時(shí)間的體系結(jié)構(gòu)。

      J2EE體系結(jié)構(gòu)提供中間層集成框架用來(lái)滿足無(wú)需太多費(fèi)用而又需要高可用性、高可靠性以及可擴(kuò)展性的應(yīng)用的需求。通過(guò)提供統(tǒng)一的開(kāi)發(fā)平臺(tái),J2EE降低了開(kāi)發(fā)多層應(yīng)用的費(fèi)用和復(fù)雜性,同時(shí)提供對(duì)現(xiàn)有應(yīng)用程序集成強(qiáng)有力支持,完全支持Enterprise JavaBeans,有良好的向?qū)еС执虬筒渴饝?yīng)用,添加目錄支持,增強(qiáng)了安全機(jī)制,提高了性能。

二. J2EE的優(yōu)勢(shì)

     J2EE為搭建具有可伸縮性、靈活性、易維護(hù)性的商務(wù)系統(tǒng)提供了良好的機(jī)制:
      保留現(xiàn)存的IT資產(chǎn): 由于企業(yè)必須適應(yīng)新的商業(yè)需求,利用已有的企業(yè)信息系統(tǒng)方面的投資,而不是重新制定全盤(pán)方案就變得很重要。這樣,一個(gè)以漸進(jìn)的(而不是激進(jìn)的,全盤(pán)否定的)方式建立在已有系統(tǒng)之上的服務(wù)器端平臺(tái)機(jī)制是公司所需求的。J2EE架構(gòu)可以充分利用用戶原有的投資,如一些公司使用的BEA Tuxedo、IBM CICS, IBM Encina,、Inprise VisiBroker 以及Netscape Application Server。這之所以成為可能是因?yàn)镴2EE擁有廣泛的業(yè)界支持和一些重要的'企業(yè)計(jì)算'領(lǐng)域供應(yīng)商的參與。每一個(gè)供應(yīng)商都對(duì)現(xiàn)有的客戶提供了不用廢棄已有投資,進(jìn)入可移植的J2EE領(lǐng)域的升級(jí)途徑。由于基于J2EE平臺(tái)的產(chǎn)品幾乎能夠在任何操作系統(tǒng)和硬件配置上運(yùn)行,現(xiàn)有的操作系統(tǒng)和硬件也能被保留使用。

      高效的開(kāi)發(fā): J2EE允許公司把一些通用的、很繁瑣的服務(wù)端任務(wù)交給中間件供應(yīng)商去完成。這樣開(kāi)發(fā)人員可以集中精力在如何創(chuàng)建商業(yè)邏輯上,相應(yīng)地縮短了開(kāi)發(fā)時(shí)間。高級(jí)中間件供應(yīng)商提供以下這些復(fù)雜的中間件服務(wù):

      狀態(tài)管理服務(wù) -- 讓開(kāi)發(fā)人員寫(xiě)更少的代碼,不用關(guān)心如何管理狀態(tài),這樣能夠更快地完成程序開(kāi)發(fā)。
      持續(xù)性服務(wù) -- 讓開(kāi)發(fā)人員不用對(duì)數(shù)據(jù)訪問(wèn)邏輯進(jìn)行編碼就能編寫(xiě)應(yīng)用程序,能生成更輕巧,與數(shù)據(jù)庫(kù)無(wú)關(guān)的應(yīng)用程序,這種應(yīng)用程序更易于開(kāi)發(fā)與維護(hù)。
      分布式共享數(shù)據(jù)對(duì)象CACHE服務(wù) -- 讓開(kāi)發(fā)人員編制高性能的系統(tǒng),極大提高整體部署的伸縮性。
      支持異構(gòu)環(huán)境: J2EE能夠開(kāi)發(fā)部署在異構(gòu)環(huán)境中的可移植程序。基于J2EE的應(yīng)用程序不依賴任何特定操作系統(tǒng)、中間件、硬件。因此設(shè)計(jì)合理的基于J2EE的程序只需開(kāi)發(fā)一次就可部署到各種平臺(tái)。這在典型的異構(gòu)企業(yè)計(jì)算環(huán)境中是十分關(guān)鍵的。J2EE標(biāo)準(zhǔn)也允許客戶訂購(gòu)與J2EE兼容的第三方的現(xiàn)成的組件,把他們部署到異構(gòu)環(huán)境中,節(jié)省了由自己制訂整個(gè)方案所需的費(fèi)用。
      可伸縮性: 企業(yè)必須要選擇一種服務(wù)器端平臺(tái),這種平臺(tái)應(yīng)能提供極佳的可伸縮性去滿足那些在他們系統(tǒng)上進(jìn)行商業(yè)運(yùn)作的大批新客戶?;贘2EE平臺(tái)的應(yīng)用程序可被部署到各種操作系統(tǒng)上。例如可被部署到高端UNIX與大型機(jī)系統(tǒng),這種系統(tǒng)單機(jī)可支持64至256個(gè)處理器。(這是NT服務(wù)器所望塵莫及的)J2EE領(lǐng)域的供應(yīng)商提供了更為廣泛的負(fù)載平衡策略。能消除系統(tǒng)中的瓶頸,允許多臺(tái)服務(wù)器集成部署。這種部署可達(dá)數(shù)千個(gè)處理器,實(shí)現(xiàn)可高度伸縮的系統(tǒng),滿足未來(lái)商業(yè)應(yīng)用的需要。
      穩(wěn)定的可用性: 一個(gè)服務(wù)器端平臺(tái)必須能全天候運(yùn)轉(zhuǎn)以滿足公司客戶、合作伙伴的需要。因?yàn)镮NTERNET是全球化的、無(wú)處不在的,即使在夜間按計(jì)劃停機(jī)也可能造成嚴(yán)重?fù)p失。若是意外停機(jī),那會(huì)有災(zāi)難性后果。J2EE部署到可靠的操作環(huán)境中,他們支持長(zhǎng)期的可用性。一些J2EE部署在WINDOWS環(huán)境中,客戶也可選擇健壯性能更好的操作系統(tǒng)如Sun Solaris、IBM OS/390。最健壯的操作系統(tǒng)可達(dá)到99.999%的可用性或每年只需5分鐘停機(jī)時(shí)間。這是實(shí)時(shí)性很強(qiáng)商業(yè)系統(tǒng)理想的選擇。

三. J2EE 的四層模型

      J2EE使用多層的分布式應(yīng)用模型,應(yīng)用邏輯按功能劃分為組件,各個(gè)應(yīng)用組件根據(jù)他們所在的層分布在不同的機(jī)器上。事實(shí)上,sun設(shè)計(jì)J2EE的初衷正是為了解決兩層模式(client/server)的弊端,在傳統(tǒng)模式中,客戶端擔(dān)當(dāng)了過(guò)多的角色而顯得臃腫,在這種模式中,第一次部署的時(shí)候比較容易,但難于升級(jí)或改進(jìn),可伸展性也不理想,而且經(jīng)?;谀撤N專(zhuān)有的協(xié)議――通常是某種數(shù)據(jù)庫(kù)協(xié)議。它使得重用業(yè)務(wù)邏輯和界面邏輯非常困難?,F(xiàn)在J2EE 的多層企業(yè)級(jí)應(yīng)用模型將兩層化模型中的不同層面切分成許多層。一個(gè)多層化應(yīng)用能夠?yàn)椴煌拿糠N服務(wù)提供一個(gè)獨(dú)立的層,以下是 J2EE 典型的四層結(jié)構(gòu):

      運(yùn)行在客戶端機(jī)器上的客戶層組件
      運(yùn)行在J2EE服務(wù)器上的Web層組件
      運(yùn)行在J2EE服務(wù)器上的業(yè)務(wù)邏輯層組件
      運(yùn)行在EIS服務(wù)器上的企業(yè)信息系統(tǒng)(Enterprise information system)層軟件

      J2EE應(yīng)用程序組件
      J2EE應(yīng)用程序是由組件構(gòu)成的.J2EE組件是具有獨(dú)立功能的軟件單元,它們通過(guò)相關(guān)的類(lèi)文件組裝成J2EE應(yīng)用程序,并與其他組件交互。J2EE說(shuō)明書(shū)中定義了以下的J2EE組件:
      應(yīng)用客戶端程序和applets是客戶層組件.
      Java Servlet和JavaServer Pages(JSP)是web層組件.
      Enterprise JavaBeans(EJB)是業(yè)務(wù)層組件.

      客戶層組件
      J2EE應(yīng)用程序可以是基于web方式的,也可以是基于傳統(tǒng)方式的.
      web 層組件J2EE web層組件可以是JSP 頁(yè)面或Servlets.按照J(rèn)2EE規(guī)范,靜態(tài)的HTML頁(yè)面和Applets不算是web層組件。

      正如下圖所示的客戶層那樣,web層可能包含某些 JavaBean 對(duì)象來(lái)處理用戶輸入,并把
輸入發(fā)送給運(yùn)行在業(yè)務(wù)層上的enterprise bean 來(lái)進(jìn)行處理。

      業(yè)務(wù)層組件
      業(yè)務(wù)層代碼的邏輯用來(lái)滿足銀行,零售,金融等特殊商務(wù)領(lǐng)域的需要,由運(yùn)行在業(yè)務(wù)層上的enterprise bean 進(jìn)行處理. 下圖表明了一個(gè)enterprise bean 是如何從客戶端程序接收數(shù)據(jù),進(jìn)行處理(如果必要的話), 并發(fā)送到EIS 層儲(chǔ)存的,這個(gè)過(guò)程也可以逆向進(jìn)行。

      有三種企業(yè)級(jí)的bean: 會(huì)話(session) beans, 實(shí)體(entity) beans, 和 消息驅(qū)動(dòng)(message-driven) beans. 會(huì)話bean 表示與客戶端程序的臨時(shí)交互. 當(dāng)客戶端程序執(zhí)行完后, 會(huì)話bean 和相關(guān)數(shù)據(jù)就會(huì)消失. 相反, 實(shí)體bean 表示數(shù)據(jù)庫(kù)的表中一行永久的記錄. 當(dāng)客戶端程序中止或服務(wù)器關(guān)閉時(shí), 就會(huì)有潛在的服務(wù)保證實(shí)體bean 的數(shù)據(jù)得以保存.消息驅(qū)動(dòng) bean 結(jié)合了會(huì)話bean 和 JMS的消息監(jiān)聽(tīng)器的特性, 允許一個(gè)業(yè)務(wù)層組件異步接收J(rèn)MS 消息.

      企業(yè)信息系統(tǒng)層
      企業(yè)信息系統(tǒng)層處理企業(yè)信息系統(tǒng)軟件包括企業(yè)基礎(chǔ)建設(shè)系統(tǒng)例如企業(yè)資源計(jì)劃 (ERP), 大型機(jī)事務(wù)處理, 數(shù)據(jù)庫(kù)系統(tǒng),和其它的遺留信息系統(tǒng). 例如,J2EE 應(yīng)用組件可能為了數(shù)據(jù)庫(kù)連接需要訪問(wèn)企業(yè)信息系統(tǒng)

      我們就J2EE的各種組件、服務(wù)和API,進(jìn)行更加詳細(xì)的闡述,看看在開(kāi)發(fā)不同類(lèi)型的企業(yè)級(jí)應(yīng)用時(shí),根據(jù)各自需求和目標(biāo)的不同,應(yīng)當(dāng)如何靈活使用并組合不同的組件和服務(wù)。

· Servlet

      Servlet是Java平臺(tái)上的CGI技術(shù)。Servlet在服務(wù)器端運(yùn)行,動(dòng)態(tài)地生成Web頁(yè)面。與傳統(tǒng)的CGI和許多其它類(lèi)似CGI的技術(shù)相比,Java Servlet具有更高的效率并更容易使用。對(duì)于Servlet,重復(fù)的請(qǐng)求不會(huì)導(dǎo)致同一程序的多次轉(zhuǎn)載,它是依靠線程的方式來(lái)支持并發(fā)訪問(wèn)的。

· JSP

      JSP(Java Server Page)是一種實(shí)現(xiàn)普通靜態(tài)HTML和動(dòng)態(tài)頁(yè)面輸出混合編碼的技術(shù)。從這一點(diǎn)來(lái)看,非常類(lèi)似Microsoft ASP、PHP等技術(shù)。借助形式上的內(nèi)容和外觀表現(xiàn)的分離,Web頁(yè)面制作的任務(wù)可以比較方便地劃分給頁(yè)面設(shè)計(jì)人員和程序員,并方便地通過(guò)JSP來(lái)合成。在運(yùn)行時(shí)態(tài),JSP將會(huì)被首先轉(zhuǎn)換成Servlet,并以Servlet的形態(tài)編譯運(yùn)行,因此它的效率和功能與Servlet相比沒(méi)有差別,一樣具有很高的效率。

· EJB

      EJB定義了一組可重用的組件:Enterprise Beans。開(kāi)發(fā)人員可以利用這些組件,像搭積木一樣建立分布式應(yīng)用。在裝配組件時(shí),所有的Enterprise Beans都需要配置到EJB服務(wù)器(一般的Weblogic、WebSphere等J2EE應(yīng)用服務(wù)器都是EJB服務(wù)器)中。EJB服務(wù)器作為容器和低層平臺(tái)的橋梁管理著EJB容器,并向該容器提供訪問(wèn)系統(tǒng)服務(wù)的能力。所有的EJB實(shí)例都運(yùn)行在EJB容器中。EJB容器提供了系統(tǒng)級(jí)的服務(wù),控制了EJB的生命周期。EJB容器為它的開(kāi)發(fā)人員代管了諸如安全性、遠(yuǎn)程連接、生命周期管理及事務(wù)管理等技術(shù)環(huán)節(jié),簡(jiǎn)化了商業(yè)邏輯的開(kāi)發(fā)。EJB中定義了三種Enterprise Beans:

◆ Session Beans

◆ Entity Beans

◆ Message-driven Beans

· JDBC

      JDBC(Java Database Connectivity,Java數(shù)據(jù)庫(kù)連接)API是一個(gè)標(biāo)準(zhǔn)SQL(Structured Query Language,結(jié)構(gòu)化查詢語(yǔ)言)數(shù)據(jù)庫(kù)訪問(wèn)接口,它使數(shù)據(jù)庫(kù)開(kāi)發(fā)人員能夠用標(biāo)準(zhǔn)Java API編寫(xiě)數(shù)據(jù)庫(kù)應(yīng)用程序。JDBC API主要用來(lái)連接數(shù)據(jù)庫(kù)和直接調(diào)用SQL命令執(zhí)行各種SQL語(yǔ)句。利用JDBC API可以執(zhí)行一般的SQL語(yǔ)句、動(dòng)態(tài)SQL語(yǔ)句及帶IN和OUT參數(shù)的存儲(chǔ)過(guò)程。Java中的JDBC相當(dāng)與Microsoft平臺(tái)中的ODBC(Open Database Connectivity)。

· JMS

      JMS(Java Message Service,Java消息服務(wù))是一組Java應(yīng)用接口,它提供創(chuàng)建、發(fā)送、接收、讀取消息的服務(wù)。JMS API定義了一組公共的應(yīng)用程序接口和相應(yīng)語(yǔ)法,使得Java應(yīng)用能夠和各種消息中間件進(jìn)行通信,這些消息中間件包括IBM MQ-Series、Microsoft MSMQ及純Java的SonicMQ。通過(guò)使用JMS API,開(kāi)發(fā)人員無(wú)需掌握不同消息產(chǎn)品的使用方法,也可以使用統(tǒng)一的JMS API來(lái)操縱各種消息中間件。通過(guò)使用JMS,能夠最大限度地提升消息應(yīng)用的可移植性。 JMS既支持點(diǎn)對(duì)點(diǎn)的消息通信,也支持發(fā)布/訂閱式的消息通信。

· JNDI

      由于J2EE應(yīng)用程序組件一般分布在不同的機(jī)器上,所以需要一種機(jī)制以便于組件客戶使用者查找和引用組件及資源。在J2EE體系中,使用JNDI(Java Naming and Directory Interface)定位各種對(duì)象,這些對(duì)象包括EJB、數(shù)據(jù)庫(kù)驅(qū)動(dòng)、JDBC數(shù)據(jù)源及消息連接等。JNDI API為應(yīng)用程序提供了一個(gè)統(tǒng)一的接口來(lái)完成標(biāo)準(zhǔn)的目錄操作,如通過(guò)對(duì)象屬性來(lái)查找和定位該對(duì)象。由于JNDI是獨(dú)立于目錄協(xié)議的,應(yīng)用還可以使用JNDI訪問(wèn)各種特定的目錄服務(wù),如LDAP、NDS和DNS等。

· JTA

      JTA(Java Transaction API)提供了J2EE中處理事務(wù)的標(biāo)準(zhǔn)接口,它支持事務(wù)的開(kāi)始、回滾和提交。同時(shí)在一般的J2EE平臺(tái)上,總提供一個(gè)JTS(Java Transaction Service)作為標(biāo)準(zhǔn)的事務(wù)處理服務(wù),開(kāi)發(fā)人員可以使用JTA來(lái)使用JTS。

· JCA

      JCA(J2EE Connector Architecture)是J2EE體系架構(gòu)的一部分,為開(kāi)發(fā)人員提供了一套連接各種企業(yè)信息系統(tǒng)(EIS,包括ERP、SCM、CRM等)的體系架構(gòu),對(duì)于EIS開(kāi)發(fā)商而言,它們只需要開(kāi)發(fā)一套基于JCA的EIS連接適配器,開(kāi)發(fā)人員就能夠在任何的J2EE應(yīng)用服務(wù)器中連接并使用它。基于JCA的連接適配器的實(shí)現(xiàn),需要涉及J2EE中的事務(wù)管理、安全管理及連接管理等服務(wù)組件。

· JMX

      JMX(Java Management Extensions)的前身是JMAPI。JMX致力于解決分布式系統(tǒng)管理的問(wèn)題。JMX是一種應(yīng)用編程接口、可擴(kuò)展對(duì)象和方法的集合體,可以跨越各種異構(gòu)操作系統(tǒng)平臺(tái)、系統(tǒng)體系結(jié)構(gòu)和網(wǎng)絡(luò)傳輸協(xié)議,開(kāi)發(fā)無(wú)縫集成的面向系統(tǒng)、網(wǎng)絡(luò)和服務(wù)的管理應(yīng)用。JMX是一個(gè)完整的網(wǎng)絡(luò)管理應(yīng)用程序開(kāi)發(fā)環(huán)境,它同時(shí)提供了廠商需要收集的完整的特性清單、可生成資源清單表格、圖形化的用戶接口;訪問(wèn)SNMP的網(wǎng)絡(luò)API;主機(jī)間遠(yuǎn)程過(guò)程調(diào)用;數(shù)據(jù)庫(kù)訪問(wèn)方法等。

· JAAS

      JAAS(Java Authentication and Authorization Service)實(shí)現(xiàn)了一個(gè)Java版本的標(biāo)準(zhǔn)Pluggable Authentication Module(PAM)的框架。JAAS可用來(lái)進(jìn)行用戶身份的鑒定,從而能夠可靠并安全地確定誰(shuí)在執(zhí)行Java代碼。同時(shí)JAAS還能通過(guò)對(duì)用戶進(jìn)行授權(quán),實(shí)現(xiàn)基于用戶的訪問(wèn)控制。

· JACC

      JACC(Java Authorization Service Provider Contract for Containers)在J2EE應(yīng)用服務(wù)器和特定的授權(quán)認(rèn)證服務(wù)器之間定義了一個(gè)連接的協(xié)約,以便將各種授權(quán)認(rèn)證服務(wù)器插入到J2EE產(chǎn)品中去。

· JAX-RPC

      通過(guò)使用JAX-RPC(Java API for XML-based RPC),已有的Java類(lèi)或Java應(yīng)用都能夠被重新包裝,并以Web Services的形式發(fā)布。JAX-RPC提供了將RPC參數(shù)(in/out)編碼和解碼的API,使開(kāi)發(fā)人員可以方便地使用SOAP消息來(lái)完成RPC調(diào)用。同樣,對(duì)于那些使用EJB(Enterprise JavaBeans)的商業(yè)應(yīng)用而言,同樣可以使用JAX-RPC來(lái)包裝成Web服務(wù),而這個(gè)Web Servoce的WSDL界面是與原先的EJB的方法是對(duì)應(yīng)一致的。JAX-RPC為用戶包裝了Web服務(wù)的部署和實(shí)現(xiàn),對(duì)Web服務(wù)的開(kāi)發(fā)人員而言,SOAP/WSDL變得透明,這有利于加速Web服務(wù)的開(kāi)發(fā)周期。

· JAXR

      JAXR(Java API for XML Registries)提供了與多種類(lèi)型注冊(cè)服務(wù)進(jìn)行交互的API。JAXR運(yùn)行客戶端訪問(wèn)與JAXR規(guī)范相兼容的Web Servcices,這里的Web Services即為注冊(cè)服務(wù)。一般來(lái)說(shuō),注冊(cè)服務(wù)總是以Web Services的形式運(yùn)行的。JAXR支持三種注冊(cè)服務(wù)類(lèi)型:JAXR Pluggable Provider、Registry-specific JAXR Provider、JAXR Bridge Provider(支持UDDI Registry和ebXML Registry/Repository等)。

· SAAJ

      SAAJ(SOAP with Attachemnts API for Java)是JAX-RPC的一個(gè)增強(qiáng),為進(jìn)行低層次的SOAP消息操縱提供了支持。

四. J2EE 的結(jié)構(gòu)

      這種基于組件,具有平臺(tái)無(wú)關(guān)性的J2EE 結(jié)構(gòu)使得J2EE 程序的編寫(xiě)十分簡(jiǎn)單,因?yàn)闃I(yè)務(wù)邏輯被封裝成可復(fù)用的組件,并且J2EE 服務(wù)器以容器的形式為所有的組件類(lèi)型提供后臺(tái)服務(wù). 因?yàn)槟悴挥米约洪_(kāi)發(fā)這種服務(wù), 所以你可以集中精力解決手頭的業(yè)務(wù)問(wèn)題.

      容器和服務(wù)

      容器設(shè)置定制了J2EE服務(wù)器所提供得內(nèi)在支持,包括安全,事務(wù)管理,JNDI(Java Naming and Directory Interface)尋址,遠(yuǎn)程連接等服務(wù),以下列出最重要的幾種服務(wù):

      J2EE安全(Security)模型可以讓你配置 web 組件或enterprise bean ,這樣只有被授權(quán)的用戶才能訪問(wèn)系統(tǒng)資源. 每一客戶屬于一個(gè)特別的角色,而每個(gè)角色只允許激活特定的方法。你應(yīng)在enterprise bean的布置描述中聲明角色和可被激活的方法。由于這種聲明性的方法,你不必編寫(xiě)加強(qiáng)安全性的規(guī)則。

      J2EE 事務(wù)管理(Transaction Management)模型讓你指定組成一個(gè)事務(wù)中所有方法間的關(guān)系,這樣一個(gè)事務(wù)中的所有方法被當(dāng)成一個(gè)單一的單元. 當(dāng)客戶端激活一個(gè)enterprise bean中的方法,容器介入一管理事務(wù)。因有容器管理事務(wù),在enterprise bean中不必對(duì)事務(wù)的邊界進(jìn)行編碼。要求控制分布式事務(wù)的代碼會(huì)非常復(fù)雜。你只需在布置描述文件中聲明enterprise bean的事務(wù)屬性,而不用編寫(xiě)并調(diào)試復(fù)雜的代碼。容器將讀此文件并為你處理此enterprise bean的事務(wù)。

      JNDI 尋址(JNDI Lookup)服務(wù)向企業(yè)內(nèi)的多重名字和目錄服務(wù)提供了一個(gè)統(tǒng)一的接口,這樣應(yīng)用程序組件可以訪問(wèn)名字和目錄服務(wù).

      J2EE遠(yuǎn)程連接(Remote Client Connectivity)模型管理客戶端和enterprise bean間的低層交互. 當(dāng)一個(gè)enterprise bean創(chuàng)建后, 一個(gè)客戶端可以調(diào)用它的方法就象它和客戶端位于同一虛擬機(jī)上一樣.

      生存周期管理(Life Cycle Management)模型管理enterprise bean的創(chuàng)建和移除,一個(gè)enterprise bean在其生存周期中將會(huì)歷經(jīng)幾種狀態(tài)。容器創(chuàng)建enterprise bean,并在可用實(shí)例池與活動(dòng)狀態(tài)中移動(dòng)他,而最終將其從容器中移除。即使可以調(diào)用enterprisebean的create及remove方法,容器也將會(huì)在后臺(tái)執(zhí)行這些任務(wù)。

五、企業(yè)級(jí)應(yīng)用示例

      下面我們通過(guò)假設(shè)一個(gè)企業(yè)應(yīng)用的J2EE實(shí)現(xiàn),來(lái)了解各種組件和服務(wù)的應(yīng)用。假設(shè)應(yīng)用對(duì)象是計(jì)算機(jī)產(chǎn)品的生產(chǎn)商/零售商的銷(xiāo)售系統(tǒng),這個(gè)銷(xiāo)售系統(tǒng)能夠通過(guò)自己的網(wǎng)站發(fā)布產(chǎn)品信息,同時(shí)也能將產(chǎn)品目錄傳送給計(jì)算機(jī)產(chǎn)品交易市場(chǎng)。銷(xiāo)售系統(tǒng)能夠在線接受訂單(來(lái)自自己的Web網(wǎng)站或者來(lái)自計(jì)算機(jī)產(chǎn)品交易市場(chǎng)),并隨后轉(zhuǎn)入內(nèi)部企業(yè)管理系統(tǒng)進(jìn)行相關(guān)的后續(xù)處理。

      參見(jiàn)圖1,這個(gè)企業(yè)應(yīng)用可以這種方式架構(gòu)。該企業(yè)應(yīng)用的核心是產(chǎn)品目錄管理和產(chǎn)品定購(gòu)管理這兩個(gè)業(yè)務(wù)邏輯,使用EJB加以實(shí)現(xiàn),并部署在EJB容器中。由于產(chǎn)品目錄和定購(gòu)信息都需要持久化,因此使用JDBC連接數(shù)據(jù)庫(kù),并使用JTA來(lái)完成數(shù)據(jù)庫(kù)存取事務(wù)。


圖1 J2EE應(yīng)用示例

      然后使用JSP/Servlet來(lái)實(shí)現(xiàn)應(yīng)用的Web表現(xiàn):在線產(chǎn)品目錄瀏覽和在線定購(gòu)。為了將產(chǎn)品目錄發(fā)送給特定的交易市場(chǎng),使用JMS實(shí)現(xiàn)異步的基于消息的產(chǎn)品目錄傳輸。為了使得更多的其它外部交易市場(chǎng)能夠集成產(chǎn)品目錄和定購(gòu)業(yè)務(wù),需要使用Web Services技術(shù)包裝商業(yè)邏輯的實(shí)現(xiàn)。由于產(chǎn)品定購(gòu)管理需要由公司內(nèi)部雇員進(jìn)行處理,因此需要集成公司內(nèi)部的用戶系統(tǒng)和訪問(wèn)控制服務(wù)以方便雇員的使用,使用JACC集成內(nèi)部的訪問(wèn)控制服務(wù),使用JNDI集成內(nèi)部的用戶目錄,并使用JAAS進(jìn)行訪問(wèn)控制。由于產(chǎn)品訂購(gòu)事務(wù)會(huì)觸發(fā)后續(xù)的企業(yè)ERP系統(tǒng)的相關(guān)操作(包括倉(cāng)儲(chǔ)、財(cái)務(wù)、生產(chǎn)等),需要使用JCA連接企業(yè)ERP。

      最后為了將這個(gè)應(yīng)用納入到企業(yè)整體的系統(tǒng)管理體系中去,使用Application Client架構(gòu)了一個(gè)管理客戶端(與其它企業(yè)應(yīng)用管理應(yīng)用部署在一臺(tái)機(jī)器上),并通過(guò)JMX管理這個(gè)企業(yè)應(yīng)用。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
高屋建瓴:Java EE7全局概覽及其標(biāo)準(zhǔn)構(gòu)件模塊架構(gòu)組成
java筆試題大匯總(二)
某高人整理的Java就業(yè)面試題大全【3】
J2EE的體系結(jié)構(gòu)
應(yīng)聘Java筆試時(shí)可能出現(xiàn)問(wèn)題及其答案(第二版part three)
JAVAEE5 VS JAVAEE6
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服