999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

“全國中小學教育技術裝備網絡管理系統”研發技術報告(四)

2007-01-01 00:00:00唐華云張瑞華馮石寶
中國教育技術裝備 2007年4期

4系統的技術實現

在本文的系統構架與分層設計中,已經清楚地闡述了系統的總體技術構架與分層設計,下面就實現框架的具體技術展開敘述。

4.1表現層框架實現技術-STRUTS

STRUTS作為一種比較優秀的MVC模式實現框架技術應用已久,STRUTS框架技術主要的實現目的在于:①實現顯示層、控制層、業務層的分離;②攔截用戶的業務請求,代理業務邏輯層的業務功能,并將結果組織返回給客戶;③組織和控制頁面的流轉。如前文中圖(圖3-2 MVC三層結構圖) 和(圖3-3:Struts的處理序列圖)所描述,下面我們舉例來說明相應的實現:

1) 配置WEB.XML文件

WEB.XML主要配置STRUTS 的CONGFIG文件注入以及相應的TAG 文件配置,如圖1:

圖1 WEB.XML配置STRUTS示例

2) 配置struts-config.xml文件

struts-config.xml主要配置ACTION FORM 與ACTION 之間的對應關系以及JSP頁面提交表單到ACTION的對應,如下例:

圖2 struts-config.xml配置示例

3) LOGIN.JSP頁面代碼實例

根據以上配置所示:客戶從登錄頁面:LOGIN.JSP 登錄提交表單,可以看到相應的表單為LoginForm,相應的處理ACTION為 loginFormAction;那么LOGIN.JSP頁面代碼如圖3

圖3 login.jsp代碼示例

4)LoginFormAction代碼實例

loginFormAction截取JSP客戶端提交的請求信息以后,開始調用相應的業務邏輯層中的業務處理類來進行相應的客戶驗證等業務操作,然后根據返回的結果進行相應的頁面跳轉;如下例:

圖4 LoginFormAction代碼示例

4.2業務層框架實現技術-SPRING

表現層(Action)在獲取客戶端請求以后,開始調用業務邏輯層所提供的公開接口來處理用戶的請求。這樣,用戶請求數據在表現層經過數據驗證、過濾、包裝以后開始通過將客戶請求數據打包成數據傳遞對象(DT0)給業務邏輯層進行業務邏輯處理。本系統的業務邏輯層實現框架為SPRING,以下就接上面例子繼續給出SPRING的實現實例圖5:

1) SPRING基礎內容文件的配置

圖5 SPRING基礎配置文件示例

2)SPRING的AOP與IOC技術

IOC: IOC也即反轉控制,其基本的原理是反向將BEAN從配置文件中依賴注入,由容器來生成和管理其生命周期,其最大的優點在于最大程度地實現代碼之間的松散耦合。SPRING中的Core 封裝包是框架的最基礎部分,提供IOC和依賴注入特性。這里的基礎概念是BeanFactory,它提供對Factory模式的經典實現來消除對程序性單例模式的需要,并真正地允許你從程序邏輯中分離出依賴關系和配置。構建于Core封裝包基礎上的 Context封裝包,提供了一種框架式的對象訪問方法,有些象JNDI注冊器。Context封裝包的特性得自于Beans封裝包,并添加了對國際化(I18N)的支持(例如資源綁定),事件傳播,資源裝載的方式和Context的透明創建,比如說通過Servlet容器。參考(圖4-1:SPRING IOC容器)

AOP:Spring的 AOP 封裝包提供了符合 AOP Alliance規范的面向方面的編程(aspect-oriented programming)實現,讓你可以定義,例如方法攔截器(method-interceptors)和切點(pointcuts),從邏輯上講,從而減弱代碼的功能耦合,清晰的被分離開。而且,利用source-level的元數據功能,還可以將各種行為信息合并到你的代碼中,這有點像.Net的attribute的概念。

在Spring中,bean就是由Spring容器初始化、裝配及被管理的對象。org.springframework.beans.factory.BeanFactory是Spring IOC容器的實際代表者,IoC容器負責容納此前所描述的bean,并對bean進行管理。在Spring中,BeanFactory是IOC容器的核心接口。它的職責包括:實例化、定位、配置應用程序中的對象及建立這些對象間的依賴。Spring為我們提供了許多易用的BeanFactory實現,XmlBeanFactory就是最常用的一個。該實現將以XML方式描述組成應用的對象以及對象間的依賴關系。XmlBeanFactory類將持有此XML配置元數據,并用它來構建一個完全可配置的系統或應用。

圖6 SPRING IOC容器

從圖6可以看到,Spring IOC容器將讀取配置元數據;并通過它對應用中各個對象進行實例化、配置以及組裝。通常情況下我們使用簡單直觀的XML來作為配置元數據的描述格式。在XML配置元數據中我們可以對那些我們希望通過Spring IOC容器管理的bean進行定義。

那么在本例中請參考(例4-4:SPRING基礎配置文件示例)對相應的bean的定義。接下來就是如何在代碼中實現對BEAN的實例化。Spring IOC容器的實例化非常簡單,如圖7:

圖7 獲取SPRING基礎配置文件bean的base action文件

4.3持久層框架實現技術-HIBERNATE與IBATIS

本系統數據持久層的采用的技術主要有HIBERNATE 和IBATIS,通過上文對SPRING基礎的配置,SPRING業務框架類基本上實現了數據持久層需要獲得支持的事務控制類和其他相關幫助實體。通過對SPRING框架組合,持久層的DAO實體需要實現的就更加清晰:僅僅主要關注業務SQL語句的編寫就可以,其他比如事務控制、數據庫連接、連接池管理就交給SPRING框架容器去管理了。下面我們以IBATIS中的配置為例來解釋一下數據持久層的實現。

1) SQL MAP 文件的配置

SQL MAP 文件主要定義用戶SQL方法定義文件的映射, 利用SQL MAP 可以實現將sql語句和相應的方法寫作XML文件中,而不要象傳統的JDBC程序,寫在java代碼中。

2) 具體的SQL 文件的配置

具體的SQL 文件主要實現SQL語句的編寫和方法、參數的說明,具體的用法如下例:

以LoginQuery.xml為例, 其中主要定義了查詢結果ResultMap 節點 , Insert節點 ,Select 節點, Update 節點,以及Delete節點. SQL MAP文件實現了代碼與數據庫操作的分離, 使得系統更具靈活性, 這與傳統的JDBC數據編碼方式有著根本的區別。如圖8示:

圖8 LoginQuery.xml SQL配置文件實例

3)代碼中調用SQL MAP 實現數據持久化

根據上述SPRING對IBITAS的配置以及IBATIS SQL 映射文件的配置, 我們可以輕松地在代碼層中實現對數據的持久化,極大地提升了系統的擴展性、柔韌性、靈活性以及松耦合性。利用SPRING框架提供的方法,程序員幾乎可以在零編碼狀態下實現對數據的持久化。如圖9示。

圖9 LoginDaoImpl數據持久代碼文件實例

至此我們不難總結從用戶發出請求的JSP頁面開始到SPRING 調用相應的DAO實現數據持久層的操作,這一整個業務流程的實現其實是非常清晰的,我們來看看這個例子的技術實現流程:圖10所示可以清晰地表達本系統處理業務流程的技術實現,以用戶登錄為一個典型例子:1 用戶瀏覽頁面LOGIN.JSP,填寫用戶帳戶以及密碼 2 JSP頁面提交用戶請求 3基于STRUTS的ACTION 類截取用戶請求, ACTION請求調用基于SPRING框架的SERVICE類 4 SERVICE類相應ACTION請求 ,調用 數據持久層的相應DAO實例 5數據持久層框架IBATIS通過相應的DAO實例,訪問目標數據庫系統6 將獲取的用戶信息返回給SPRING中的SERVICE對象 7 SERVICE對象將用戶信息返回給ACTION 8 ACTION 獲取用戶信息比較客戶端提交過來的表單信息,根據比較結果的異同,分派跳轉下一個處理頁面 9 用戶獲取驗證結果,進入下一頁面流程。詳細請看下面流程圖示:

圖10 用戶登錄序列圖

基于篇幅本文不再對數據傳輸實現技術(WEB SERVICE)和報表統計分析實現技術(JREPORT和JFreeChart)進行展開敘述。

5總結與展望

項目總結的目的和意義不僅僅在于總結經驗教訓、防止犯同樣的錯誤、評估項目團隊、為持續開發積累技術經驗和原始數據,而且也會對其他項目和企業的項目管理體系建設和項目文化起到不可或缺的作用。那么以此為目的讓我們分別從項目管理、技術選型這兩個方面來分析和總結一下本次項目的開發經驗和教訓。

5.1 項目管理

常言“三分技術,七分管理”,此話言不為過。完善科學的項目管理體系是一切項目成功的基礎和必要的條件。本項目從項目的發起、項目的前期調查期間就科學地制定了項目管理的七個基本管理計劃:項目范圍計劃、項目進度計劃、項目成本計劃、項目質量計劃、項目團隊計劃、項目風險計劃。根據項目的特點和團隊自身的條件,有效采用XP快速開發模式并建立起核心項目管理體系:在項目范圍計劃制定和實施中,我們時刻保持與客戶的良好溝通并且每一個重要的、具體的需求確定都經過與客戶的多次討論并經權威教育領域專家肯定,以保證項目需求的正確性和完備性,從而有效地限定了項目的范圍,明確應該作什么和不應該作什么。為了能保證按時交付符合需求的產品,項目組制定了嚴格的進度計劃并劃分了科學的里程碑式階段任務,每個階段定義了明確的階段任務和要達到的目標,避免、杜絕出現大而空、不可控、不切實際的任務進度。在項目成本、范圍、時間和質量控制中,項目組采用了科學的時間、成本、范圍的質量三角形理論,時間、成本、范圍作為組成三角形的三條邊(可以表達為:F(a,b,c)=d,a、b、c、d分別為時間、成本、范圍、質量),項目質量是三角形的面積,這樣三個因素互相制約、互相平衡,在動態變化中和限定條件下追求三角形面積(項目質量)的最大值。在風險管理中,無時不刻地給項目成員灌輸引發項目風險的各種因素,通過頭腦風暴法、模型分析法來預測風險發生的可能性并制定完備的風險應對手冊。

通過對上述七個方面的項目計劃管理,有效地保證了項目在非技術層面的按時、按量、按質地進展并最終獲得了項目的預期成果和市場的一致認可。

5.2 技術選型

一個項目的好壞固然跟很多因素有關,但是正確、先進的技術實現卻是成功項目的堅實基礎。信息技術的發展是一日千里,確實不能要求我們時時刻刻利用最新的技術、最新的設備和環境,但是技術的模型、實現的模式和構架思想卻是能夠存在很長時間甚至有時如同藝術品一樣可以成為永恒的經典。因此一個成熟、成功的系統應該具有很強的擴展性、松散的耦合性和無縫的集成性,所以從一開始規劃設計項目的時候,從技術選型上我們就看得比較遠:在需求建模階段我們采用了業界比較領先的領域模型驅動(Domain Model Driver),解決了用戶需求捕獲的問題,明確和定義了項目的問題集;在系統建模和技術分析階段,我們采用了面向服務的體系結構(SOA)和基于J2EE、Struts、Spring、Hibernate/IBitas的分層框架技術,有效地解決復雜的業務邏輯問題,成功地構建了一個擴展性強、靈活度高、復用性好的軟件系統。

通過理性、科學的技術選型和熟練地應用各種主流開發技術,從技術層面上我們提供了一份解決實際問題的滿意的答卷,為系統的順利實施和穩定地運行奠定了基礎。

5.3 持續改進

在特定條件、有限的資源和存在客戶需求差異性的情況下,在項目的實施過程中我們也看到了很多的問題和需要持續改進的地方:①教學儀器配標各地的差異化;②各地學校基礎設施和人員素質的參差不齊;③開發過程的CMM標準流程化;④團隊建設和持續開發能力的培養等等,這一切都是我們需要面對和未來需要解決的問題。

主站蜘蛛池模板: 国产亚洲成AⅤ人片在线观看| 午夜精品久久久久久久2023| 欧美全免费aaaaaa特黄在线| 国产成年无码AⅤ片在线| 一级片免费网站| 91久久天天躁狠狠躁夜夜| 欧美伊人色综合久久天天| 亚洲av综合网| 国产剧情伊人| 无套av在线| 5555国产在线观看| 国产爽妇精品| 日韩无码一二三区| 亚洲国产高清精品线久久| 欧美日韩中文字幕二区三区| 911亚洲精品| 欧美性久久久久| 国产欧美成人不卡视频| 欧美成人在线免费| 永久成人无码激情视频免费| 欧美精品色视频| 99久久这里只精品麻豆| 天天色综网| 婷婷六月在线| 久久网欧美| 欧美精品高清| 国产精品亚洲精品爽爽| 久久精品娱乐亚洲领先| 国产婬乱a一级毛片多女| 亚洲AV无码不卡无码| 国产精品自拍露脸视频| 久久国产av麻豆| 91久久性奴调教国产免费| 最新日韩AV网址在线观看| 国产精品无码一二三视频| 欧洲极品无码一区二区三区| www.亚洲一区| 久草视频一区| 在线视频亚洲色图| 国产黄色免费看| 亚洲国产欧美国产综合久久| 青青草原偷拍视频| 国产一区二区三区在线观看视频| 思思热在线视频精品| 99久久精品免费看国产免费软件| aaa国产一级毛片| 又爽又黄又无遮挡网站| 亚洲av无码人妻| 亚洲成人www| 777国产精品永久免费观看| 国产亚洲视频中文字幕视频| 大乳丰满人妻中文字幕日本| 在线国产三级| 91啪在线| 亚洲综合婷婷激情| 国产一区二区精品福利| 亚洲综合激情另类专区| 亚洲国产成人精品一二区| 欧美一级爱操视频| 日韩av手机在线| 99精品福利视频| 亚洲AV无码不卡无码| 亚洲第一极品精品无码| 久久这里只有精品国产99| 国产精品自在拍首页视频8 | 日本国产在线| 青青青伊人色综合久久| 久久综合色天堂av| 四虎影视无码永久免费观看| 亚洲人成网站18禁动漫无码| 国产青榴视频| 日韩 欧美 小说 综合网 另类| 99久久精品国产麻豆婷婷| 亚洲AⅤ综合在线欧美一区| 色久综合在线| 国产超碰一区二区三区| 中文字幕永久在线看| 亚洲国产成人久久精品软件| 视频二区国产精品职场同事| 国产成人啪视频一区二区三区| 91网站国产| 久久精品丝袜高跟鞋|