亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

解析J2EE應用體系

2019-11-18 12:32:02
字體:
來源:轉載
供稿:網友

  本文比較全面地介紹了與J2EE應用開發有關的各種基本概念,包括多層應用體系、容器、各種組件及其適用場合、J2EE基礎服務、J2EE客戶端類型等。
  J2EE多層應用體系
  J2EE可以理解為一個企業級的中間件體系或平臺,它把多種分散到網絡上的資源和應用連接起來,為構造和治理、運行可伸縮的企業級業務應用提供了一系列的應用組件和一個運行環境。從物理上看,J2EE環境可分布駐留到一個以上的服務器,單一的業務應用能夠以一組分布式組件的形式部署到網絡上的一個或者多個服務器。
  要理解J2EE,就必須把握下面幾個支撐起J2EE體系的核心概念:
  
  · J2EE n-tier應用體系:或稱為J2EE多層應用體系,J2EE平臺提供的基本應用架構。
  
  · J2EE應用組件:構造J2EE應用的基本軟件單元。
  
  · J2EE企業服務:可被J2EE應用組件調用的公共服務功能。
  
  · J2EE容器:J2EE組件的運行環境。
  
  J2EE中間件體系定義了四個獨立的層,應用軟件就構造在這個框架上,它們是:
  
  · 客戶層(Client tier)。
  
  · 表現邏輯層(PResentation logic tier)。
  
  · 業務邏輯層(Business logic tier)。
  
  · 企業信息系統層(EIS,Enterprise information systems tier)。
  如圖一所示:
   解析J2EE應用體系(圖一)
  圖一
  表現邏輯層和業務邏輯層屬于應用服務器領域。所謂應用服務器,也即J2EE平臺的具體實現。這四層中的每一層都可以在物理上分布到多個機器,即使同屬于應用服務器領域的表現邏輯層和業務邏輯層,也可以駐留在不同的應用服務器上。例如,在一個應用中,HTTP和表現邏輯的容器可以使用Sun公司的J2EE應用服務器iplanet,部署業務邏輯組件可以用BEA公司的J2EE應用服務器Weblogic。
  
  按照習慣,表現邏輯層總是與jsp容器相關,業務邏輯層總是與EJB容器相關。為便于理解,可以把J2EE多層體系中的“層”理解為一種概念實體,引入“層”這個概念是為了簡化設計;與此相對,把容器理解為一種物理性的軟件實體,容器的目標是為應用組件提供運行環境。
  
  不同層次的J2EE應用組件駐留在它們各自的運行環境中,這些運行環境就是J2EE術語所謂的容器。容器是遵從一定接口標準的產品,為J2EE組件提供了必需的底層基礎功能。按照J2EE標準編寫好應用組件之后,還要用廠商專有的部署工具把它們分別部署到各自的容器。J2EE標準定義了四種不同的容器:
  
  · Applet容器:運行和治理Applet。
  
  · 應用客戶端容器:運行和治理標準java應用客戶程序,包括Swing應用。
  
  · Web容器:運行和治理表現邏輯層的Servlet和JSP組件。
  
  · EJB容器:運行和治理業務邏輯層的EJB。
  
  為了提供靜態Html頁面服務,隨同Web容器提供一個HTTP Web服務器是很典型的做法,目前幾乎所有流行的J2EE應用服務器都有內建的HTTP Web服務器。
  
  一般地,容器提供的基礎功能包括內存治理、線程/同步機制、垃圾收集、可用性、可伸縮性、負載平衡和故障轉移等。容器必須實現的基本接口和功能由J2EE規范定義,但具體如何實現完全由容器廠商自己決定。因此,J2EE既確保了不同應用服務器之間的兼容性,又為各個廠商的專有代碼留下了自由空間。實際上,在中間件產業,各路廠商之所以得以施展各自神通,容器功不可沒。
  
  J2EE多層體系的思想在很大程度上受到了MVC設計模式的啟發和影響。所謂MVC,即Model-View-Controller,它是一種在復雜的應用系統中劃分和界定各個組件的職能和作用范圍的設計模式。在MVC設計模式中,Model即模型,是處理核心數據模型或實現核心應用功能的部分;View即視圖,主要與用戶界面有關,例如把處理結果提供給客戶端或其他應用。MVC設計模式認為這些不同的部分應該盡可能地相互獨立,它們之間的交互則由Controller(控制器)協調。
  
  例如,考慮一個在Internet上傳輸銀行帳戶信息的過程。按照MVC的設計思想,這個過程可以分割成四個獨立的任務:
  
  · 任務1:從瀏覽器啟動傳輸過程(View)。
  
  · 任務2:發出對帳戶傳輸操作的調用(Controller)。
  
  · 任務3:實際完成帳戶傳輸操作(業務過程或Model)。
  
  · 任務4:把傳輸狀態(成功或失?。╋@示給瀏覽器(View)。
  
  MVC認為核心業務過程(任務3)不應該做任何有關客戶端的假設,例如,它不能假定客戶端是一個瀏覽器,因為除了瀏覽器之外,其他的應用程序也應當能夠順利地調用核心業務過程;所有與客戶端直接相關的操作應當由View來完成。至于業務邏輯和表現邏輯的聯系和協調,則專門由Controller部分負責。
  
  J2EE體系建立在MVC設計思想的基礎上。很自然地,J2EE體系也鼓勵把業務邏輯從表現層分離出來,屬于Controller性質的代碼可以放在這兩個層的任意一個(或全部)。依靠于這種設計思想,J2EE為重用業務邏輯組件打開了廣闊的空間。
  J2EE應用組件
  J2EE標準定義了一個完善的應用組件框架,作為企業應用系統基本構造模塊的組件就建立在這個框架之上。幾乎所有的業務應用,從簡單的Web門戶到復雜的企業級分布式事務應用,都可以在此基礎上構造。
  J2EE組件框架只是一個以庫、類和接口形式提供的基礎架構,最終構成應用的業務邏輯和表現/控制邏輯要由建立在這個框架上的應用組件實現。以J2EE提供的標準應用組件Servlet為例,為具體的業務應用構造的Servlet總是建立在J2EE提供的基本Servlet接口之上,開發者可以調用各種Servlet包提供的基本庫和服務。許多系統級的服務都已經在這些庫中提供,例如操作HTTP輸入流讀取數據和寫入數據,只需直接調用即可。因此,我們把J2EE提供的組件基礎架構叫做應用框架(application Framework),把建立在應用框架之上的代碼叫做J2EE應用組件(Application Component)。
  
  如圖一所示,無論是客戶層、表現層還是業務邏輯層,都有相應的J2EE應用組件:
  
  · 客戶層:Applet,Javabean
  
  · 表現邏輯層:Servlet,JSP,Javabean
  
  · 業務邏輯層:EJB
  
  必須指出的是,除了上述J2EE組件之外,標準的Java類和Jar包也可以在所有這些層上很好地運行。在許多場合,我們可以找到代碼以普通Java類而不是J2EE組件狀態存在的情形。EIS即Enterprise Information System,它包含所有的企業后端資源,例如數據庫等。顯然,對于EIS資源,我們要做的只是從組件訪問它們,訪問細節則由J2EE企業服務解決,所以在EIS層沒有應用組件的位置。開發J2EE應用就是開發一種或者多種上述組件,然后把它們部署到各自的容器。
  
  組件的接口確保組件遵從一定的標準并向外界提供公用功能,從而為具有良好互操作性的J2EE環境提供了基礎。應用組件在各個層之間寬松結合,確保了組件互操作的靈活性和組件的可重用性。對于給定的業務情形,適當地選用和搭配各種應用組件是J2EE應用體系設計中一項富有藝術性的工作。由于組件的種類繁多,要想得到優質的代碼和表現出色的應用,就要有豐富的知識和經驗來確定組件的最佳搭配方案。對于每一種應用組件,J2EE明確定義了它在應用中應當擔負的角色,從而為合理設計應用體系提供了堅實的基礎。下面我們就來看看在應用服務器領域,各種組件的主要特點,請參見圖二。
  解析J2EE應用體系(圖二)
  圖二
  注重以下幾點:
  · Web容器和EJB容器是不同的,兩者相對獨立,可以是來自不同廠商的產品。這兩種容器都可以使用企業服務。也就是說,無論是Web容器的組件還是EJB,都可以訪問數據庫連接、email服務、目錄服務和消息服務。組件只能通過一個或者多個以驅動程序或適配器形式實現的企業服務訪問EIS資源。
  
  · 最好把所有應用組件頻繁調用的用戶自定義服務和庫集中到一個獨立的層。在圖二的J2EE模型中,用戶自定義的服務和庫被合并到“自定義組件庫”。這些庫由用戶自己開發,不屬于標準J2EE應用服務器的一部分,一般它們會隨著軟件項目的成熟而日漸豐富。例如,配置文件工具庫就是一個很好的例子:它根據指定的配置文件名字,打開該文件,然后以整數或字符串的形式返回指定的配置選項。
  
  · 另一種常見的現象是,開發者在J2EE提供的核心企業服務的基礎上編寫自定義的訪問例程。把這些自定義的服務訪問例程組織成一個單獨的“服務訪問庫”層是值得的。例如,假設我們在一個項目中用IBM的MQ Series作為消息系統。通常,我們會編寫一些在JMS基礎上訪問MQ Series服務的簡單API,例如給所有外發的消息加上企業標準的消息頭。這時,最好把這些服務整理成“服務訪問庫”層的公用API,并讓它們可被企業平臺的所有應用調用。簡而言之,服務訪問庫提供了J2EE API上的一層抽象,它們總是與特定的企業應用平臺密切相關。
  
  如前所述,在復雜的企業計算環境中,不同的J2EE組件應當擔負不同的角色。下面我們就來看看具體情況。
  
  Web容器組件:
  
  · Servlet
  
  Servlet是服務器端面向表現邏輯的組件,駐留在Web容器內。正如Applet擴展了瀏覽器的功能,Servlet擴展了Web服務器的功能——除了提供靜態HTML之外,Servlet還提供編程和生成動態內容的功能。
  
  Servlet能夠處理來自客戶端瀏覽器的請求,處理輸入參數,把處理結果以HTTP應答的形式發送到客戶端瀏覽器上顯示出來。例如,Servlet可用來開發基于Web的簡單認證系統,從客戶端瀏覽器接收用戶名字和密碼,處理請求,再發回認證通過或不通過的應答。
  
  除了接受來自

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久久久一区二区三区| 亚洲黄页视频免费观看| 黄色一区二区三区| 68精品国产免费久久久久久婷婷| 色综合久久久888| 国产一区二区在线免费视频| 亚洲精品99999| 91高清免费视频| 久久久人成影片一区二区三区| 亚洲色图综合网| 正在播放欧美视频| 欧美性生交xxxxxdddd| 色妞一区二区三区| 国产999在线观看| 亚洲性线免费观看视频成熟| 国产欧美一区二区三区久久人妖| 国产精品视频地址| 亚洲成人动漫在线播放| 日韩久久免费电影| 亚洲精品一区二区久| 日韩高清不卡av| 亚洲综合日韩在线| 欧美成人性生活| 庆余年2免费日韩剧观看大牛| 欧美亚洲成人精品| 91在线免费观看网站| 欧美色xxxx| 国精产品一区一区三区有限在线| 日本久久久久久| 国产精品嫩草视频| 97精品伊人久久久大香线蕉| 亚洲图片欧美午夜| 91久热免费在线视频| 成人国产精品一区| 久久综合久久美利坚合众国| 欧美成人在线影院| 一本大道久久加勒比香蕉| 色偷偷噜噜噜亚洲男人| 日韩电视剧免费观看网站| 日本成人精品在线| 日韩av色在线| 欧美日韩999| 成人欧美一区二区三区在线湿哒哒| 国产欧美一区二区三区久久人妖| 亚洲成人激情在线| 国产精品久久久久久影视| 欧美性精品220| 亚洲免费视频观看| 久久精品91久久久久久再现| 久久影院中文字幕| 亚洲精品乱码久久久久久按摩观| 日韩精品在线观看视频| 欧美视频不卡中文| 正在播放欧美一区| 国产高清在线不卡| 国产美女高潮久久白浆| 欧美放荡办公室videos4k| 国产精品va在线播放| 精品亚洲一区二区三区在线播放| 精品亚洲一区二区三区在线播放| 亚洲成年人在线| 国产精品视频内| 91色中文字幕| 国语自产偷拍精品视频偷| 欧美精品久久久久久久免费观看| 九九热精品在线| 久久亚洲精品成人| 久久久精品2019中文字幕神马| xvideos成人免费中文版| 久久久久久午夜| 国内精品久久影院| 中文精品99久久国产香蕉| 国产69精品久久久久99| 精品国模在线视频| 久久久亚洲精品视频| 91精品国产自产在线| 亚洲视频在线免费看| 91视频8mav| 亚洲天堂第二页| www.99久久热国产日韩欧美.com| 国产在线拍揄自揄视频不卡99| 国产精品美女主播| 欧美—级高清免费播放| 成人中文字幕+乱码+中文字幕| 亚洲欧美另类中文字幕| 久久久之久亚州精品露出| 色噜噜狠狠狠综合曰曰曰| 国产91精品在线播放| 九九热在线精品视频| 国产一区二区丝袜高跟鞋图片| 亚洲天堂网站在线观看视频| 国产男人精品视频| 国产欧美一区二区三区在线| 国内精品视频在线| 欧美韩日一区二区| 国产精品毛片a∨一区二区三区|国| 欧美性69xxxx肥| 亚洲精品一区二三区不卡| 国产色综合天天综合网| 欧美性猛交xxxx乱大交蜜桃| 色999日韩欧美国产| 欧美午夜片欧美片在线观看| 在线观看欧美成人| 97精品伊人久久久大香线蕉| 日韩av男人的天堂| 色久欧美在线视频观看| 国产欧美一区二区三区久久人妖| 欧美日韩国产限制| 久久久久久香蕉网| 在线成人一区二区| 日韩国产精品视频| 热久久美女精品天天吊色| 亚洲成人av片在线观看| 精品久久中文字幕| 国产精品偷伦一区二区| 成人黄色在线观看| 精品日本美女福利在线观看| 欧美日本黄视频| 亚洲男人天堂九九视频| 国产91久久婷婷一区二区| 69av在线播放| 日韩在线播放av| 中文字幕亚洲欧美日韩高清| 欧美日韩一区二区免费在线观看| 亚洲精品综合精品自拍| 亚洲国产一区二区三区在线观看| 国产亚洲美女精品久久久| 欧美福利视频在线观看| 亚洲午夜未满十八勿入免费观看全集| 色99之美女主播在线视频| 国内自拍欧美激情| 欧美成人国产va精品日本一级| 亚洲男人的天堂网站| 在线看国产精品| 国产欧洲精品视频| 欧美视频一二三| 亚洲国产精品大全| 久久成人这里只有精品| 国产欧美日韩精品丝袜高跟鞋| 国产精品一区二区三区毛片淫片| 成人免费午夜电影| 亚洲丝袜一区在线| 日韩一区二区欧美| 亚洲综合视频1区| 久久视频在线免费观看| 91天堂在线视频| 欧美xxxx18性欧美| 亚洲sss综合天堂久久| 亚洲欧美国产高清va在线播| 久久夜色精品国产| 欧美日韩精品国产| 欧美成人合集magnet| 97超碰国产精品女人人人爽| 国产欧美一区二区三区久久| 91久久久久久久| 在线观看亚洲视频| 蜜月aⅴ免费一区二区三区| 欧美成人手机在线| 九九热这里只有在线精品视| 精品久久久久久久久久久久久| 视频直播国产精品| 视频在线观看一区二区| 日韩欧美视频一区二区三区| 亚洲日本中文字幕免费在线不卡|