国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設(shè)計 > 正文

詳解用J2EE架構(gòu)企業(yè)級應用

2019-11-18 12:25:37
字體:
供稿:網(wǎng)友

  企業(yè)級應用是指那些為商業(yè)組織、大型企業(yè)而創(chuàng)建并部署的解決方案及應用。這些大型企業(yè)級應用的結(jié)構(gòu)復雜,涉及的外部資源眾多、事務密集、數(shù)據(jù)量大、用戶數(shù)多,有較強的安全性考慮。
  
  當代的企業(yè)級應用決不可能是一個個的獨立系統(tǒng)。在企業(yè)中,一般都會部署多個彼此連接的、相互通過不同集成層次進行交互的企業(yè)級應用,同時這些應用又都有可能與其它企業(yè)的相關(guān)應用連接,從而構(gòu)成一個結(jié)構(gòu)復雜的、跨越Intranet和Internet的分布式企業(yè)應用群集。其中,連接企業(yè)內(nèi)部各種應用的技術(shù)稱為EAI(EnterPRise application Integration, 企業(yè)應用集成),而連接企業(yè)間各種應用的技術(shù)稱為B2BI(Business-To-Business Integration, 企業(yè)間集成),采用EAI、B2BI技術(shù)及早先的N層體系架構(gòu)就是當今企業(yè)級應用的最大特征。
  
  此外,作為企業(yè)級應用,其不但要有強大的功能,還要能夠滿足未來業(yè)務需求的變化,易于升級和維護。
  
  企業(yè)級應用架構(gòu)
  
  下面我們使用一個圖示來簡單地解析一下企業(yè)級應用的架構(gòu),見圖1。
  
 詳解用J2EE架構(gòu)企業(yè)級應用(圖一)

  
圖1 企業(yè)級應用的體系架構(gòu)

  
  這個體系架構(gòu)的主體是MVC架構(gòu)。MVC是Model/View/Control的縮寫。Model/View/Control是軟件設(shè)計的典型結(jié)構(gòu)。在這種設(shè)計結(jié)構(gòu)下,一個應用被分為三個部分:Model、View和Controller,每個部分負責不同的功能。Model是指對業(yè)務數(shù)據(jù)/信息的處理模塊,包括對業(yè)務數(shù)據(jù)的存取、加工、綜合等;View是指用戶界面,也就是面向用戶的數(shù)據(jù)表示;Controller則負責View和Model之間的流程控制,也就是完成兩個方向的動作:1.將用戶界面(View)的操作映射到具體的Model,以完成具體的業(yè)務邏輯;2. 將通過Model處理完的業(yè)務數(shù)據(jù)及時反應到用戶界面(View)上。
  
  MVC架構(gòu)使得應用程序的結(jié)構(gòu)更加清楚,通過將代碼按照層次劃分為業(yè)務邏輯/數(shù)據(jù)、用戶界面和應用流程控制這三個層次,增強代碼穩(wěn)定性。我們知道,對于Model、View、Controller這三部分功能來講,View的實現(xiàn)一般是由界面設(shè)計人員和界面程序員來完成,Model則是由業(yè)務邏輯程序員來完成,Controller則一般由負責整體控制的程序員來完成。Controller部分的代碼比較穩(wěn)定,一般會實現(xiàn)一個通用的架構(gòu);而Model則跟隨商務流程的變化而變化;View的更改則是隨著用戶需求的更改而更改。這種模塊功能的劃分有利于在代碼修改過程中進行模塊的隔離,而不需要把具有不同功能的代碼混雜在一起造成混亂。對于項目開發(fā)而言,有利于在項目小組內(nèi)按照小組成員各自的擅長進行分工,有利于三個部分并行開發(fā)、加快項目進度。
  
  企業(yè)級資源連接
  
  對于Model部分,也就是業(yè)務邏輯的處理部分,一般總是對商務數(shù)據(jù)進行處理、加工、綜合等。對于企業(yè)級應用而言,商務數(shù)據(jù)有兩種來源,一種是數(shù)據(jù)庫,另一種則是其它的企業(yè)級應用系統(tǒng)。
  
  對于數(shù)據(jù)庫而言,這應當是大家熟悉的領(lǐng)域。我們通過使用數(shù)據(jù)庫驅(qū)動程序,利用SQL來查詢、操縱數(shù)據(jù)庫。而對于其它的企業(yè)級應用而言,一般這些應用都會提供API,通過這些API,其它的應用就能夠存取訪問其中的數(shù)據(jù),甚至是觸發(fā)這些企業(yè)級應用中的一些業(yè)余流程。
  
  企業(yè)級平臺的特征
  
  企業(yè)級應用需要使用優(yōu)秀的企業(yè)級應用體系結(jié)構(gòu),而優(yōu)秀的企業(yè)級應用體系結(jié)構(gòu)通常來自于優(yōu)秀的解決方案。應用程序設(shè)計開始就要考慮其體系結(jié)構(gòu)的合理性、靈活性、健壯性,從而既可滿足企業(yè)級應用的復雜需求,也能為今后系統(tǒng)的調(diào)整和升級留有余地。體系結(jié)構(gòu)影響了整個應用的生命周期,實際上能夠延長整個應用的生命周期,同時增強了用戶在多變的商業(yè)社會中的適應性,減少了系統(tǒng)維護的開銷和難度,從而給用戶帶來最大的利益。
  
  一個理想的企業(yè)級應用系統(tǒng)平臺應該具有如下特征:
  
  ◆ 部署、開發(fā)和維護的有效性;
  
  ◆ 系統(tǒng)運行的健壯性和可靠性;
  
  ◆ 具備失敗恢復的能力;
  
  ◆ 能夠處理海量的數(shù)據(jù);
  
  ◆ 能夠同時支持數(shù)百個用戶;
  
  ◆ 具備很高的安全性;
  
  ◆ 數(shù)據(jù)的高可用性;
  
  ◆ 可以迅速地開發(fā)和部署新的應用程序;
  
  ◆ 簡化組件重用;
  
  ◆ 直觀的編程模型;
  
  ◆ 支持行業(yè)標準和通用編程接口;
  
  ◆ 適用與小、中、大各種規(guī)模的應用系統(tǒng);
  
  ◆ 系統(tǒng)費用隨系統(tǒng)規(guī)模的增長而線性增長;
  
  ◆ 不斷進行技術(shù)升級,以滿足不斷涌現(xiàn)的需求。
  
  使用J2EE架構(gòu)企業(yè)級應用
  
  為了滿足架構(gòu)企業(yè)級應用的需求,java的創(chuàng)始人Sun公司在早期的J2SE(Java 2 Platform Standard Edition)基礎(chǔ)上,針對企業(yè)級應用的各種需求,主導并創(chuàng)造了J2EE(Java 2 Platform Enterprise Edition)。
  
  那么到底什么是J2EE呢?從整體上講,J2EE是使用Java技術(shù)開發(fā)企業(yè)級應用的一種事實上的工業(yè)標準(Sun公司出于其自身利益的考慮,至今沒有將Java及其相關(guān)技術(shù)納入標準化組織的體系),它是Java技術(shù)不斷適應和促進企業(yè)級應用過程中的產(chǎn)物。目前,Java平臺有三個版本:適用于小型設(shè)備和智能卡的J2ME(Java 2 Platform Micro Edition)、適用于桌面系統(tǒng)的J2SE和適用于企業(yè)級應用的J2EE。Sun推出J2EE的目的是為了克服傳統(tǒng)Client/Server模式的弊病,迎合Browser/Server架構(gòu)的潮流,為應用Java技術(shù)開發(fā)服務器端應用提供一個平臺獨立的、可移植的、多用戶的、安全的和基于標準的企業(yè)級平臺,從而簡化企業(yè)應用的開發(fā)、治理和部署。J2EE是一個標準,而不是一個現(xiàn)成的產(chǎn)品。各個平臺開發(fā)商按照J2EE規(guī)范分別開發(fā)了不同的J2EE應用服務器,J2EE應用服務器是J2EE企業(yè)級應用的部署平臺。由于它們都遵循了J2EE規(guī)范,因此,使用J2EE技術(shù)開發(fā)的企業(yè)級應用可以部署在各種J2EE應用服務器上。
  
  為了推廣并規(guī)范化使用J2EE架構(gòu)企業(yè)級應用的體系架構(gòu),Sun同時給出了一個建議性的J2EE應用設(shè)計模型:J2EE Blueprints。J2EE Blueprints提供了實施J2EE企業(yè)級應用的體系架構(gòu)、設(shè)計模式和相關(guān)的代碼,通過應用J2EE Blueprints所描述的體系模型,能夠部分簡化架構(gòu)企業(yè)級應用這項復雜的工作。J2EE Blueprints是開發(fā)人員設(shè)計和優(yōu)化J2EE組件的基本原則,同時為圍繞開發(fā)工作進行職能分工給出了指導性策略,以幫助應用開發(fā)設(shè)計人員合理地分配技術(shù)資源。
  
  下面我們參照J2EE Blueprints,結(jié)合最新版的J2EE規(guī)范(J2EE 1.4),從整體上闡述如何使用J2EE架構(gòu)企業(yè)級應用。
  
 詳解用J2EE架構(gòu)企業(yè)級應用(圖二)

  
圖2 使用J2EE架構(gòu)企業(yè)級應用的體系架構(gòu)

  
  圖2給出了使用J2EE架構(gòu)企業(yè)級應用的體系架構(gòu)。J2EE將組成一個完整企業(yè)級應用的不同部分納入不同的容器(Container),每個容器中都包含若干組件(這些組件是需要部署在相應容器中的),同時各種組件都能使用各種J2EE Service/API。J2EE容器包括:
  ◆ Web容器 服務器端容器,包括兩種組件jsp和Servlet,JSP和Servlet都是Web服務器的功能擴展,接受Web請求,返回動態(tài)的Web頁面。Web容器中的組件可使用EJB容器中的組件完成復雜的商務邏輯。
  
  ◆ EJB容器 服務器端容器,包含的組件為EJB(Enterprise JavaBeans),它是J2EE的核心之一,主要用于服務器端的商業(yè)邏輯的實現(xiàn)。EJB規(guī)范定義了一個開發(fā)和部署分布式商業(yè)邏輯的框架,以簡化企業(yè)級應用的開發(fā),使其較輕易地具備可伸縮性、可移植性、分布式事務處理、多用戶和安全性等。
  
  ◆ Applet容器 客戶端容器,包含的組件為Applet。Applet是嵌在瀏覽器中的一種輕量級客戶端,一般而言,僅當使用Web頁面無法充分地表現(xiàn)數(shù)據(jù)或應用界面的時候,才使用它。Applet是一種替代Web頁面的手段,我們僅能夠使用J2SE開發(fā)Applet,Applet無法使用J2EE的各種Service和API,這是為了安全性的考慮。
  
  ◆ Application Client容器 客戶端容器,包含的組件為Application Client。Application Client相對Applet而言是一種較重量級的客戶端,它能夠使用J2EE的大多數(shù)Service和API。
  
  通過這四個容器,J2EE能夠靈活地實現(xiàn)前面描述的企業(yè)級應用的架構(gòu)。
  
  在View部分,J2EE提供了三種手段:Web容器中的JSP(或Servlet)、Applet和Application Client,分別能夠?qū)崿F(xiàn)面向瀏覽器的數(shù)據(jù)表現(xiàn)和面向桌面應用的數(shù)據(jù)表現(xiàn)。Web容器中的Servlet是實現(xiàn)Controller部分業(yè)務流程控制的主要手段;而EJB則主要針對Model部分的業(yè)務邏輯實現(xiàn)。至于與各種企業(yè)資源和企業(yè)級應用相連接,則是依靠J2EE的各種服務和API。
  
  在J2EE的各種服務和API中,JDBC和JCA用于企業(yè)資源(各種企業(yè)信息系統(tǒng)和數(shù)據(jù)庫等)的連接,JAX-RPC、JAXR和SAAJ則是實現(xiàn)Web Services和Web Services連接的基本支持。
  
  J2EE的各種組件
  
  我們就J2EE的各種組件、服務和API,進行更加具體的闡述,看看在開發(fā)不同類型的企業(yè)級應用時,根據(jù)各自需求和目標的不同,應當如何靈活使用并組合不同的組件和服務。
  
  · Servlet
  
  Servlet是Java平臺上的CGI技術(shù)。Servlet在服務器端運行,動態(tài)地生成Web頁面。與傳統(tǒng)的CGI和許多其它類似CGI的技術(shù)相比,Java Servlet具有更高的效率并更輕易使用。對于Servlet,重復的請求不會導致同一程序的多次轉(zhuǎn)載,它是依靠線程的方式來支持并發(fā)訪問的。
  
  · JSP
  
  JSP(Java Server Page)是一種實現(xiàn)普通靜態(tài)Html和動態(tài)頁面輸出混合編碼的技術(shù)。從這一點來看,非常類似Microsoft aspphp等技術(shù)。借助形式上的內(nèi)容和外觀表現(xiàn)的分離,Web頁面制作的任務可以比較方便地劃分給

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 安福县| 阜新市| 肃南| 临湘市| 阿城市| 县级市| 龙门县| 原平市| 枣庄市| 文昌市| 固始县| 崇礼县| 从化市| 城口县| 临潭县| 肇州县| 安义县| 宜君县| 申扎县| 克山县| 郁南县| 阿坝县| 阳西县| 张家港市| 林州市| 济宁市| 稷山县| 美姑县| 浠水县| 南陵县| 阿鲁科尔沁旗| 开江县| 安远县| 盐亭县| 新源县| 凤阳县| 宁夏| 互助| 萨迦县| 蓝山县| 台前县|