閱讀以下關(guān)于Web應(yīng)用系統(tǒng)架構(gòu)設(shè)計的敘述,在答題紙上回答問題1至問題3.
【說明】
某信息技術(shù)公司計劃開發(fā)一套在線投票系統(tǒng),用于為市場調(diào)研、信息調(diào)查和銷售反饋等業(yè)務(wù)提供服務(wù)。該系統(tǒng)計劃通過大量宣傳和獎品鼓勵的方式快速積累用戶,當用戶規(guī)模擴大到一定程度時,開始聯(lián)系相關(guān)企業(yè)提供信息服務(wù),并按照信息服務(wù)種類和用戶投票數(shù)量收取費用。
為了降低開發(fā)成本和提高開發(fā)效率,項目組經(jīng)過討論后決定采用輕量級Java EE開發(fā)框架設(shè)計系統(tǒng)應(yīng)用架構(gòu)。在應(yīng)用架構(gòu)設(shè)計中,除了滿足系統(tǒng)主要功能需求,還需要考慮的因素包括:
(1)項目開發(fā)采用MySQL數(shù)據(jù)庫存儲數(shù)據(jù),一但將來可能移植到其它數(shù)據(jù)庫平臺;
(2)系統(tǒng)開發(fā)過程中盡可能降低或者消除SQL語句開發(fā)的工作量;
(3)投票系統(tǒng)中數(shù)據(jù)之間的關(guān)系復(fù)雜,需要支持數(shù)據(jù)對象的聚合和繼承等關(guān)系。
項目組基于MVC模式設(shè)計出了投票系統(tǒng)的架構(gòu),包括表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)持久層和數(shù)據(jù)層。在具體討論數(shù)據(jù)持久層采用哪種技術(shù)方案時,老王建議采用成熟的Hibernate框架,小李則認為iBatis更加靈活,更適合作為投票系統(tǒng)數(shù)據(jù)持久層開發(fā)技術(shù)。
【問題1)(5分)
請用300以內(nèi)文字說明什么是數(shù)據(jù)持久層,使用數(shù)據(jù)持久層能夠為項目開發(fā)帶來哪些好處?
【問題2】(12分)
針對在線投票系統(tǒng)的實際應(yīng)用需求和要求,項目組應(yīng)選用哪種技術(shù)實現(xiàn)數(shù)據(jù)持久層?請用200字以內(nèi)文字說明其采用該技術(shù)的原因。
【問題3】(8分)
數(shù)據(jù)持久層是Web應(yīng)用系統(tǒng)框架中重要的組成部分,主流的數(shù)據(jù)持久層技術(shù)分別基于不同的技術(shù)方案,請在表5-1中(1)-(4)處分別根據(jù)(a)~(d)所列技術(shù)的方案類別填入其序號。
表5-1 數(shù)據(jù)持久層技術(shù)分類
(a) BMP, CMP
(b)iBatis/MyBatis
(c)SprmgJdbcTemplate
(d)TopLink,JDO,Hibernate