J2EE

J2EE

J2EE是一套全然不同於傳統套用開發的技術架構,包含許多組件,主要可簡化且規範套用系統的開發與部署,進而提高可移植性、安全與再用價值。J2EE核心是一組技術規範與指南,其中所包含的各類組件、服務架構及技術層次,均有共同的標準及規格,讓各種依循J2EE架構的不同平台之間,存在良好的兼容性,解決過去企業後端使用的信息產品彼此之間無法兼容,企業內部或外部難以互通的窘境。J2EE組件和“標準的” Java類的不同點在於:它被裝配在一個J2EE套用中,具有固定的格式並遵守J2EE規範,由J2EE伺服器對其進行管理。J2EE規範是這樣定義J2EE組件的:客戶端應用程式和applet是運行在客戶端的組件;Java Servlet和Java Server Pages (JSP) 是運行在伺服器端的Web組件;Enterprise Java Bean (EJB )組件是運行在伺服器端的業務組件。

基本信息

J2EE的概念

目前,Java2平台有3個版本,它們是適用於小型設備和智慧卡的Java2平台Micro版(Java2PlatformMicroEdition,J2ME)、適用於桌面系統的Java2平台標準版(Java2PlatformStandardEdition,J2SE)、適用於創建伺服器應用程式和服務的Java2平台企業版(Java2PlatformEnterpriseEdition,J2EE)。
J2EE是一種利用Java2平台來簡化企業解決方案的開發、部署和管理相關的複雜問題的體系結構。J2EE技術的基礎就是核心Java平台或Java2平台的標準版,J2EE不僅鞏固了標準版中的許多優點,例如"編寫一次、隨處運行"的特性、方便存取資料庫的JDBCAPI、CORBA技術以及能夠在Internet套用中保護數據的安全模式等等,同時還提供了對EJB(EnterpriseJavaBeans)、JavaServletsAPI、JSP(JavaServerPages)以及XML技術的全面支持。其最終目的就是成為一個能夠使企業開發者大幅縮短投放市場時間的體系結構。
J2EE體系結構提供中間層集成框架用來滿足無需太多費用而又需要高可用性、高可靠性以及可擴展性的套用的需求。通過提供統一的開發平台,J2EE降低了開發多層套用的費用和複雜性,同時提供對現有應用程式集成強有力支持,完全支持EnterpriseJavaBeans,有良好的嚮導支持打包和部署套用,添加目錄支持,增強了安全機制,提高了性能。

J2EE的優勢

J2EE為搭建具有可伸縮性、靈活性、易維護性的商務系統提供了良好的機制:
保留現存的IT資產:由於企業必須適應新的商業需求,利用已有的企業信息系統方面的投資,而不是重新制定全盤方案就變得很重要。這樣,一個以漸進的(而不是激進的,全盤否定的)方式建立在已有系統之上的伺服器端平台機制是公司所需求的。J2EE架構可以充分利用用戶原有的投資,如一些公司使用的BEATuxedo、IBMCICS,IBMEncina,、Inprisevisibroker以及NetscapeApplicationServer。這之所以成為可能是因為J2EE擁有廣泛的業界支持和一些重要的'企業計算'領域供應商的參與。每一個供應商都對現有的客戶提供了不用廢棄已有投資,進入可移植的J2EE領域的升級途徑。由於基於J2EE平台的產品幾乎能夠在任何作業系統和硬體配置上運行,現有的作業系統和硬體也能被保留使用。
高效的開發:J2EE允許公司把一些通用的、很繁瑣的服務端任務交給中間件供應商去完成。這樣開發人員可以集中精力在如何創建商業邏輯上,相應地縮短了開發時間。高級中間件供應商
提供以下這些複雜的中間件服務:
狀態管理服務--讓開發人員寫更少的代碼,不用關心如何管理狀態,這樣能夠更快地完成程式開發。
持續性服務--讓開發人員不用對數據訪問邏輯進行編碼就能編寫應用程式,能生成更輕巧,與資料庫無關的應用程式,這種應用程式更易於開發與維護。
分散式共享數據對象CACHE服務--讓開發人員編制高性能的系統,極大提高整體部署的伸縮性。
支持異構環境:J2EE能夠開發部署在異構環境中的可移植程式。基於J2EE的應用程式不依賴任何特定作業系統、中間件、硬體。因此設計合理的基於J2EE的程式只需開發一次就可部署到各種平台。這在典型的異構企業計算環境中是十分關鍵的。J2EE標準也允許客戶訂購與J2EE兼容的第三方的現成的組件,把他們部署到異構環境中,節省了由自己制訂整個方案所需的費用。
可伸縮性:企業必須要選擇一種伺服器端平台,這種平台應能提供極佳的可伸縮性去滿足那些在他們系統上進行商業運作的大批新客戶。基於J2EE平台的應用程式可被部署到各種作業系統上。例如可被部署到高端UNIX與大型機系統,這種系統單機可支持64至256個處理器。(這是NT伺服器所望塵莫及的)J2EE領域的供應商提供了更為廣泛的負載平衡策略。能消除系統中的瓶頸,允許多台伺服器集成部署。這種部署可達數千個處理器,實現可高度伸縮的系統,滿足未來商業套用的需要。
穩定的可用性:一個伺服器端平台必須能全天候運轉以滿足公司客戶、合作夥伴的需要。因為INTERNET是全球化的、無處不在的,即使在夜間按計畫停機也可能造成嚴重損失。若是意外停機,那會有災難性後果。J2EE部署到可靠的操作環境中,他們支持長期的可用性。一些J2EE部署在WINDOWS環境中,客戶也可選擇健壯性能更好的作業系統如SunSolaris、IBMOS/390。最健壯的作業系統可達到99.999%的可用性或每年只需5分鐘停機時間。這是實時性很強商業系統理想的選擇。

J2EE 的四層模型

J2EE使用多層的分散式套用模型,套用邏輯按功能劃分為組件,各個套用組件根據他們所在的層分布在不同的機器上。事實上,sun設計J2EE的初衷正是為了解決兩層模式(client/server)的弊端,在傳統模式中,客戶端擔當了過多的角色而顯得臃腫,在這種模式中,第一次部署的時候比較容易,但難於升級或改進,可伸展性也不理想,而且經常基於某種專有的協定�D�D通常是某種資料庫協定。它使得重用業務邏輯和界面邏輯非常困難。現在J2EE的多層企業級套用模型將兩層化模型中的不同層面切分成許多層。一個多層化套用能夠為不同的每種服務提供一個獨立的層,以下是J2EE典型的四層結構:
運行在客戶端機器上的客戶層組件
運行在J2EE伺服器上的Web層組件
運行在J2EE伺服器上的業務邏輯層組件
運行在EIS伺服器上的企業信息系統(Enterpriseinformationsystem)層軟體

J2EE 的四層模型J2EE 的四層模型

J2EE應用程式組件
J2EE應用程式是由組件構成的.J2EE組件是具有獨立功能的軟體單元,它們通過相關的類和檔案組裝成J2EE應用程式,並與其他組件互動。J2EE說明書中定義了以下的J2EE組件:
套用客戶端程式和applets是客戶層組件.
JavaServlet和JavaServerPages(JSP)是web層組件.
EnterpriseJavaBeans(EJB)是業務層組件.
客戶層組件
J2EE應用程式可以是基於web方式的,也可以是基於傳統方式的.
web層組件
J2EEweb層組件可以是JSP頁面或Servlets.按照J2EE規範,靜態的HTML頁面和Applets不算是web層組件。
正如下圖所示的客戶層那樣,web層可能包含某些JavaBean對象來處理用戶輸入,並把輸入傳送給運行在業務層上的enterprisebean來進行處理。

J2EE伺服器J2EE伺服器

業務層組件
業務層代碼的邏輯用來滿足銀行,零售,金融等特殊商務領域的需要,由運行在業務層上的enterprisebean進行處理.下圖表明了一個enterprisebean是如何從客戶端程式接收數據,進行處理(如果必要的話),並傳送到EIS層儲存的,這個過程也可以逆向進行。
有三種企業級的bean:會話(session)beans,實體(entity)beans,和訊息驅動(message-driven)beans.會話bean表示與客戶端程式的臨時互動.當客戶端程式執行完後,會話bean和相關數據就會消失.相反,實體bean表示資料庫的表中一行永久的記錄.當客戶端程式中止或伺服器關閉時,就會有潛在的服務保證實體bean的數據得以保存.訊息驅動bean結合了會話bean和JMS的訊息監聽器的特性,允許一個業務層組件異步接收JMS訊息.

J2EE伺服器J2EE伺服器

企業信息系統層
企業信息系統層處理企業信息系統軟體包括企業基礎建設系統例如企業資源計畫(ERP),大型機事務處理,資料庫系統,和其它的遺留信息系統.例如,J2EE套用組件可能為了資料庫連線需要訪問企業信息系統。

J2EE 的結構

這種基於組件,具有平台無關性的J2EE結構使得J2EE程式的編寫十分簡單,因為業務邏輯被封裝成可復用的組件,並且J2EE伺服器以容器的形式為所有的組件類型提供後台服務.因為你不用自己開發這種服務,所以你可以集中精力解決手頭的業務問題.
容器和服務
容器設定定製了J2EE伺服器所提供得內在支持,包括安全,事務管理,JNDI(JavaNamingandDirectoryInterface)定址,遠程連線等服務,以下列出最重要的幾種服務:
J2EE安全(Security)模型可以讓你配置web組件或enterprisebean,這樣只有被授權的用戶才能訪問系統資源.每一客戶屬於一個特別的角色,而每個角色只允許激活特定的方法。你應在enterprisebean的布置描述中聲明角色和可被激活的方法。由於這種聲明性的方法,你不必編寫加強安全性的規則。
J2EE事務管理(TransactionManagement)模型讓你指定組成一個事務中所有方法間的關係,這樣一個事務中的所有方法被當成一個單一的單元.當客戶端激活一個enterprisebean中的方法,容器介入一管理事務。因有容器管理事務,在enterprisebean中不必對事務的邊界進行編碼。要求控制分散式事務的代碼會非常複雜。你只需在布置描述檔案中聲明enterprisebean的事務屬性,而不用編寫並調試複雜的代碼。容器將讀此檔案並為你處理此enterprisebean的事務。
JNDI定址(JNDILookup)服務向企業內的多重名字和目錄服務提供了一個統一的接口,這樣應用程式組件可以訪問名字和目錄服務.
J2EE遠程連線(RemoteClientConnectivity)模型管理客戶端和enterprisebean間的低層互動.當一個enterprisebean創建後,一個客戶端可以調用它的方法就象它和客戶端位於同一虛擬機上一樣.
生存周期管理(LifeCycleManagement)模型管理enterprisebean的創建和移除,一個enterprisebean在其生存周期中將會歷經幾種狀態。容器創建enterprisebean,並在可用實例池與活動狀態中移動他,而最終將其從容器中移除。即使可以調用enterprisebean的create及remove方法,容器也將會在後台執行這些任務。
資料庫連線池(DatabaseConnectionPooling)模型是一個有價值的資源。獲取資料庫連線是一項耗時的工作,而且連線數非常有限。容器通過管理連線池來緩和這些問題。enterprisebean可從池中迅速獲取連線。在bean釋放連線之可為其他bean使用。
容器類型
J2EE套用組件可以安裝部署到以下幾種容器中去:
EJB容器管理所有J2EE應用程式中企業級bean的執行.enterprisebean和它們的容器運行在J2EE伺服器上.
Web容器管理所有J2EE應用程式中JSP頁面和Servlet組件的執行.Web組件和它們的容器運行在J2EE伺服器上.
應用程式客戶端容器管理所有J2EE應用程式中應用程式客戶端組件的執行.應用程式客戶端和它們的容器運行在J2EE伺服器上.
Applet容器是運行在客戶端機器上的web瀏覽器和Java外掛程式的結合.

容器容器

其他信息

J2EE核心是一組技術規範與指南,其中所包含的各類組件、服務架構及技術層次,均有共通的標準及規格,讓各種依循J2EE架構的不同平台之間,存在良好的兼容性,解決過去企業後端使用的信息產品彼此之間無法兼容,導致企業內部或外部難以互通的窘境。
在J2EE架構下,開發人員可依循規範基礎,進而開發企業級套用;而不同J2EE供貨商,同會支持不同J2EE版本內所擬定的標準,以確保不同J2EE平台與產品之間的兼容性。換言之,植基J2EE架構的套用系統,基本上可部署在不同的套用伺服器之上,無需或者只須要進行少量的代碼修改,即能大幅提高套用系統的可移植性(Portability)。
J2EE主由昇陽與IBM等廠商協同業界共同擬定而成的技術規範,以企業與企業之間的運算為導向的JAVA開發環境。J2EE架構定義各類不同組件,如Web Component、EJB Component…等,而各類組件可以再用(reuse),讓已開發完成的組件,或者是經由市面採購而得的組件,均能進一步組裝成不同的系統。
對於開發人員而言,只需要專注於各種套用系統的商業邏輯與架構設計,至於底層繁瑣的程式撰寫工作,可搭配不同的開發平台,以讓套用系統的開發與部署效率大幅提升。
J2EE的核心規範是 Enterprise Java Beans(EJBs)。EJB依照特性的不同,目前共分為三種,分別是Session Bean、Entity Bean,以及 Message Driven Bean 。其中 Session Bean 與Entity Bean 算是EJB的始祖,這兩種EJB規格在EJB 1.x版本推出時就已經存在,而Message Driven Bean則是出現在EJB 2.0的規格之中。
目前業界許多程式設計師,或者是網頁設計人員,多利用JSP/Servlet的便利性,進而在J2EE伺服器之上開發相關的套用,或是整合公司內部的各種資源。
Java 2平台依照套用領域的不同,共分為三大版本,分別是J2EE、標準版本J2SE(Java 2 Platform, Standard Edition)、微型版本J2ME(Java 2 Platform, Micro Edition),以及Java Card等。
從整體上講,J2EE是使用Java技術開發企業級套用的一種事實上的工業標準(Sun公司出於其自身利益的考慮,至今沒有將Java及其相關技術納入標準化組織的體系),它是Java技術不斷適應和促進企業級套用過程中的產物。Sun推出J2EE的目的是為了克服傳統Client/Server模式的弊病,迎合Browser/Server架構的潮流,為套用Java技術開發伺服器端套用提供一個平台獨立的、可移植的、多用戶的、安全的和基於標準的企業級平台,從而簡化企業套用的開發、管理和部署。J2EE是一個標準,而不是一個現成的產品。各個平台開發商按照J2EE規範分別開發了不同的J2EE套用伺服器,J2EE套用伺服器是J2EE企業級套用的部署平台。由於它們都遵循了J2EE規範,因此,使用J2EE技術開發的企業級套用可以部署在各種J2EE套用伺服器上。
為了推廣並規範化使用J2EE架構企業級套用的體系架構,Sun同時給出了一個建議性的J2EE套用設計模型:J2EE Blueprints。J2EE Blueprints提供了實施J2EE企業級套用的體系架構、設計模式和相關的代碼,通過套用J2EE Blueprints所描述的體系模型,能夠部分簡化架構企業級套用這項複雜的工作。J2EE Blueprints是開發人員設計和最佳化J2EE組件的基本原則,同時為圍繞開發工作進行職能分工給出了指導性策略,以幫助套用開發設計人員合理地分配技術資源。
J2EE組成了一個完整企業級套用的不同部分納入不同的容器(Container),每個容器中都包含若干組件(這些組件是需要部署在相應容器中的),同時各種組件都能使用各種J2EE Service/API。J2EE容器包括:
Web容器 伺服器端容器,包括兩種組件JSP和Servlet,JSP和Servlet都是Web伺服器的功能擴展,接受Web請求,返回動態的Web頁面。Web容器中的組件可使用EJB容器中的組件完成複雜的商務邏輯。
EJB容器 伺服器端容器,包含的組件為EJB(Enterprise JavaBeans),它是J2EE的核心之一,主要用於伺服器端的商業邏輯的實現。EJB規範定義了一個開發和部署分散式商業邏輯的框架,以簡化企業級套用的開發,使其較容易地具備可伸縮性、可移植性、分散式事務處理、多用戶和安全性等。
Applet容器 客戶端容器,包含的組件為Applet。Applet是嵌在瀏覽器中的一種輕量級客戶端,一般而言,僅當使用Web頁面無法充分地表現數據或套用界面的時候,才使用它。Applet是一種替代Web頁面的手段,我們僅能夠使用J2SE開發Applet,Applet無法使用J2EE的各種Service和API,這是為了安全性的考慮。
Application Client容器 客戶端容器,包含的組件為Application Client。Application Client相對Applet而言是一種較重量級的客戶端,它能夠使用J2EE的大多數Service和API。
通過這四個容器,J2EE能夠靈活地實現前面描述的企業級套用的架構。
在View部分,J2EE提供了三種手段:Web容器中的JSP(或Servlet)、Applet和Application Client,分別能夠實現面向瀏覽器的數據表現和面向桌面套用的數據表現。Web容器中的Servlet是實現Controller部分業務流程控制的主要手段;而EJB則主要針對Model部分的業務邏輯實現。至於與各種企業資源和企業級套用相連線,則是依靠J2EE的各種服務和API
在J2EE的各種服務和API中,JDBCJCA用於企業資源(各種企業信息系統和資料庫等)的連線,JAX-RPC、JAXRSAAJ則是實現Web Services和Web Services連線的基本支持。
J2EE的各種組件
我們就J2EE的各種組件、服務和API,進行更加詳細的闡述,看看在開發不同類型的企業級套用時,根據各自需求和目標的不同,應當如何靈活使用並組合不同的組件和服務。
· Servlet
Servlet是Java平台上的CGI技術。Servlet在伺服器端運行,動態地生成Web頁面。與傳統的CGI和許多其它類似CGI的技術相比,Java Servlet具有更高的效率並更容易使用。對於Servlet,重複的請求不會導致同一程式的多次轉載,它是依靠執行緒的方式來支持並發訪問的。
· JSP
JSP(Java Server Page)是一種實現普通靜態HTML和動態頁面輸出混合編碼的技術。從這一點來看,非常類似Microsoft ASP、PHP等技術。藉助形式上的內容和外觀表現的分離,Web頁面製作的任務可以比較方便地劃分給頁面設計人員和程式設計師,並方便地通過JSP來合成。在運行時態,JSP將會被首先轉換成Servlet,並以Servlet的形態編譯運行,因此它的效率和功能與Servlet相比沒有差別,一樣具有很高的效率。
· EJB
EJB定義了一組可重用的組件:Enterprise Beans。開發人員可以利用這些組件,像搭積木一樣建立分散式套用。在裝配組件時,所有的Enterprise Beans都需要配置到EJB伺服器(一般的Weblogic、WebSphere等J2EE套用伺服器都是EJB伺服器)中。EJB伺服器作為容器和低層平台的橋樑管理著EJB容器,並向該容器提供訪問系統服務的能力。所有的EJB實例都運行在EJB容器中。EJB容器提供了系統級的服務,控制了EJB的生命周期。EJB容器為它的開發人員代管了諸如安全性、遠程連線、生命周期管理及事務管理等技術環節,簡化了商業邏輯的開發。EJB中定義了三種Enterprise Beans:
Session beans
◆ Entity Beans
◆ Message-driven Beans
· JDBC
JDBC(Java Database Connectivity,Java資料庫連線)API是一個標準SQL(Structured Query Language,結構化查詢語言)資料庫訪問接口,它使資料庫開發人員能夠用標準Java API編寫資料庫應用程式。JDBC API主要用來連線資料庫和直接調用SQL命令執行各種SQL語句。利用JDBC API可以執行一般的SQL語句、動態SQL語句及帶IN和OUT參數的存儲過程。Java中的JDBC相當與Microsoft平台中的ODBC(Open Database Connectivity)。
· JMS
JMS(Java Message ServiceJava訊息服務)是一組Java套用接口,它提供創建、傳送、接收、讀取訊息的服務。JMS API定義了一組公共的應用程式接口和相應語法,使得Java套用能夠和各種訊息中間件進行通信,這些訊息中間件包括IBM MQ-Series、Microsoft MSMQ及純Java的SonicMQ。通過使用JMS API,開發人員無需掌握不同訊息產品的使用方法,也可以使用統一的JMS API來操縱各種訊息中間件。通過使用JMS,能夠最大限度地提升訊息套用的可移植性。 JMS既支持點對點的訊息通信,也支持發布/訂閱式的訊息通信。
· JNDI
由於J2EE應用程式組件一般分布在不同的機器上,所以需要一種機制以便於組件客戶使用者查找和引用組件及資源。在J2EE體系中,使用JNDI(Java Naming and Directory Interface)定位各種對象,這些對象包括EJB、資料庫驅動、JDBC數據源及訊息連線等。JNDI API為應用程式提供了一個統一的接口來完成標準的目錄操作,如通過對象屬性來查找和定位該對象。由於JNDI是獨立於目錄協定的,套用還可以使用JNDI訪問各種特定的目錄服務,如LDAP、NDS和DNS等。
· JTA
JTA(Java Transaction API)提供了J2EE中處理事務的標準接口,它支持事務的開始、回滾和提交。同時在一般的J2EE平台上,總提供一個JTS(Java Transaction Service)作為標準的事務處理服務,開發人員可以使用JTA來使用JTS。
· JCA
JCA(J2EE Connector Architecture)是J2EE體系架構的一部分,為開發人員提供了一套連線各種企業信息系統(EIS,包括ERP、SCM、CRM等)的體系架構,對於EIS開發商而言,它們只需要開發一套基於JCA的EIS連線適配器,開發人員就能夠在任何的J2EE套用伺服器中連線並使用它。基於JCA的連線適配器的實現,需要涉及J2EE中的事務管理、安全管理及連線管理等服務組件。
· JMX
JMX(Java Management Extensions)的前身是JMAPI。JMX致力於解決分散式系統管理的問題。JMX是一種套用編程接口、可擴展對象和方法的集合體,可以跨越各種異構作業系統平台、系統體系結構和網路傳輸協定,開發無縫集成的面向系統、網路和服務的管理套用。JMX是一個完整的網路管理應用程式開發環境,它同時提供了廠商需要收集的完整的特性清單、可生成資源清單表格、圖形化的用戶接口;訪問SNMP的網路API;主機間遠程過程調用;資料庫訪問方法等。
· JAAS
JAAS(Java Authentication and Authorization Service)實現了一個Java版本的標準Pluggable Authentication Module(PAM)的框架。JAAS可用來進行用戶身份的鑑定,從而能夠可靠並安全地確定誰在執行Java代碼。同時JAAS還能通過對用戶進行授權,實現基於用戶的訪問控制。
· JACC
JACC(Java Authorization Service Provider Contract for Containers)在J2EE套用伺服器和特定的授權認證伺服器之間定義了一個連線的協約,以便將各種授權認證伺服器插入到J2EE產品中去。
· JAX-RPC
通過使用JAX-RPC(Java API for XML-based RPC),已有的Java類或Java套用都能夠被重新包裝,並以Web Services的形式發布。JAX-RPC提供了將RPC參數(in/out)編碼和解碼的API,使開發人員可以方便地使用SOAP訊息來完成RPC調用。同樣,對於那些使用EJB(Enterprise JavaBeans)的商業套用而言,同樣可以使用JAX-RPC來包裝成Web服務,而這個Web Servoce的WSDL界面是與原先的EJB的方法是對應一致的。JAX-RPC為用戶包裝了Web服務的部署和實現,對Web服務的開發人員而言,SOAP/WSDL變得透明,這有利於加速Web服務的開發周期。
· JAXR
JAXR(Java API for XML Registries)提供了與多種類型註冊服務進行互動的API。JAXR運行客戶端訪問與JAXR規範相兼容的Web Servcices,這裡的Web Services即為註冊服務。一般來說,註冊服務總是以Web Services的形式運行的。JAXR支持三種註冊服務類型: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的一個增強,為進行低層次的SOAP訊息操縱提供了支持。
企業級套用示例
下面我們通過假設一個企業套用的J2EE實現,來了解各種組件和服務的套用。假設套用對象是計算機產品的生產商/零售商的銷售系統,這個銷售系統能夠通過自己的網站發布產品信息,同時也能將產品目錄傳送給計算機產品交易市場。銷售系統能夠線上接受訂單(來自自己的Web網站或者來自計算機產品交易市場),並隨後轉入內部企業管理系統進行相關的後續處理。
參見圖3,這個企業套用可以這種方式架構。該企業套用的核心是產品目錄管理和產品定購管理這兩個業務邏輯,使用EJB加以實現,並部署在EJB容器中。由於產品目錄和定購信息都需要持久化,因此使用JDBC連線資料庫,並使用JTA來完成資料庫存取事務。
圖3 J2EE套用示例
然後使用JSP/Servlet來實現套用的Web表現:線上產品目錄瀏覽和線上定購。為了將產品目錄傳送給特定的交易市場,使用JMS實現異步的基於訊息的產品目錄傳輸。為了使得更多的其它外部交易市場能夠集成產品目錄和定購業務,需要使用Web Services技術包裝商業邏輯的實現。由於產品定購管理需要由公司內部雇員進行處理,因此需要集成公司內部的用戶系統和訪問控制服務以方便雇員的使用,使用JACC集成內部的訪問控制服務,使用JNDI集成內部的用戶目錄,並使用JAAS進行訪問控制。由於產品訂購事務會觸發後續的企業ERP系統的相關操作(包括倉儲、財務、生產等),需要使用JCA連線企業ERP。
最後為了將這個套用納入到企業整體的系統管理體系中去,使用Application Client架構了一個管理客戶端(與其它企業套用管理套用部署在一台機器上),並通過JMX管理這個企業套用。

相關詞條

相關搜尋

熱門詞條

聯絡我們