(論文)基于MVC模式下機(jī)關(guān)辦公自動(dòng)化系統(tǒng)(OAB)核心功能的實(shí)現(xiàn)論文應(yīng)用系統(tǒng)JAVA(2013年優(yōu)秀畢業(yè)設(shè)計(jì)論文)_第1頁(yè)
(論文)基于MVC模式下機(jī)關(guān)辦公自動(dòng)化系統(tǒng)(OAB)核心功能的實(shí)現(xiàn)論文應(yīng)用系統(tǒng)JAVA(2013年優(yōu)秀畢業(yè)設(shè)計(jì)論文)_第2頁(yè)
(論文)基于MVC模式下機(jī)關(guān)辦公自動(dòng)化系統(tǒng)(OAB)核心功能的實(shí)現(xiàn)論文應(yīng)用系統(tǒng)JAVA(2013年優(yōu)秀畢業(yè)設(shè)計(jì)論文)_第3頁(yè)
(論文)基于MVC模式下機(jī)關(guān)辦公自動(dòng)化系統(tǒng)(OAB)核心功能的實(shí)現(xiàn)論文應(yīng)用系統(tǒng)JAVA(2013年優(yōu)秀畢業(yè)設(shè)計(jì)論文)_第4頁(yè)
(論文)基于MVC模式下機(jī)關(guān)辦公自動(dòng)化系統(tǒng)(OAB)核心功能的實(shí)現(xiàn)論文應(yīng)用系統(tǒng)JAVA(2013年優(yōu)秀畢業(yè)設(shè)計(jì)論文)_第5頁(yè)
已閱讀5頁(yè),還剩28頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

大學(xué)本科畢業(yè)設(shè)計(jì)(論文)題 目:基于MVC模式下機(jī)關(guān)辦公自動(dòng)化系統(tǒng)(OA-B)核心功能的實(shí)現(xiàn)Subject:The corn function design of OA-B system based on MVC pattern姓 名: 學(xué) 號(hào):專(zhuān) 業(yè):計(jì)算機(jī)軟件學(xué) 院:計(jì)算機(jī)信息工程學(xué)院指導(dǎo)老師:完成時(shí)間:摘 要MVC模式是一種可應(yīng)用于J2EE的開(kāi)放式框架結(jié)構(gòu)。它允許Web頁(yè)面或其它瀏覽內(nèi)容(視圖層)能夠最大限度的與內(nèi)部代碼(模型/控制層)分離開(kāi)來(lái),從而使設(shè)計(jì)者和程序員能夠?qū)⒆⒁饬性谒麄兏髯缘膶?zhuān)門(mén)技術(shù)上。并因Java的“一次寫(xiě)入后,任何處運(yùn)行”的特性而提高了開(kāi)發(fā)效率。本論文著眼于在JBuilder環(huán)境下應(yīng)用MVC模式開(kāi)發(fā)機(jī)關(guān)辦公自動(dòng)化系統(tǒng)的核心功能,即發(fā)/收文管理、工作流控制以及用戶(hù)管理。本論文以我們OA小組開(kāi)發(fā)的機(jī)關(guān)辦公自動(dòng)化系統(tǒng)WebOA為例,介紹了由本人參與設(shè)計(jì)的發(fā)/收文工作流模塊和用戶(hù)管理模塊的相關(guān)技術(shù),并進(jìn)行程序結(jié)構(gòu)分析和具體功能實(shí)現(xiàn)闡述。關(guān)鍵詞:MVC模式 J2EE相關(guān)組件 機(jī)關(guān)辦公自動(dòng)化 發(fā)收文管理 工作流 用戶(hù)管理ABSTRACTMVC is an open source framework for JSP Web applications. This design model allows the Web page or other contents (View) to be mostly separated from the internal application code (Controller/Model), making it easier for designers and programmers to focus on their respective areas of expertise. It improve the efficiency of the development process thanks to JAVA “Write Once, run anywhere” nature.This dissertation focuses on implementation of MVC patterns to develope Office Automatic system for Bureau (OA-B) which run on JBuilder environment, and mainly introduce its kernel functions theory such as Message Send&Receive Manage, Workflow Control and User Manage .This dissertation introduces the function of implemented office automation for bureau named WebOA by our OA team . It also expatiate its relative technology which were concerned and designed by me as well as this systems Message Send&Receive Manage , Workflow Control and User Manage structure and analysis of implementation in details. Keyword:MVC Patterns J2EE relative technology OA-B Message Send&Receive Manage Workflow Control UserManage目 錄第一章 緒 論錯(cuò)誤!未定義書(shū)簽。1.1 研究背景錯(cuò)誤!未定義書(shū)簽。1.2 OA-B概念的提出錯(cuò)誤!未定義書(shū)簽。第二章 系統(tǒng)相關(guān)技術(shù)簡(jiǎn)介錯(cuò)誤!未定義書(shū)簽。2.1系統(tǒng)開(kāi)發(fā)架構(gòu)錯(cuò)誤!未定義書(shū)簽。2.2系統(tǒng)所采用的主要技術(shù)分析錯(cuò)誤!未定義書(shū)簽。2.2.1系統(tǒng)采用的MVC模式架構(gòu)錯(cuò)誤!未定義書(shū)簽。2.2.2系統(tǒng)采用的J2EE相關(guān)標(biāo)準(zhǔn)組件技術(shù)錯(cuò)誤!未定義書(shū)簽。2.2.3Browser/Server系統(tǒng)的三層體系結(jié)構(gòu)錯(cuò)誤!未定義書(shū)簽。2.3 系統(tǒng)的運(yùn)行環(huán)境和開(kāi)發(fā)平臺(tái)錯(cuò)誤!未定義書(shū)簽。2.3.1系統(tǒng)的開(kāi)發(fā)平臺(tái)錯(cuò)誤!未定義書(shū)簽。2.3.2 系統(tǒng)運(yùn)行環(huán)境錯(cuò)誤!未定義書(shū)簽。第三章 系統(tǒng)功能結(jié)構(gòu)錯(cuò)誤!未定義書(shū)簽。3.1 OA-B模式錯(cuò)誤!未定義書(shū)簽。3.1.1基本需求:報(bào)文傳遞功能錯(cuò)誤!未定義書(shū)簽。3.1.2應(yīng)用模式:工作流錯(cuò)誤!未定義書(shū)簽。3.1.3數(shù)據(jù)整合:復(fù)合型文檔錯(cuò)誤!未定義書(shū)簽。3.2 本系統(tǒng)功能模塊錯(cuò)誤!未定義書(shū)簽。第四章 核心子系統(tǒng)模塊設(shè)計(jì)錯(cuò)誤!未定義書(shū)簽。4.1 發(fā)/收文管理錯(cuò)誤!未定義書(shū)簽。4.1.1 M-V-C模式分析發(fā)文管理錯(cuò)誤!未定義書(shū)簽。4.1.2 發(fā)文工作流數(shù)據(jù)庫(kù)實(shí)現(xiàn)錯(cuò)誤!未定義書(shū)簽。4.1.3 收文查詢(xún)中值對(duì)象控制錯(cuò)誤!未定義書(shū)簽。4.2 用戶(hù)權(quán)限管理錯(cuò)誤!未定義書(shū)簽。4.2.1用戶(hù)權(quán)限的數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)錯(cuò)誤!未定義書(shū)簽。4.2.2用戶(hù)管理數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)錯(cuò)誤!未定義書(shū)簽。第五章 小 結(jié)錯(cuò)誤!未定義書(shū)簽。結(jié) 語(yǔ)錯(cuò)誤!未定義書(shū)簽。致 謝錯(cuò)誤!未定義書(shū)簽。參考文獻(xiàn)錯(cuò)誤!未定義書(shū)簽。附 錄:發(fā)文管理源代碼錯(cuò)誤!未定義書(shū)簽。第一章 緒 論1.1 研究背景辦公自動(dòng)化(Office Automation,簡(jiǎn)稱(chēng)OA),是以先進(jìn)成熟的計(jì)算機(jī)和通信技術(shù)為主要手段,建成一個(gè)覆蓋政府企業(yè)等部門(mén)的辦公信息系統(tǒng),提供企事業(yè)單位與其他專(zhuān)用計(jì)算機(jī)網(wǎng)絡(luò)之間的信息交換,建立高質(zhì)量、高效率的政府信息網(wǎng)絡(luò),為領(lǐng)導(dǎo)決策和辦公提供服務(wù),實(shí)現(xiàn)辦公現(xiàn)代化、信息資源化、傳輸網(wǎng)絡(luò)化和決策科學(xué)化。由于OA所含蓋的范疇太廣,只要是與信息通信相關(guān)的辦公軟件仿佛都可以與OA掛鉤,導(dǎo)致市場(chǎng)中的OA產(chǎn)品質(zhì)量水平參差不齊,盡管客戶(hù)對(duì)其需求量大,但能滿足要求的產(chǎn)品并不多,我們通過(guò)調(diào)研發(fā)現(xiàn),主要有如下缺陷:1 功能華而不實(shí)。不少產(chǎn)品看上去非常全面,很多功能卻難以實(shí)現(xiàn),而且真正核心的功能做的并不深入,反而造成資源上浪費(fèi)。2 面向群體無(wú)針對(duì)性。OA是要面向客戶(hù)群體的,很多產(chǎn)品標(biāo)榜其可以用在任何辦公環(huán)境,但結(jié)果是哪里都能用,哪里都用不好。OA工作環(huán)境的性質(zhì)決定其必須能針對(duì)某類(lèi)工作流程比較固定的單位。3 行業(yè)規(guī)范性不強(qiáng)。OA針對(duì)的是具有一定辦公標(biāo)準(zhǔn)的行業(yè),這就要求所研制的軟件應(yīng)用時(shí)有嚴(yán)格的且符合該行業(yè)設(shè)計(jì)規(guī)范公文文檔和工作流程1.2 OA-B概念的提出從上述要求出發(fā),我們提出OA-B(Office Automation for Bureau)的概念,即機(jī)關(guān)辦公自動(dòng)化系統(tǒng)。機(jī)關(guān)辦公自動(dòng)化系統(tǒng)是實(shí)現(xiàn)機(jī)關(guān)內(nèi)部各級(jí)部門(mén)之間以及機(jī)關(guān)內(nèi)外部之間辦公信息的收集與處理、流動(dòng)與共享、實(shí)現(xiàn)科學(xué)決策的具有戰(zhàn)略意義的信息系統(tǒng)。經(jīng)過(guò)市場(chǎng)調(diào)查,我們發(fā)現(xiàn),一個(gè)成功的OA-B最應(yīng)具有是以下特點(diǎn):1 能適應(yīng)靈活多變辦公自動(dòng)化業(yè)務(wù)的流程化處理手段。2各子系統(tǒng)間數(shù)據(jù)集成化,且OA系統(tǒng)能在不同職能部門(mén)系統(tǒng)間完成信息雙向傳遞。而這些系統(tǒng)本身可以是完全異構(gòu)的、分散的。3由于涉及重要的政務(wù)辦公信息,信息系統(tǒng)的的安全性與完整性,及可配置管理是隨時(shí)應(yīng)該考慮的特性。4技術(shù)的符合標(biāo)準(zhǔn)與先進(jìn)性。特別是辦公文檔和工作流程必須符合所應(yīng)用行業(yè)的規(guī)范。第二章 系統(tǒng)相關(guān)技術(shù)簡(jiǎn)介2.1 系統(tǒng)開(kāi)發(fā)架構(gòu)本系統(tǒng)采用JSP+Servlet+JavaBean的三層架構(gòu)開(kāi)發(fā)模式。此模式遵循視圖控制器M-V-C模式,其基本構(gòu)想是使用一個(gè)或多個(gè)Servlet作為控制器。請(qǐng)求由前沿的Servlet接收并處理后,會(huì)重新定向到JSP。在Servlet作為控制器時(shí),每個(gè)Servlet通常只實(shí)現(xiàn)很少一部分功能,多個(gè)Servlet控制器就可以結(jié)合起來(lái)完成復(fù)雜的任務(wù),這樣的好處是Servlet的重用性好。在此模式中,JavaBean作為模型的角色,它充當(dāng)JSP和Servlet通信的中間工具,Servlet處理完后設(shè)置Bean屬性,JSP讀取此Bean的屬性,然后進(jìn)行顯示。此模式更加明顯的把顯示和邏輯分離,使代碼容易管理,適合于大型項(xiàng)目的開(kāi)發(fā),所以在本系統(tǒng)中采用了這種模式。此模式的數(shù)據(jù)傳遞關(guān)系如圖1-1所示。圖1-1 OA-B開(kāi)發(fā)模式數(shù)據(jù)傳遞關(guān)系2.2 系統(tǒng)所采用的主要技術(shù)分析2.2.1 系統(tǒng)采用的MVC模式架構(gòu)通過(guò)模型、視圖和控制架構(gòu)(M-V-C)以實(shí)現(xiàn)簡(jiǎn)單高效的應(yīng)用程序升級(jí)和維護(hù),以及如何讓不懂程序代碼的人員避開(kāi)程序數(shù)據(jù)。MVC的架構(gòu)是一個(gè)描述重現(xiàn)的問(wèn)題及其解決方案的設(shè)計(jì)范式,但每次問(wèn)題重現(xiàn)時(shí),解決方案都不會(huì)完全相同。MVC設(shè)計(jì)范式包括三種對(duì)象:1、模型(model)提供應(yīng)用業(yè)務(wù)邏輯(Enterprise Beans類(lèi))。2、視圖(view)則是其在屏幕上的顯示(html頁(yè)面、JSP頁(yè)面、Swing GUI)3、控制器則是Servlet、JavaBeans或Session Beans類(lèi),它用于管理用戶(hù)與視圖發(fā)生的交互。2.2.2 系統(tǒng)采用的J2EE相關(guān)標(biāo)準(zhǔn)組件技術(shù)J2EE平臺(tái)為多層的分布式模型,組件再用,一致化的安全模型以及靈活的事務(wù)控制。應(yīng)用客戶(hù)組件、Enterprise Beans組件、Servlet及JSP頁(yè)面組件、Applet等。1、JSP(Java Server Pages)技術(shù)本系統(tǒng)中充當(dāng)MVC的V部分視圖表示(Viewer)。2、Servlet技術(shù)Applet的服務(wù)器端版本,是由Web服務(wù)器裝入、用于處理客戶(hù)請(qǐng)求的Java程序。本系統(tǒng)中作為MVC中的C部分控制器(Controller)。3、JavaBean技術(shù)重用組件技術(shù)(獨(dú)立的可重復(fù)利用的模塊,負(fù)責(zé)數(shù)據(jù)庫(kù)交互以及數(shù)據(jù)提取,許多動(dòng)態(tài)頁(yè)面處理過(guò)程被封狀到了JavaBeans中)本系統(tǒng)中作為MVC中的M部分模型(Model)。4、JDBC技術(shù)是用于執(zhí)行SQL語(yǔ)句的Java應(yīng)用程序接口,由一組用Java語(yǔ)言編寫(xiě)的類(lèi)與接口組成, JSP中通過(guò)JDBCODBC橋驅(qū)動(dòng)程序訪問(wèn)訪問(wèn)數(shù)據(jù)庫(kù)。本系統(tǒng)中主要與三層架構(gòu)中的數(shù)據(jù)層進(jìn)行交互。2.2.2 Browser/Server系統(tǒng)的三層體系結(jié)構(gòu)在Browser/Server的系統(tǒng)中,用戶(hù)可以通過(guò)瀏覽器向分布在網(wǎng)絡(luò)上的許多服務(wù)器發(fā)出請(qǐng)求。Browser/Server結(jié)構(gòu)極大的簡(jiǎn)化了客戶(hù)機(jī)的工作,客戶(hù)機(jī)上只需安裝、配置少量的客戶(hù)端軟件即可,服務(wù)器將擔(dān)負(fù)更多的工作,對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)和應(yīng)用程序的執(zhí)行將在服務(wù)器上完成。在Browser/Server三層體系結(jié)構(gòu)下,表示層(Presentation)、功能層(Business Logic)、數(shù)據(jù)層(Data Service)被分割成三個(gè)相對(duì)獨(dú)立的單元:第一層-表示層:Web瀏覽器在表示層中包含系統(tǒng)的顯示邏輯,位于客戶(hù)端。它的任務(wù)是由Web瀏覽器向網(wǎng)絡(luò)上的某一Web服務(wù)器提出服務(wù)請(qǐng)求,Web服務(wù)器對(duì)用戶(hù)身份進(jìn)行驗(yàn)證后用HTTP協(xié)議把所需的主頁(yè)傳送給客戶(hù)端,客戶(hù)機(jī)接受傳來(lái)的主頁(yè)文件,并把它顯示在Web瀏覽器上。第二層-功能層:具有應(yīng)用程序擴(kuò)展功能的Web服務(wù)器在功能層中包含系統(tǒng)的事務(wù)處理邏輯,位于Web服務(wù)器端。它的任務(wù)是接受用戶(hù)的請(qǐng)求,首先需要執(zhí)行相應(yīng)的擴(kuò)展應(yīng)用程序與數(shù)據(jù)庫(kù)進(jìn)行連接,通過(guò)SQL等方式向數(shù)據(jù)庫(kù)服務(wù)器提出數(shù)據(jù)處理申請(qǐng),而后等數(shù)據(jù)庫(kù)服務(wù)器將數(shù)據(jù)處理的結(jié)果提交給Web服務(wù)器,再由Web服務(wù)器傳送回客戶(hù)端。第三層-數(shù)據(jù)層:數(shù)據(jù)庫(kù)服務(wù)器在數(shù)據(jù)層中包含系統(tǒng)的數(shù)據(jù)處理邏輯,位于數(shù)據(jù)庫(kù)服務(wù)器端。它的任務(wù)是接受Web服務(wù)器對(duì)數(shù)據(jù)庫(kù)操縱的請(qǐng)求,通過(guò)JDBC/JavaBean訪問(wèn)數(shù)據(jù)庫(kù),實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)查詢(xún)、修改、更新等功能,把運(yùn)行結(jié)果提交給Web服務(wù)器。通過(guò)分析可以看出,三層的Browser/Server體系結(jié)構(gòu)是把二層Client/Server結(jié)構(gòu)的事務(wù)處理邏輯模塊從客戶(hù)機(jī)的任務(wù)中分離出來(lái),由單獨(dú)組成的一層來(lái)負(fù)擔(dān)其任務(wù),這樣客戶(hù)機(jī)的壓力大大減輕了,把負(fù)荷均衡地分配給了Web服務(wù)器2.3 系統(tǒng)的運(yùn)行環(huán)境和開(kāi)發(fā)平臺(tái)2.3.1 系統(tǒng)的開(kāi)發(fā)平臺(tái)建議使用Borland公司推出的用于連接數(shù)據(jù)庫(kù)以及Web應(yīng)用開(kāi)發(fā)平臺(tái)產(chǎn)品JBuilder作為我系OA實(shí)驗(yàn)室的相關(guān)系統(tǒng)的開(kāi)發(fā)工具。2.3.2 系統(tǒng)運(yùn)行環(huán)境1、服務(wù)器端運(yùn)行環(huán)境服務(wù)機(jī):有網(wǎng)絡(luò)接口卡(NIC)的高性能PC機(jī),512M RAM,硬盤(pán)80G以上。 操作系統(tǒng):Windows 2000 SERVERWeb服務(wù)器:APACHE TOMCAT數(shù)據(jù)庫(kù)服務(wù)器:MICROSOFT SQL SERVER 20002、客戶(hù)端運(yùn)行環(huán)境客戶(hù)機(jī):有網(wǎng)絡(luò)接口卡(NIC)的PC機(jī),128M RAM,操作系統(tǒng):Windows 2000 Professional瀏覽器:Microsoft Internet Explorer 5.0以上。第三章 系統(tǒng)功能結(jié)構(gòu)3.1 OA-B模式就一般來(lái)說(shuō),OA-B均以公文處理和機(jī)關(guān)事務(wù)管理為核心,同時(shí)提供信息通訊與服務(wù)等重要功能。因此,典型的OA應(yīng)用包括收發(fā)文審批簽發(fā)管理、公文流轉(zhuǎn)傳遞、政務(wù)信息采集與發(fā)布、內(nèi)部請(qǐng)示報(bào)告管理、檔案管理、會(huì)議管理、領(lǐng)導(dǎo)活動(dòng)管理、政策法規(guī)庫(kù)、內(nèi)部論壇等等應(yīng)用。核心功能概念的提出如果我們從系統(tǒng)功能角度對(duì)上述辦公自動(dòng)化應(yīng)用做一分析,就會(huì)發(fā)現(xiàn)辦公自動(dòng)化軟件的這樣幾個(gè)功能其中的核心功能,即報(bào)文傳遞、工作流、復(fù)合型文檔,可以說(shuō)是最小子集。如圖31。協(xié)同工作安全性控制Internet報(bào)文傳遞工作流復(fù)合文檔這些功能需求是我們選擇辦公自動(dòng)化應(yīng)用 圖31系統(tǒng)的開(kāi)發(fā)與使用平臺(tái)時(shí)必須考慮的判斷依據(jù): 3.1.1 基本需求:報(bào)文傳遞功能報(bào)文傳遞系統(tǒng)作為信息傳遞與共享的工具和手段,滿足OA-B最基本的通信需求。換言之,MTS(Message Transportation System)作為通信基礎(chǔ)設(shè)施,主要提供了兩方面的功能:從信息技術(shù)的角度出發(fā),報(bào)文傳遞功能是一種“推”技術(shù),即發(fā)送方(Sender)將信息通過(guò)存儲(chǔ)轉(zhuǎn)發(fā)技術(shù)推給接收方(Receiver)。從用戶(hù)使用習(xí)慣出發(fā),報(bào)文傳遞功能是辦公自動(dòng)化系統(tǒng)的“門(mén)戶(hù)”。因?yàn)樵贠A上工作的人員很容易養(yǎng)成一種工作習(xí)慣,每日查看自己的收件箱,閱讀處理有關(guān)信件;而且功能高級(jí)完整的報(bào)文傳遞系統(tǒng)一般都具備新信件到達(dá)提示功能。因此,OA-B可以利用報(bào)文傳遞系統(tǒng)的特點(diǎn)將每一項(xiàng)需要工作人員處理的信息或通知,制成信件,直接投遞到工作人員的收件箱中。在一個(gè)OA-B中,針對(duì)不同的業(yè)務(wù)需求,通常包含了多個(gè)應(yīng)用子系統(tǒng),如發(fā)文、收文、信息服務(wù)、檔案管理、活動(dòng)安排、會(huì)議管理等等,可以將收件箱作為所有這些辦公應(yīng)用子系統(tǒng)的統(tǒng)一“門(mén)戶(hù)”,每一個(gè)用戶(hù)通過(guò)關(guān)注自己的收件箱就可以了解到需要處理的工作,而不必經(jīng)常性地來(lái)回檢查不同的應(yīng)用系統(tǒng),看看哪些是需要處理的工作(在這種情況下,如果由于某種人為原因,沒(méi)有及時(shí)查閱某個(gè)應(yīng)用系統(tǒng),就可能造成工作的延誤)。辦公自動(dòng)化應(yīng)用系統(tǒng)以報(bào)文傳遞作為統(tǒng)一入口的設(shè)計(jì)思想,可以大大減少培訓(xùn)的工作量。3.1.2 應(yīng)用模式:工作流所謂的工作流就是一組人員為完成某一項(xiàng)業(yè)務(wù)所進(jìn)行的所有工作與工作間的交互過(guò)程。幾乎所有的業(yè)務(wù)過(guò)程都是工作流,特別是辦公自動(dòng)化應(yīng)用系統(tǒng)的核心應(yīng)用公文審批流轉(zhuǎn)處理、會(huì)議管理等。每一項(xiàng)工作以流程的形式,由發(fā)起者(如文件起草人)發(fā)起流程,經(jīng)過(guò)本部門(mén)以及其他部門(mén)的處理(如簽署、會(huì)簽),最終到達(dá)流程的終點(diǎn)(如發(fā)出文件、歸檔入庫(kù))。工作流程可以是互相連接、交叉或循環(huán)進(jìn)行的,如一個(gè)工作流的終點(diǎn)可能就是另一個(gè)工作流的起點(diǎn),如上級(jí)部門(mén)的發(fā)文處理過(guò)程結(jié)束后引發(fā)了下級(jí)部門(mén)的收文處理過(guò)程。工作流程也可是打破單位界限的,發(fā)生于機(jī)關(guān)以及與機(jī)關(guān)的相關(guān)單位之間。如及時(shí)地收回和賦予不同人員的操作權(quán)限(如起草人起草文件完畢即不可修改文件內(nèi)容,而其上級(jí)領(lǐng)導(dǎo)獲得文件的簽署權(quán)或?qū)?nèi)容的修改權(quán))、主動(dòng)提示和催促工作人員實(shí)現(xiàn)某一階段的處理,從而整體提高工作流處理的效率。工作流自動(dòng)化有2種實(shí)現(xiàn)模式,即:基于郵件和基于共享數(shù)據(jù)庫(kù)?;卩]件的工作流應(yīng)用,就是通過(guò)郵件將數(shù)據(jù)表單從一個(gè)人郵箱傳送到另一個(gè)人郵箱。其特點(diǎn)是模式簡(jiǎn)單。但是,最大的弊病是無(wú)法實(shí)行監(jiān)控,沒(méi)有一個(gè)管理者可以隨時(shí)掌握工作流的動(dòng)態(tài)。其它問(wèn)題包括:難以實(shí)現(xiàn)自動(dòng)化處理如通過(guò)代理催辦、集中歸檔、統(tǒng)計(jì);數(shù)據(jù)容易出現(xiàn)多份拷貝,難以控制安全性和準(zhǔn)確性;大量的郵件傳輸引發(fā)大量的網(wǎng)絡(luò)流量?;诠蚕頂?shù)據(jù)庫(kù)的工作流應(yīng)用,可以克服上述基于郵件的工作流缺點(diǎn)。如信息單一存儲(chǔ),自動(dòng)處理,安全性更好,容易實(shí)現(xiàn)監(jiān)控。但是,工作流的驅(qū)動(dòng)成了一個(gè)問(wèn)題,因?yàn)槿狈π畔⑼ㄓ崣C(jī)制,無(wú)法主動(dòng)通知有關(guān)人員進(jìn)行下一步的工作。本系統(tǒng)工作流采用基于共享數(shù)據(jù)庫(kù)模式開(kāi)發(fā)。3.1.3 數(shù)據(jù)整合:復(fù)合型文檔復(fù)合文檔型數(shù)據(jù)不同于傳統(tǒng)數(shù)據(jù)類(lèi)型。辦公自動(dòng)化所處理信息的載體大多是以文件、報(bào)表、信函、傳真等形式出現(xiàn),因此辦公自動(dòng)化系統(tǒng)是典型的文檔處理系統(tǒng)。對(duì)“復(fù)合文檔數(shù)據(jù)”或“對(duì)象數(shù)據(jù)”的表示和存儲(chǔ)管理是數(shù)據(jù)庫(kù)技術(shù)領(lǐng)域的新領(lǐng)域。一般認(rèn)為,關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)(如Oracle、DB/2、SQL Server、Foxpro等)適合傳統(tǒng)數(shù)據(jù)類(lèi)型(結(jié)構(gòu)化信息)的表示和存儲(chǔ),但是對(duì)復(fù)合文檔數(shù)據(jù)的處理就有“削足適履”之感,并非能夠完全表達(dá)信息和存儲(chǔ)效率最高。因此,“文檔數(shù)據(jù)庫(kù)”或“對(duì)象存儲(chǔ)”的概念就被引入數(shù)據(jù)庫(kù)領(lǐng)域,其目標(biāo)就是針對(duì)新出現(xiàn)的需求,高效率地表達(dá)和存儲(chǔ)管理“復(fù)合文檔數(shù)據(jù)”。一言以蔽之,辦公自動(dòng)化系統(tǒng)由于其對(duì)復(fù)合文檔數(shù)據(jù)的處理要求,必須以文檔數(shù)據(jù)庫(kù)為核心建立,同時(shí)選擇性地結(jié)合關(guān)系數(shù)據(jù)庫(kù)。從信息技術(shù)的角度出發(fā),數(shù)據(jù)庫(kù)技術(shù)代表了“拉”技術(shù),即信息共享技術(shù)。信息被集中存儲(chǔ)管理,當(dāng)用戶(hù)需要信息時(shí),主動(dòng)地將數(shù)據(jù)庫(kù)中的信息“拉”到自己的工作站上進(jìn)行處理。另外,作為擴(kuò)展功能的協(xié)同工作、必須具備的安全性控制以及可附加的Internet集成功能也在辦公自動(dòng)化系統(tǒng)中扮演著重要的角色。3.2 本系統(tǒng)功能模塊其基本思想是把整個(gè)系統(tǒng)按照實(shí)現(xiàn)功能進(jìn)行分解利用JSP+JavaBean+Servlet進(jìn)行編程。已實(shí)現(xiàn)的系統(tǒng)的功能結(jié)構(gòu)模塊如圖3-2所示。OA系統(tǒng)個(gè)人辦公 公共辦公工作流管理系統(tǒng)管理行政辦公部門(mén)管理用戶(hù)管理圖3-2 OA-B系統(tǒng)結(jié)構(gòu)圖而其下又可以分為子系統(tǒng)結(jié)構(gòu)圖。用戶(hù)管理子系統(tǒng)用戶(hù)注冊(cè)模塊用戶(hù)信息管理模塊用戶(hù)信息修改模塊管理員登錄模塊公告欄模塊用戶(hù)密碼修改模塊用戶(hù)登錄模塊用戶(hù)查詢(xún)模塊留言板模塊圖3-3 用戶(hù)管理子系統(tǒng)功能模塊圖第四章 核心子系統(tǒng)模塊設(shè)計(jì)前面我們已經(jīng)提出了作為一個(gè)OA系統(tǒng)的核心功能應(yīng)是報(bào)文傳遞、工作流和復(fù)合型文檔,再加上對(duì)用戶(hù)人員的權(quán)限管理,我們即可以稱(chēng)之為一個(gè)精簡(jiǎn)功能的OA-B系統(tǒng),已能應(yīng)付一般的機(jī)關(guān)處室的日常工作。我們知道,在OA-B中對(duì)應(yīng)報(bào)文傳遞功能的實(shí)現(xiàn)發(fā)/收文管理,而在從發(fā)文到收文的過(guò)程中又可以看成是一個(gè)工作流。因此,毫無(wú)疑問(wèn),在OA-B系統(tǒng)中是它是真正的核心。用戶(hù)做為支撐該軟件中的“人”的因素,不可或缺的是一個(gè)用戶(hù)權(quán)限管理功能。而在其中有包含了與動(dòng)態(tài)管理相對(duì)應(yīng)的數(shù)據(jù)庫(kù)連接技術(shù)。本章我們以發(fā)/收文管理和用戶(hù)管理的實(shí)現(xiàn)為例,介紹OA-B設(shè)計(jì)原理。4.1 發(fā)/收文管理因?yàn)閷?duì)每一種對(duì)象的管理都比較類(lèi)似,在此僅以行政辦公中的發(fā)文、收文管理公文為例,來(lái)分析一下本系統(tǒng)中的數(shù)據(jù)流向。根據(jù)圖1-1的OA-B開(kāi)發(fā)模式數(shù)據(jù)傳遞圖我們可以大致了解到發(fā)文過(guò)程的原理,即有圖4-1。4.1.1 M-V-C模式分析發(fā)文管理SenderServletHTTPRequestForward讀取ModelViewJavaBeanweb.xmlJDBC數(shù)據(jù)庫(kù)發(fā)文擬稿頁(yè)面QuerryController圖4-1 發(fā)文模式數(shù)據(jù)傳遞實(shí)例圖第一步:ControllerModelSQL Server用戶(hù)作為擬稿完成后,通過(guò)Http發(fā)出發(fā)文請(qǐng)求(Send Request),作為的控制器的Servlet通過(guò)調(diào)用Web配置文件web.xml向JavaBean發(fā)出控制信號(hào),并對(duì)其賦值。而JavaBean中的一個(gè)值對(duì)象(Value Object,即VO)將通過(guò)JDBC連接SQL Server數(shù)據(jù)庫(kù),從中調(diào)出所需信息返回給VO,實(shí)現(xiàn)了在模型層與數(shù)據(jù)庫(kù)的交互。第二步:ControllerViewerModelServlet又向JSP發(fā)出從JavaBean中讀取數(shù)據(jù)庫(kù)信息的信號(hào),在視圖層的JSP頁(yè)面在從JavaBean調(diào)出信息,生成發(fā)文擬稿頁(yè)面,完成一次發(fā)文。4.1.2 發(fā)文工作流數(shù)據(jù)庫(kù)實(shí)現(xiàn)在本系統(tǒng)中,發(fā)文模塊流程為參考流程為:開(kāi)始 申請(qǐng)人(擬稿)提交同部門(mén)工作人員(核稿) 部門(mén)領(lǐng)導(dǎo)(審稿或會(huì)簽) 辦公室文員(校稿)辦公室主任(定稿) 單位領(lǐng)導(dǎo)(簽發(fā))擬稿人(處室復(fù)核) 公文管理員(歸檔) 結(jié)束以擬稿到和核稿為例,流程圖為圖4-2所示。開(kāi)始擬稿提交核稿是否合格合格YN結(jié)束核稿提交圖4-2 發(fā)文管理從審稿到核稿流程圖由于整個(gè)發(fā)文流程很復(fù)雜,故我們采用樹(shù)型結(jié)構(gòu)來(lái)實(shí)現(xiàn)它,表4-1為其在SQL中的發(fā)文流程的結(jié)點(diǎn)表。表4-2為發(fā)文工作流信息表。表4-2中已定義了各字段的屬性,而其中的Direction是控制方向,R值代表指向后一步操作,L值代表指向前一操作,這樣就保證了流程的通暢。表4-1發(fā)文工作流表Node_No_SNode_No_EDirectionFlow_nameFlow_DescOrder_byWorkflow_No00000010000002R擬稿提交從擬稿到核稿000000100000020000003R核稿提交從核稿到審稿100000100000020000001L核稿退回從核稿退回到擬稿200000100000030000004R審稿提交從審稿到校稿300000100000030000001L審稿退回從審稿退回到擬稿400000100000040000005R校稿提交從校稿到定稿500000100000040000001L校稿退回從校稿退回到擬稿600000100000050000006R定稿提交從校稿到簽發(fā)700000100000050000004L定稿退回從定稿退回到校稿800000100000060000007R簽發(fā)提交從定稿到簽發(fā)900000100000060000001L簽發(fā)退回從簽發(fā)退回到擬稿1000000100000070000008R打印發(fā)送歸檔提交從簽發(fā)到打印發(fā)送歸檔110000010000008R完成發(fā)文歸檔發(fā)文歸檔12000001表4-2 發(fā)文工作流信息表表 名字段名類(lèi)型大小可空約束備注WorkFlow_MessageNode_Nointeger7N主鍵指向編號(hào)Node_No_Sinteger7N頭結(jié)點(diǎn)編號(hào)Node_No_Einteger7Y尾結(jié)點(diǎn)編號(hào)Directionvarchar1N結(jié)點(diǎn)方向Flow_Namevarchar100N結(jié)點(diǎn)名Flow_Descvarchar100N流向名Order_byinteger7N順序號(hào)Workflow_Nointeger7N工作流編號(hào)4.1.3 收文查詢(xún)中值對(duì)象控制在4.1.1文中我們已提出值對(duì)象(VO)的概念,這里有必要在聲明以下什么是值對(duì)象,即用于把數(shù)據(jù)從某個(gè)對(duì)象/層傳遞到其他對(duì)象/層的Java對(duì)象。它提供了一個(gè)或一組值的實(shí)體信息。收文流程為流程:開(kāi)始 辦公室人員(登記)提交辦公室主任(擬辦) 單位領(lǐng)導(dǎo)(批示) 主辦處室負(fù)責(zé)人(主辦)協(xié)辦處室負(fù)責(zé)人(分辦) 辦公室文員(打印排版,發(fā)送)公文管理員(歸檔) 結(jié)束。不難發(fā)現(xiàn),收文流程和發(fā)文是很類(lèi)似的,另外,在收文管理中還提供了四個(gè)功能,即登記、處理、閱讀和查詢(xún)。而它們就是通過(guò)值對(duì)象的傳遞控制的。下面我們將以收文查詢(xún)?yōu)槔?,分析值?duì)象在其中的作用:當(dāng)點(diǎn)擊收文查詢(xún),進(jìn)入“公文收文【查詢(xún)】”頁(yè)面,就可以按來(lái)文標(biāo)題、來(lái)文文號(hào)、來(lái)文單位、緊急程度、公文密級(jí)、收文編號(hào)、收文日期、備注等信息進(jìn)行組合查詢(xún)。系統(tǒng)根據(jù)你的查詢(xún)條件返回查詢(xún)頁(yè)面,然后你就可以瀏覽查詢(xún)結(jié)果中你所需的公文。以下是收文查詢(xún)的算法:package .ssct.oa.doc.persistence; / 加載persistence包import .ssct.oa.doc.valueobject.DocRecVO; / 調(diào)用VO值對(duì)象import .ssct.DBConnBean;import java.sql.Connection; /*根據(jù)主鍵查詢(xún)收文值對(duì)象 *param id 公文編號(hào) * return docRecVO對(duì)象,如果不存在返回一個(gè)空對(duì)象,但不允許返回 null */ public DocRecVO queryByID(String id) DocRecVO docRecVO = null; PreparedStatement stat = null; ResultSet rs = null; String strSql = select * from Doc_Tb_Rec where RecDocNo=? ; / 嵌入sql語(yǔ)句查詢(xún) .ssct.DBConnBean ObjDBConnBean = .ssct.DBConnBean.getInstance(); Connection conn =ObjDBConnBean.getConnection(goa); try stat = conn.prepareStatement(strSql); stat.setString(1,id); rs = stat.executeQuery(); while (rs.next() docRecVO = new DocRecVO(); docRecVO.setRecDocNo(rs.getString(RecDocNo); docRecVO.setCome_Title(rs.getString(Come_Title); docRecVO.setCome_Doc_No(rs.getString(Come_Doc_No); docRecVO.setCome_Doc_Dept(rs.getString(Come_Doc_Dept); docRecVO.setDC_Doc_Exigence(rs.getString(DC_Doc_Exigence); docRecVO.setDC_Doc_Security(rs.getString(DC_Doc_Security); docRecVO.setIn_Doc_No(rs.getString(In_Doc_No); docRecVO.setIn_Doc_Date(rs.getString(In_Doc_Date); docRecVO.setIn_Doc_Dept(rs.getString(In_Doc_Dept); docRecVO.setCome_Content(rs.getString(Come_Content); docRecVO.setMemo(rs.getString(Memo); docRecVO.setFile_ID(rs.getString(File_ID); docRecVO.setEnter_User_No(rs.getString(Enter_User_No); docRecVO.setEdit_DateTime(rs.getString(Edit_DateTime); docRecVO.setEnter_DateTime(rs.getString(Enter_DateTime); docRecVO.setRecordID(rs.getString(RecordID); docRecVO.setTemplate(rs.getString(Template); docRecVO.setFileType(rs.getString(FileType); docRecVO.setHTMLPath(rs.getString(HTMLPath); docRecVO.setStatus(rs.getString(Status);docRecVO.setMain_Do_User_Nos(rs.getString(Main_Do_User_Nos);docRecVO.setOther_Do_User_Nos(rs.getString(Other_Do_User_Nos);docRecVO.setRead_Do_User_Nos(rs.getString(Read_Do_User_Nos); docRecVO.setSend_RecordID(rs.getString(Send_RecordID); /*按來(lái)文標(biāo)題、來(lái)文文號(hào)、來(lái)文單位、緊急程度、公文密級(jí)、收文編號(hào)、收文日期、備注等信息進(jìn)行組合查詢(xún)*/ catch (SQLException e) SysDebug.prt(this,queryByID(String),strSql,e); finally ObjDBConnBean.freeConnection(goa,conn); return docRecVO;/* * 根據(jù)動(dòng)態(tài)SQL語(yǔ)句查詢(xún) * param conditionSql 動(dòng)態(tài)SQL語(yǔ)句 * return Collection,如果不存在返回一個(gè)空集合,但不允許返回 null */ public Collection queryByDynamicSql(String conditionSql) ArrayList docRecVOList = new ArrayList(); DocRecVO docRecVO = null; Statement stat = null; ResultSet rs = null; String strSql = ; if(conditionSql.equalsIgnoreCase()/沒(méi)選定任何條件 strSql = select * from Doc_Tb_Rec ; else strSql = select * from Doc_Tb_Rec Where + conditionSql; .ssct.DBConnBean ObjDBConnBean = .ssct.DBConnBean.getInstance(); Connection conn =ObjDBConnBean.getConnection(goa); try stat = conn.createStatement(); rs = stat.executeQuery(strSql); while (rs.next() docRecVO = new DocRecVO(); docRecVO.setRecDocNo(rs.getString(RecDocNo); docRecVO.setCome_Title(rs.getString(Come_Title); docRecVO.setCome_Doc_No(rs.getString(Come_Doc_No); docRecVO.setCome_Doc_Dept(rs.getString(Come_Doc_Dept); docRecVO.setDC_Doc_Exigence(rs.getString(DC_Doc_Exigence); docRecVO.setDC_Doc_Security(rs.getString(DC_Doc_Security); docRecVO.setIn_Doc_No(rs.getString(In_Doc_No); docRecVO.setIn_Doc_Date(rs.getString(In_Doc_Date); docRecVO.setIn_Doc_Dept(rs.getString(In_Doc_Dept); docRecVO.setCome_Content(rs.getString(Come_Content); docRecVO.setMemo(rs.getString(Memo); docRecVO.setFile_ID(rs.getString(File_ID); docRecVO.setEnter_User_No(rs.getString(Enter_User_No); docRecVO.setEdit_DateTime(rs.getString(Edit_DateTime); docRecVO.setEnter_DateTime(rs.getString(Enter_DateTime); docRecVO.setRecordID(rs.getString(RecordID); docRecVO.setTemplate(rs.getString(Template); docRecVO.setFileType(rs.getString(FileType); docRecVO.setHTMLPath(rs.getString(HTMLPath); docRecVO.setStatus(rs.getString(Status);docRecVO.setMain_Do_User_Nos(rs.getString(Main_Do_User_Nos);docRecVO.setOther_Do_User_Nos(rs.getString(Other_Do_User_Nos);docRecVO.setRead_Do_User_Nos(rs.getString(Read_Do_User_Nos); docRecVO.setSend_RecordID(rs.getString(Send_RecordID); docRecVOList.add(docRecVO); catch (SQLException e) SysDebug.prt(this,queryByDynamicSql(String),strSql,e); finally ObjDBConnBean.freeConnection(goa,conn); return docRecVOList; 首先,在一開(kāi)始要調(diào)用一個(gè)persistence包以使VO(值對(duì)象)與數(shù)據(jù)庫(kù)之間的數(shù)據(jù)交互,然后建立JDBC連接,以便JavaBean將VO的值傳給SQL。在根據(jù)條件如來(lái)文標(biāo)題、來(lái)文文號(hào)、來(lái)文單位、緊急程度、公文密級(jí)、收文編號(hào)、收文日期、備注等信息進(jìn)行組合查詢(xún),這一步將調(diào)用SQL的查詢(xún)語(yǔ)句完成,而在最后生成一個(gè)view.jsp的頁(yè)面文件。我們利用UML語(yǔ)言建立上述收文查詢(xún)的順序圖,它是用來(lái)描述對(duì)象之間的動(dòng)態(tài)合作關(guān)系以及合作過(guò)程中的行為次序。它包含一系列對(duì)象:ClientViewServletSearch (Rec VO)View.jsp SQL數(shù)據(jù)庫(kù)。虛線表示該對(duì)象的生命線。箭頭表示消息串??杉?xì)分為簡(jiǎn)單消息如1,2,3,4,5,7,8和異步消息如6,9。ClientViewServletSearch (Rec VO)View.jspSQL數(shù)據(jù)庫(kù)3:返回查詢(xún)結(jié)果集2:執(zhí)行查詢(xún)操作1:查詢(xún)公文4:創(chuàng)建用于保存結(jié)果的Collection對(duì)象5:從數(shù)據(jù)庫(kù)查詢(xún)結(jié)果集中讀取數(shù)據(jù),設(shè)置Collection6:把Collection保存到request中7:forward8:讀取結(jié)果9:顯示圖5-11 收文查詢(xún)操作的順序圖4.2 用戶(hù)權(quán)限管理在WebOA系統(tǒng)中,主要是管理用戶(hù)的一系列活動(dòng),包括公告、通知等來(lái)輸入的數(shù)據(jù)信息。數(shù)據(jù)類(lèi)型決定了處理的方式也就是算法,因此,數(shù)據(jù)是系統(tǒng)實(shí)現(xiàn)的起點(diǎn)。在此,我們將使用數(shù)據(jù)流圖(DFD)來(lái)分析數(shù)據(jù)的流動(dòng)和走向。因?yàn)閷?duì)每一種對(duì)象的管理都比較類(lèi)似,在此僅以行政辦公中的公文管理的權(quán)限,來(lái)分析一下本系統(tǒng)中的數(shù)據(jù)流向.主要數(shù)據(jù)關(guān)系是管理員對(duì)該子系統(tǒng)涉及的相關(guān)數(shù)據(jù)進(jìn)行管理,而用戶(hù)在前臺(tái)可以瀏覽查詢(xún)相關(guān)信息,總體圖如圖3-1所示。零級(jí)圖如圖3-2所示。0用戶(hù)管理子系統(tǒng)用戶(hù)查詢(xún)條件查詢(xún)結(jié)果和瀏覽信息下載信息注冊(cè)登錄信息管理員更新數(shù)據(jù)提供數(shù)據(jù)圖4-3 用戶(hù)管理子系統(tǒng)總體圖管理員用戶(hù)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論