Java企業(yè)應(yīng)用系統(tǒng)框架的比較與選擇
來源:易賢網(wǎng) 閱讀:659 次 日期:2015-04-15 14:30:16
溫馨提示:易賢網(wǎng)小編為您整理了“Java企業(yè)應(yīng)用系統(tǒng)框架的比較與選擇”,方便廣大網(wǎng)友查閱!

目前流行的Java企業(yè)應(yīng)用系統(tǒng)框架種類繁多,為了使開發(fā)人員正確選擇系統(tǒng)架構(gòu)從而提高Java企業(yè)應(yīng)用的開發(fā)效率,首先針對基于EJB和基于POJOs的較為流行的幾種框架分別進行了概述,然后對這些框架從表現(xiàn)層、業(yè)務(wù)邏輯層和持久層的實現(xiàn)細節(jié)進行了對比,總結(jié)了Java企業(yè)應(yīng)用系統(tǒng)框架選擇需要側(cè)重考慮因素,得到了基于EJB的框架和基于POJOs的框架分別適用的范圍。

EJB的體系結(jié)構(gòu)是J2EE的基礎(chǔ)和核心,J2EE定義了整個標(biāo)準(zhǔn)的應(yīng)用開發(fā)體系結(jié)構(gòu)和一個部署環(huán)境,基于EJB的框架一度成為人們開發(fā)Java企業(yè)應(yīng)用的首選。隨著Java開源項目陣營的發(fā)展壯大, 一些基于POJOs(Plan Old Java Objects)的開源框架被越來越廣泛地引入到Java企業(yè)應(yīng)用的開發(fā)中來。根據(jù)復(fù)雜程度人們習(xí)慣把前者稱為重量級框架,把后者稱為輕量級框架。Java企業(yè)應(yīng)用框架一般被劃分為三個層次:表現(xiàn)層、業(yè)務(wù)邏輯組件層和持久層。本文主要對目前企業(yè)應(yīng)用對應(yīng)于這三個層次的兩種類型的流行框架進行了細節(jié)比較,最后針對Java企業(yè)應(yīng)用的系統(tǒng)框架選擇提出作者的觀點。

兩種類型框架概述

1、基于EJB的重量級框架

由于 EJB容器能夠很好的處理系統(tǒng)性能、事務(wù)機制、安全訪問權(quán)限以及分布式運算等問題,基于EJB框架進行開發(fā)能保證企業(yè)應(yīng)用平滑發(fā)展,而不是發(fā)展到一種規(guī)模就重新更換一套軟件系統(tǒng),且可以保證開發(fā)人員將大部份精力集中在業(yè)務(wù)邏輯的開發(fā)上。采用EJB框架開發(fā)的企業(yè)應(yīng)用具有必須繼承或依賴EJB容器的特點。EJB充分考慮到了頂級大型項目的需求,使用它幾乎能解決企業(yè)級應(yīng)用涉及到的所有問題,相應(yīng)的基于EJB框架也是一個功能復(fù)雜的重量級框架。

J2EE1.4標(biāo)準(zhǔn)規(guī)定的EJB 2.1框架缺少設(shè)計且實現(xiàn)起來有些過于復(fù)雜。當(dāng)前J2EE5.0的新規(guī)范提出的EJB 3.0的目標(biāo)就是簡化開發(fā)[1],借鑒了一些基于POJO的思想,它相對于EJB2.1中兩個重要的變化分別是:一是使用了Java5中的程序注釋工具,注釋取代了過多的XML配置文件并且消除了嚴格組件模型需求;二是采用了基于Hibernate和TopLink思想的O/R Mapping模型。

J2EE5.0的新規(guī)范中定義企業(yè)應(yīng)用三個層次的標(biāo)準(zhǔn)實現(xiàn)為:表現(xiàn)層采用JSF(Java Server Face),JSF的開發(fā)流程的核心是事件驅(qū)動,組件和標(biāo)簽的封裝程度非常高,很多典型應(yīng)用已經(jīng)不需要開發(fā)者去處理http。整個過程是通過IoC(依賴注入)[2]來實現(xiàn)的;業(yè)務(wù)組件層采用EJB3.0的Session Bean。EJB3.0允許開發(fā)者使用藕合松散的組件來開發(fā)應(yīng)用。這些組件通過自己發(fā)布的商業(yè)接口來耦合,不必像EJB 2.1規(guī)范定義的那樣一個Bean必須遵守的嚴格的組件模型,每一個EJB類必須從某一種抽象類中繼承,并為容器提供了回調(diào)的鉤子;持久層采用EJB3.0實體Bean持久化模型,吸收了Hibernate的一些思想采用O/R Mapping模式, EJBQL也有許多重要的改變。

2、基于POJOs的輕量級框架

在基于POJOs輕量級框架上開發(fā)的應(yīng)用程序無需依賴于EJB容器可獨立運行,對應(yīng)于Java企業(yè)應(yīng)用三個層次的輕量級框架技術(shù)分別都得到了一定的發(fā)展,這三個層次流行的框架如下:

目前比較流行的開源表現(xiàn)層框架主要有Struts和Tapestry。Tapestry與Struts應(yīng)用框架不同的是,它是基于組件,而不是面向腳本語言(比如JSP和Velocity)的,組件是由一個定義文件(以XML的格式)、一個HTML模板、一個JAVA類構(gòu)成的;業(yè)務(wù)組件層輕量級解決方案也不少,包括Spring、Hivemind等。但是目前使用最為廣泛的還是Spring框架,Spring框架是一個基于IoC和AOP(面向方面)[3]的構(gòu)架。采用IoC使得它可以很容易的實現(xiàn)bean的裝配,提供了簡潔的AOP并據(jù)此實現(xiàn)事務(wù)管理等,但是它不具備處理應(yīng)用分布式的能力。Spring的核心要點是:支持不綁定到特定J2EE服務(wù)的可重用業(yè)務(wù)和數(shù)據(jù)訪問對象。這樣的對象可以在不同J2EE環(huán)境(Web或EJB)、獨立應(yīng)用程序、測試環(huán)境之間重用;持久層框主要有Hibernate和各種JDO產(chǎn)品,以及iBATIS。Hibernate是一個開源的O/R Mapping框架,它對JDBC進行了非常輕量級的對象封裝,可以應(yīng)用在任何使用JDBC的場合,可以在應(yīng)用EJB的J2EE框架中取代CMP,完成數(shù)據(jù)持久化的重任。iBATIS是一個簡易的SQL Map工具,它是將手工編寫的在xml配置文件中的SQL語句映射成Java對象。

更多信息請查看IT技術(shù)專欄

更多信息請查看網(wǎng)絡(luò)編程
易賢網(wǎng)手機網(wǎng)站地址:Java企業(yè)應(yīng)用系統(tǒng)框架的比較與選擇
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

2025國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報警專用圖標(biāo)