摘 要:寧夏農(nóng)民合作項(xiàng)目申報(bào)系統(tǒng)(以下簡(jiǎn)稱(chēng)系統(tǒng))解決對(duì)縣級(jí)的農(nóng)民專(zhuān)業(yè)合作社的基礎(chǔ)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)管理,并上報(bào)至其市級(jí)單位,市級(jí)對(duì)農(nóng)民專(zhuān)業(yè)合作社的基礎(chǔ)數(shù)據(jù)進(jìn)行審核整理后,供省級(jí)單位進(jìn)行查詢(xún)統(tǒng)計(jì)以進(jìn)行業(yè)務(wù)上的決策。本文簡(jiǎn)單介紹了J2EE的寧夏農(nóng)民專(zhuān)業(yè)合作項(xiàng)目申報(bào)系統(tǒng)的設(shè)計(jì),詳細(xì)介紹了系統(tǒng)的功能及J2EE的MVC架構(gòu)技術(shù)等。
關(guān)鍵詞:寧夏農(nóng)民;項(xiàng)目申報(bào)系統(tǒng);J2EE 設(shè)計(jì)
中圖分類(lèi)號(hào):G20 文獻(xiàn)標(biāo)識(shí)碼:A DOI:10.3969/j.issn.1672-0407.2012.09.018
文章編號(hào):1672-0407(2012)09-040-03 收稿日期:2012-09-05
長(zhǎng)期以來(lái),國(guó)家政府機(jī)關(guān)以及大型企業(yè)集團(tuán)公司一直采用傳統(tǒng)的手工方式報(bào)送報(bào)表,或者借助分發(fā)簡(jiǎn)單的應(yīng)用程序來(lái)實(shí)現(xiàn)對(duì)各下屬單位的數(shù)據(jù)統(tǒng)計(jì),這已經(jīng)越來(lái)越不適應(yīng)新形勢(shì)下的信息化管理要求。一方面,數(shù)據(jù)統(tǒng)計(jì)范圍、數(shù)據(jù)統(tǒng)計(jì)量越來(lái)越大, 統(tǒng)計(jì)形式經(jīng)常變化,統(tǒng)計(jì)的及時(shí)性和準(zhǔn)確率要求越來(lái)越高;另一方面,統(tǒng)計(jì)的最終目的——匯總和分析逐漸成為統(tǒng)計(jì)工作的最大瓶頸。傳統(tǒng)封閉式開(kāi)發(fā)統(tǒng)計(jì)軟件的模式勢(shì)必造成統(tǒng)計(jì)工作時(shí)效性差,人力、財(cái)力浪費(fèi)大,二次開(kāi)發(fā)困難,系統(tǒng)維護(hù)量大(每次上報(bào)報(bào)表的修改、添加都需技術(shù)開(kāi)發(fā)人員參與),匯總分析手段不完備、不靈活等弊端。隨著計(jì)算機(jī)網(wǎng)絡(luò)(Internet/Intranet)技術(shù)的不斷發(fā)展,使得基于B/S(瀏覽器/服務(wù)器)結(jié)構(gòu)的網(wǎng)絡(luò)報(bào)表(數(shù)據(jù))統(tǒng)計(jì)成為可能。它勢(shì)必將取代傳統(tǒng)落后的統(tǒng)計(jì)方式,成為電子政務(wù)、企業(yè)的信息化管理的數(shù)據(jù)支持平臺(tái)。
一、系統(tǒng)的設(shè)計(jì)與分析
(一)系統(tǒng)的技術(shù)構(gòu)架設(shè)計(jì)
寧夏農(nóng)民專(zhuān)業(yè)合作項(xiàng)目申報(bào)系統(tǒng)采用目前比較廣泛應(yīng)用的B/S架構(gòu)體系。主要采用JAVA語(yǔ)言進(jìn)行開(kāi)發(fā),在技術(shù)架構(gòu)上采用目前,國(guó)內(nèi)外比較流行的J2EE的MVC架構(gòu)技術(shù):Struts2+Spring2+Hibernate3,數(shù)據(jù)庫(kù)則使用目前比較流行的也是使用最多的Microsoft SqlServer2008數(shù)據(jù)庫(kù),用于存儲(chǔ)寧夏農(nóng)民專(zhuān)業(yè)合作項(xiàng)目申報(bào)系統(tǒng)的大批量數(shù)據(jù)。同時(shí),還會(huì)涉及的技術(shù)有:JSP、Servlet、部分Ajax框架。
(二)系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)
數(shù)據(jù)庫(kù)在每一個(gè)系統(tǒng)中占有非常重要的地位,數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)的好壞將直接對(duì)應(yīng)用系統(tǒng)的效率以及實(shí)現(xiàn)的效果產(chǎn)生影響。合理的數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)可以提高數(shù)據(jù)存儲(chǔ)的效率以及訪問(wèn)速度。
設(shè)計(jì)數(shù)據(jù)庫(kù)系統(tǒng)時(shí)應(yīng)首先充分了解各種資料需求,包括現(xiàn)有的以及將來(lái)資料種類(lèi)增加的需求。歷史資料的存放問(wèn)題等,這就要求數(shù)據(jù)庫(kù)結(jié)構(gòu)能充分滿(mǎn)足各種信息的輸出和輸入。
(三)系統(tǒng)功能設(shè)計(jì)
寧夏農(nóng)民專(zhuān)業(yè)合作項(xiàng)目申報(bào)系統(tǒng)從功能上共分為4個(gè)部分,分別是:系統(tǒng)維護(hù)模塊、基礎(chǔ)數(shù)據(jù)填報(bào)模塊、基礎(chǔ)數(shù)據(jù)審核模塊、基礎(chǔ)數(shù)據(jù)查詢(xún)統(tǒng)計(jì)分析模塊。系統(tǒng)功能圖如下:
圖1 系統(tǒng)功能圖
(四)系統(tǒng)流程分析
基層部門(mén)(縣級(jí))合作社使用自己的帳戶(hù)進(jìn)行數(shù)據(jù)的填報(bào),完成后保存,就可以完成本單位項(xiàng)目數(shù)據(jù)上報(bào)任務(wù)了。項(xiàng)目數(shù)據(jù)審核部門(mén)(市級(jí))在基層部門(mén)項(xiàng)目數(shù)據(jù)上報(bào)后,對(duì)所管理轄區(qū)基層單位上報(bào)數(shù)據(jù)進(jìn)行審核匯總。在基層部門(mén)項(xiàng)目數(shù)據(jù)上報(bào)完成及審核部門(mén)將數(shù)據(jù)審核完成后,數(shù)據(jù)會(huì)匯總到管理部門(mén)(省級(jí)),管理部門(mén)可以對(duì)數(shù)據(jù)進(jìn)行分類(lèi)匯總查看、統(tǒng)計(jì),及打印,方便管理部門(mén)對(duì)項(xiàng)目進(jìn)行決策及下一部工作的展開(kāi)。
二、系統(tǒng)的具體實(shí)現(xiàn)
(一)數(shù)據(jù)庫(kù)實(shí)現(xiàn)
數(shù)據(jù)庫(kù)的實(shí)現(xiàn)是信息監(jiān)控系統(tǒng)的核心所在。本系統(tǒng)中對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)都采用ADO技術(shù)。ADO(ActiveX Data Object) 是Microsoft數(shù)據(jù)庫(kù)應(yīng)用程序的面向?qū)ο蟮男陆涌?,是可降低遠(yuǎn)程數(shù)據(jù)訪問(wèn)的復(fù)雜性、高效快速訪問(wèn)數(shù)據(jù)庫(kù)的新技術(shù)。ADO技術(shù)簡(jiǎn)單易用和訪問(wèn)數(shù)據(jù)的靈活性,有助于提高軟件開(kāi)發(fā)的效率,因此,數(shù)據(jù)庫(kù)訪問(wèn)時(shí)采用ADO技術(shù)是一種很好的選擇。
Asp.net中通過(guò)ADO訪問(wèn)數(shù)據(jù)庫(kù),一般要通過(guò)以下4個(gè)步驟:
1.創(chuàng)建一個(gè)到數(shù)據(jù)庫(kù)的鏈路,即ADO.Connection;
2.查詢(xún)一個(gè)數(shù)據(jù)集合,即執(zhí)行SQL,產(chǎn)生一個(gè)Recordset;
3.對(duì)數(shù)據(jù)集合進(jìn)行需要的操作;
4.關(guān)閉數(shù)據(jù)鏈路
(二)系統(tǒng)功能的實(shí)現(xiàn)
前面已經(jīng)介紹了系統(tǒng)的功能模塊、功能需求和數(shù)據(jù)庫(kù)的實(shí)現(xiàn),下面就系統(tǒng)的核心功能的實(shí)現(xiàn)做詳細(xì)介紹。
1.系統(tǒng)維護(hù)模塊
系統(tǒng)維護(hù)模塊主要針對(duì)項(xiàng)目申報(bào)系統(tǒng)做一些初始化操作,以及日常的系統(tǒng)維護(hù)性的工作。
(1)基礎(chǔ)信息維護(hù):對(duì)項(xiàng)目申報(bào)系統(tǒng)所要用到的基礎(chǔ)數(shù)據(jù)進(jìn)行初始維護(hù),方便系統(tǒng)在進(jìn)行業(yè)務(wù)處理的過(guò)程中來(lái)使用這些基礎(chǔ)信息。
(2)操作員維護(hù):對(duì)使用項(xiàng)目申報(bào)系統(tǒng)的操作員進(jìn)行維護(hù)。
(3)權(quán)限維護(hù):項(xiàng)目申報(bào)系統(tǒng)為了在系統(tǒng)上能夠明顯的進(jìn)行分工,以及處于數(shù)據(jù)安全性的考慮,對(duì)各級(jí)操作員設(shè)定各自能夠在系統(tǒng)上進(jìn)行不同分工的相應(yīng)權(quán)限。
(4)數(shù)據(jù)備份:為了確保系統(tǒng)基礎(chǔ)數(shù)據(jù)的安全性,需要對(duì)項(xiàng)目申報(bào)系統(tǒng)的基礎(chǔ)數(shù)據(jù)進(jìn)行不定期的備份。以應(yīng)對(duì),在突發(fā)意外的情況下出現(xiàn)數(shù)據(jù)的嚴(yán)重錯(cuò)誤或者數(shù)據(jù)的丟失,通過(guò)用備份的數(shù)據(jù)文件進(jìn)來(lái)對(duì)寧夏農(nóng)民專(zhuān)業(yè)合作社的基礎(chǔ)數(shù)據(jù)進(jìn)行完整性、準(zhǔn)確性、補(bǔ)救性的恢復(fù)。
(5)密碼修改:對(duì)農(nóng)民專(zhuān)業(yè)合作經(jīng)濟(jì)組織項(xiàng)目申報(bào)系統(tǒng)的合法用戶(hù)采用密碼保護(hù)機(jī)制,每個(gè)用戶(hù)均持有自己獨(dú)立的密碼,合法用戶(hù)可通過(guò)自行修改自己的密碼來(lái)確保帳號(hào)和數(shù)據(jù)安全。
2.數(shù)據(jù)填報(bào)模塊
基礎(chǔ)數(shù)據(jù)填報(bào)模塊主要對(duì)農(nóng)民專(zhuān)業(yè)合作社的基礎(chǔ)數(shù)據(jù)進(jìn)行填報(bào),以及管理農(nóng)民專(zhuān)業(yè)合作社的基礎(chǔ)數(shù)據(jù)。
(1)基礎(chǔ)數(shù)據(jù)填報(bào):對(duì)農(nóng)民專(zhuān)業(yè)合作社的基礎(chǔ)數(shù)據(jù)進(jìn)行填報(bào),具體的操作有增加農(nóng)民專(zhuān)業(yè)合作社的基礎(chǔ)數(shù)據(jù)、修改農(nóng)民專(zhuān)業(yè)合作社的基礎(chǔ)數(shù)據(jù),刪除農(nóng)民專(zhuān)業(yè)合作社的基礎(chǔ)數(shù)據(jù)。
(2)基礎(chǔ)數(shù)據(jù)明細(xì)查詢(xún):對(duì)填制后的寧夏農(nóng)民專(zhuān)業(yè)合作社的基礎(chǔ)數(shù)據(jù)進(jìn)行明細(xì)的查詢(xún);可以用多個(gè)項(xiàng)目作為查詢(xún)條件,組合來(lái)對(duì)寧夏農(nóng)民專(zhuān)業(yè)合作社的基礎(chǔ)數(shù)據(jù)明細(xì)進(jìn)行查詢(xún)。可對(duì)符合查詢(xún)條件的寧夏農(nóng)民專(zhuān)業(yè)合作社的基礎(chǔ)數(shù)據(jù),進(jìn)行修改、刪除操作。
3.數(shù)據(jù)審核模塊
數(shù)據(jù)審核模塊,是由市級(jí)單位來(lái)使用;對(duì)從縣級(jí)單位上報(bào)的農(nóng)民專(zhuān)業(yè)合作社的基礎(chǔ)數(shù)據(jù)進(jìn)行審核,如果審核不通過(guò),則返回由縣級(jí)單位來(lái)進(jìn)行修改之后,上報(bào)再審核,也可直接由市級(jí)單位對(duì)未審核通過(guò)的寧夏農(nóng)民專(zhuān)業(yè)合作社的基礎(chǔ)數(shù)據(jù)進(jìn)行修改、整理。
(1)基礎(chǔ)數(shù)據(jù)審核:可看到所有已上報(bào)未經(jīng)審核整理的寧夏農(nóng)民專(zhuān)業(yè)合作社的基礎(chǔ)數(shù)據(jù),針對(duì)這些未經(jīng)審核整理的寧夏農(nóng)民專(zhuān)業(yè)合作社的基礎(chǔ)數(shù)據(jù)進(jìn)行逐條審核或批量審核。
(2)上報(bào)查詢(xún)分析:對(duì)本部門(mén)所管轄的下屬部門(mén)已經(jīng)上報(bào),審核整理后的寧夏農(nóng)民專(zhuān)業(yè)合作社的基礎(chǔ)數(shù)據(jù)進(jìn)行明細(xì)的查詢(xún);
數(shù)據(jù)查詢(xún)統(tǒng)計(jì)模塊
針對(duì)于已上報(bào)完成的寧夏農(nóng)民專(zhuān)業(yè)合作社的基礎(chǔ)數(shù)據(jù)進(jìn)行各種形式的匯總、統(tǒng)計(jì)分析查詢(xún)??梢杂枚鄠€(gè)項(xiàng)目作為查詢(xún)條件,組合來(lái)對(duì)農(nóng)民專(zhuān)業(yè)合作社的基礎(chǔ)數(shù)據(jù)進(jìn)行各種形式的匯總、統(tǒng)計(jì)分析查詢(xún)。針于符合查詢(xún)條件的查詢(xún)報(bào)表,可對(duì)報(bào)表進(jìn)行打印輸出。
三、關(guān)鍵技術(shù)
(一)J2EE框架體系
采用面向Internet/Intranet,完全基于Web、中間件和大型數(shù)據(jù)庫(kù)的B/S N層體系結(jié)構(gòu)。該架構(gòu)由瀏覽器 —— WEB服務(wù)器 —— 數(shù)據(jù)庫(kù)服務(wù)器組成。構(gòu)架體系如下圖。
在J2EE架構(gòu)體系中,客戶(hù)端主要負(fù)責(zé)人機(jī)交互,包括一些與數(shù)據(jù)和應(yīng)用關(guān)系的圖形和界面運(yùn)算;WEB服務(wù)器主要負(fù)責(zé)對(duì)客戶(hù)端應(yīng)用程序的集中管理;應(yīng)用服務(wù)器主要負(fù)責(zé)應(yīng)用系統(tǒng)的邏輯結(jié)構(gòu)和數(shù)據(jù)關(guān)系,即事務(wù)處理。應(yīng)用服務(wù)器又可以根據(jù)其處理的具體業(yè)務(wù)不同而分為多個(gè);數(shù)據(jù)服務(wù)器則主要負(fù)責(zé)數(shù)據(jù)的存儲(chǔ)和組織、分布式管理、備份和同步等等。
(二)基于J2EE的MVC架構(gòu)設(shè)計(jì)
為了達(dá)到良好的程序擴(kuò)展性,Web端的程序一般采用如下的結(jié)構(gòu):
JSP/Applet界面表示層。它應(yīng)當(dāng)是盡量單純的顯示界面,不包含任何業(yè)務(wù)邏輯,甚至不包含界面控制邏輯。
Servlet界面控制層。它負(fù)責(zé)創(chuàng)建JavaBean,并且根據(jù)Bean的當(dāng)前狀態(tài)響應(yīng)用戶(hù)的頁(yè)面請(qǐng)求,轉(zhuǎn)移到適當(dāng)?shù)腏SP頁(yè)面。
JavaBean數(shù)據(jù)模型層和訪問(wèn)業(yè)務(wù)邏輯的代理。
三者之間組成的典型模型-視圖-控制器(MVC)結(jié)構(gòu),通過(guò)使視圖完全獨(dú)立于控制器和模型,就可以輕松替換前端客戶(hù)程序。并且,通過(guò)將控制器和模型代碼保持在視圖之外,那些不理解這些代碼的人員就不能改變他們不應(yīng)改變的東西。將控制器和模型分開(kāi)可以在不影響模型的情況下改變控制器,也可以在不影響控制器的情況下改變模型。
四、結(jié)束語(yǔ)
寧夏回族自治區(qū)農(nóng)民專(zhuān)業(yè)合作經(jīng)濟(jì)組織項(xiàng)目申報(bào)系統(tǒng)基于B/S(瀏覽器/服務(wù)器)結(jié)構(gòu)的網(wǎng)絡(luò)報(bào)表系統(tǒng)開(kāi)發(fā),實(shí)現(xiàn)了寧夏合作社項(xiàng)目數(shù)據(jù)填報(bào)、上報(bào)數(shù)據(jù)審核及管理層對(duì)數(shù)據(jù)匯總統(tǒng)計(jì)的網(wǎng)絡(luò)化,信息化。項(xiàng)目申報(bào)系統(tǒng)的建設(shè)實(shí)現(xiàn)了寧夏合作社系統(tǒng)的電子政務(wù)化,通過(guò)信息化方式在各政府部門(mén)之間傳遞信息,打破了以往文件傳遞的繁瑣步驟,大大提高了政府部門(mén)的工作效率。
參考文獻(xiàn)
[1] 孫衛(wèi)琴.精通Struts:基于MVC的JavaWeb設(shè)計(jì)與開(kāi)發(fā)[M].北京:電子工業(yè)出版社,2004.
[2] 羅會(huì)波.JSF第一步JSF+SPING+HIBERNATE+AJAX編程實(shí)踐[M].北京:清華大學(xué)出版社,2007.
[3] 羅 恒,李 強(qiáng),等.基于web的論文提交審核項(xiàng)目預(yù)申報(bào)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].科技傳播,2011,(8)198.