基于Web的工作流管理系統(tǒng)的設計分析_第1頁
基于Web的工作流管理系統(tǒng)的設計分析_第2頁
基于Web的工作流管理系統(tǒng)的設計分析_第3頁
基于Web的工作流管理系統(tǒng)的設計分析_第4頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、基于Web的工作流管理系統(tǒng)的設計分析        摘要  工作流技術是工作流管理系統(tǒng)(WfMS)的核心技術,它是提高業(yè)務過程效率和生產率的關鍵技術。隨著internet應用的普及和Web技術的,傳統(tǒng)的C/S模式設計的自動化管理系統(tǒng)已不能很好地滿足用戶的需求,采用B/S結構已成為新一代工作流管理系統(tǒng)的主要特征。本文研究了工作流技術和WEB技術在電話網(wǎng)管理系統(tǒng)中的應用,采用了跨平臺的JSP技術開發(fā),模塊化設計,實現(xiàn)了流程自定義和部門功能自定義,并且支持大型數(shù)據(jù)庫。 關鍵詞  工作流、工作流管理系統(tǒng)

2、、BS結構、WFMC、WFMS、JSP技術、JDBC   隨著社會生產的流程化,工作流起著越來越重要的作用。根據(jù)工作流管理聯(lián)盟WfMC(Workflow Management Coalition)的定義,工作流(Workflow)就是自動運作的業(yè)務過程部分或整體,表現(xiàn)為參與者對文件、信息或任務按照規(guī)程采取行動,并令其在參與者之間傳遞。本文詳細介紹了電話業(yè)務系統(tǒng)中工作流管理系統(tǒng)的分析和建模過程。 1 工作流技術概述 工作流的概念產生自傳統(tǒng)制造業(yè)的生產組織?!傲鳌狈从沉艘环N變化以及變化的過程,是一個較為抽象的概念。針對日常工作中一系列具有相對固定順序的業(yè)務流程,把這些流程分解成多個任務、

3、角色,按照一定的規(guī)則來執(zhí)行和監(jiān)控的任務序列,以達到提高經(jīng)營效率,降低成本,提高管理水平的目的。 不同的研究者和工作流產品的供應商從不同的角度給出了工作流的定義,工作流管理聯(lián)盟WFMC(成立于1993年8月)為了實現(xiàn)不同的工作流產品的互操作,對工作流的相關概念制定了一系列標準。WFMC給出的工作流定義是:工作流是一類能夠完全或者部分自動執(zhí)行的經(jīng)營過程,它根據(jù)一系列過程規(guī)則、文檔、信息或任務,能夠在不同的執(zhí)行者之間進行傳遞與執(zhí)行。該定義強調了工作流的執(zhí)行可以“完全自動或者部分自動”,即:工作流反映企業(yè)的經(jīng)營過程,它的執(zhí)行應該受到機系統(tǒng)的支持。同時需要經(jīng)營過程本身任務間的執(zhí)行條件、先后順序、邏輯結構

4、、交互信息、人員角色以及需要使用的應用程序等要素。 工作流中兩個最基本的元素是活動和活動之間的連接關系?;顒訉谄髽I(yè)經(jīng)營過程中的任務,主要是反映經(jīng)營過程中的執(zhí)行動作或者操作?;顒又g的連接關系代表了經(jīng)營過程的規(guī)則和業(yè)務流程。一個工作流就是一個用一組連接關系組合起來的一組活動所組成的一個反映企業(yè)業(yè)務過程的模型。執(zhí)行活動和活動之間的連接關系說明了如何完成企業(yè)的經(jīng)營過程,包括完成經(jīng)營過程需要完成哪些任務和采用的步驟。   2 基于WEB工作流的提出及其優(yōu)點 WEB的成功和普及以及各種相關技術的出現(xiàn),使許多應用被移植到WEB平臺上。自從1995年起,工作流產品供應商和相關的研究人員開始將工

5、作流管理系統(tǒng)轉移到WEB平臺上。相對于其他的工作流系統(tǒng)(如:基于文件、基于消息等的工作流系統(tǒng))來說,基于WEB的工作流管理系統(tǒng)具有以下幾個優(yōu)點: · 系統(tǒng)維護簡單 未來的計算模式,瀏覽器就是桌面,客戶端都是WEB-enabled的?;赪EB的工作流系統(tǒng)中客戶端只需要一個瀏覽器,瀏覽器通過HTTP協(xié)議從WEB服務器下載客戶端程序到本地執(zhí)行,這樣大大簡化了系統(tǒng)的維護工作。 · 利用現(xiàn)有的設施 只要能訪問WEB就能加入系統(tǒng)參與工作。無須在單獨投資建立通信支持網(wǎng)絡。非常方便分散的成員參與到系統(tǒng)中來。 · 更好的用戶界面 由于WEB瀏覽器普遍存在的特性使得基于WEB的工作

6、流系統(tǒng)有一個更好的用戶界面。WEB瀏覽器允許用戶利用任何流行的計算平臺參與工作流過程而無需任何特定的硬件要求。很多不是很熟悉計算機的用戶已經(jīng)習慣于瀏覽器的簡單易用的界面,他們把瀏覽器當作一種簡單可行的工具來參與工作流過程。因此,相比于其他的工作流技術來說,基于WEB的工作流憑借它的瀏覽器界面接口具有很大的優(yōu)勢。 ·較好的解決服務器的瓶頸問題 基于WEB的工作流系統(tǒng)可以將服務分散到WEB服務器和各應用服務器,這樣可以較好的實現(xiàn)負載均衡和協(xié)同開發(fā)。 ·可以充分利用現(xiàn)有的或將來的技術 WEB技術是當前最熱門的技術之一,新的技術層出不窮,一些原有的技術也被整合到WEB技術中來。 &

7、#160; 3  系統(tǒng)分析與總體設計 隨著計算機技術的飛速發(fā)展,信息化管理已經(jīng)滲透到各行各業(yè),電信局作為國家通信部門,其信息化成為一種必然的趨勢。尤其在Java逐漸成熟成為一種跨平臺的開發(fā)語言后,用Java開發(fā)跨平臺的軟件系統(tǒng)是首選,再以Struts結構將JSP與Java代碼有效的分開,使開發(fā)更加方便。還有由于通信業(yè)務的特殊性,將工作流技術應用到系統(tǒng)的開發(fā)中。這些技術的應用將是一個十分有意義的課題。本文以某電信局的電話業(yè)務管理系統(tǒng)為背景。 3.1 系統(tǒng)組織結構 通信要素實行扁平化管理,通信處下設若干個職能部門,主要有8個通信要素,它們是:通信處、市話辦、測量臺、程控機房、電纜維護隊、

8、單機組、查號臺、計費中心。其中通信處負責監(jiān)視所有業(yè)務的處理,市話辦負責監(jiān)視與管理所有業(yè)務的處理,負責整個工作流程的創(chuàng)建、監(jiān)視、中斷。 3.2系統(tǒng)的功能模塊劃分 某電信局電話業(yè)務管理系統(tǒng)(CSMS)共分為五個功能模塊: 電話管理功能模塊:該功能模塊主要是通過采用工作流自動處理技術,保證了通信管理部門的業(yè)務處理終端在各種業(yè)務流程的處理過程中能自動地完成工作狀態(tài)的切換,并且根據(jù)各個終端當前的工作狀態(tài)自動提示相關業(yè)務的具體內容,并在用戶完成必要的操作輸入后自動完成相關設備的配置和資料的整理。根據(jù)業(yè)務類型的不同,該模塊中還包含針對不同業(yè)務處理流程的功能子模塊。 通信業(yè)務資料查詢管理功能模塊:該模塊向各個

9、通信要素提供相關通信設備資料和電話用戶資料的管理和查詢功能,并且根據(jù)每個通信要素的管理權限限制用戶管理和查詢資料的范圍,從而保證用戶能夠利用本系統(tǒng)安全、方便、有效地完成對各種通信設備資源與電話用戶資料的管理。 業(yè)務量統(tǒng)計查詢功能模塊:流量、電話號碼使用情況等,并能對每天、周、月、年的工作量進行統(tǒng)計匯總,而且還可以直接計算出這一段時間內處理成功業(yè)務的比例,從而為通信管理部門及時掌握業(yè)務處理部門的工作情況提供了有效的工具。指揮管理終端可通過調閱各要素表報資料和業(yè)務量登記情況來檢查各要素值勤情況系統(tǒng)使用說明。 消息通知及語音提示功能模塊:為了保證各種電話業(yè)務流程能夠在工作流周轉過程中實現(xiàn)快速有效地處

10、理,系統(tǒng)還提供了消息通知及語音提示功能功能,即在每個業(yè)務流程到達處理崗位的同時,彈出消息對話框提示用戶及時地進行業(yè)務的處理,而且還能夠伴隨著語音信息的輸出,從而保證了值勤人員不管是否在系統(tǒng)終端前進行操作都能夠及時地接收到業(yè)務消息的通知,保障了業(yè)務受理部門能夠及時地進行電話業(yè)務的處理。 通信值勤監(jiān)管功能模塊:該模塊向各個業(yè)務處理要素提供了值班日記登記的功能,各個通信要素的值班人員可在交接班的時候利用系統(tǒng)提供的值班日記登記、管理功能填寫交接班記錄,在值班的過程中填寫值班記錄。 采用工作流技術,將以上各個子系統(tǒng)整合到一起,以便將各環(huán)節(jié)縱橫交錯的信息有效地集成在一起,使一個環(huán)節(jié)產生的結果能自動傳遞到下

11、一個環(huán)節(jié),為下一環(huán)節(jié)所利用,以保證通信部門及時、準確的做出決策,同時,反映到用戶操作上,每個用戶所有需要完成的工作反映在一個統(tǒng)一的界面中,用戶根據(jù)輕重緩急有選擇的進行業(yè)務處理。工作流服務器具有流程監(jiān)控功能,如果監(jiān)控系統(tǒng)發(fā)現(xiàn)在接近預定時間內任務還沒有完成或發(fā)現(xiàn)任務已經(jīng)拖延,可以向有關的業(yè)務處理人員發(fā)出催辦通知,甚至可以通知該部門的主管,要求予以督促。  1         3.3 工作流狀態(tài)引擎 由于各個崗位在業(yè)務處理的過程中會不斷的改變狀態(tài),所以系統(tǒng)需要有一種狀態(tài)通知、調整的機制,來執(zhí)行實時傳遞與接收業(yè)務

12、流程管理信息以及變換各個崗位在不同業(yè)務流程中多個流程實例所處狀態(tài)的功能并調整對應的操作。 因此,我們專門在系統(tǒng)中設計了“狀態(tài)引擎”模塊來完成以上功能。其中業(yè)務流程管理信息的實時傳送與接收可以通過通信來完成,因此在工作流“狀態(tài)引擎”中需要設計一個實時通信子模塊。為了對工作流狀態(tài)進行操作,“狀態(tài)引擎”中需要設計一個狀態(tài)操作子模塊。 某個崗位完成對某個流程實例的操作后,“狀態(tài)引擎”的狀態(tài)操作子模塊修改本崗位有關狀態(tài),然后實時通信子模塊發(fā)送信息;接收崗位的“狀態(tài)引擎”的實時通信子模塊接收信息,狀態(tài)操作子模塊根據(jù)接收的信息來調整本崗位當前的狀態(tài)并提示用戶進行相應操作。 3.4 工作流引擎選擇4 工作流模

13、塊實現(xiàn)的關鍵技術 分布式數(shù)據(jù)庫技術是實現(xiàn)工作流的常用方法,也是系統(tǒng)中實現(xiàn)業(yè)務工作流運轉的基礎。我們利用SQLSERVER數(shù)據(jù)庫,在JBUILDER集成開發(fā)環(huán)境上實現(xiàn)了系統(tǒng)中通信業(yè)務的工作流處理,系統(tǒng)中數(shù)據(jù)庫連接采用了JDBC技術,其主要工作包括以下幾個方面: 4.1 JSP和Servlet技術 JSP技術能讓Web開發(fā)員和網(wǎng)頁設計員快速地開發(fā)容易維護的動態(tài)Web主頁。 用JSP開發(fā)的Web應用是跨平臺的,既能在Linux下運行,也能在其他操作系統(tǒng)上運行。 JSP有2種結構,本系統(tǒng)采用Model2即MVC結構如圖2。MVC是模型、視圖、控制的縮寫,也就是說在使用jsp時,有相應的文件去實現(xiàn)相應的

14、操作通常jsp只負責顯示頁面。業(yè)務邏輯等由javabean去實現(xiàn)。 圖2 Servlet技術是JSP技術的前身, JSP技術其實就是Servlet技術的一個高層封裝。實際上JSP引擎要把JSP標簽、JSP頁中的Java代碼甚至連同靜態(tài)HTML內容都轉換為大塊的Java代碼。這些代碼塊被JSP引擎組織到用戶看不到的Java Servlet中去,然后Servlet自動把它們編譯成Java字節(jié)碼。這樣,當網(wǎng)站的訪問者請求一個JSP頁時,在他不知道的情況下,一個已經(jīng)生成的、預編譯過的Servlet實際上將完成所有的工作。非常隱蔽而且高效。因為Servlet是編譯過的,所以網(wǎng)頁中的JSP代碼不需要在每次

15、請求該頁時被解釋一遍。JSP引擎只需在Servlet代碼最后被修改后編譯一次,然后這個編譯過的Servlet就可以被執(zhí)行了。由于是JSP引擎自動生成并編譯Servlet,不用程序員動手編譯代碼,所以JSP能帶給你高效的性能和快速的靈活性。 4.2 數(shù)據(jù)庫連接技術 JDBC是對各種各樣的關系型或對象關系型數(shù)據(jù)庫進行訪問的最主要的API之一,是一個使JAVA程序能與數(shù)據(jù)庫服務器通信的JAVA應用程序接口,它不針對任何特定的數(shù)據(jù)庫。JDBC技術由兩大部分組成,一部分是訪問數(shù)據(jù)庫的高級接口,即通常所說的JDBC  API,包括核心API與擴展API;另一部分是一些由數(shù)據(jù)庫廠家提供的使JAVA

16、程序能夠與數(shù)據(jù)庫連接通信的驅動程序,JDBC數(shù)據(jù)庫驅動程序必須針對特定的數(shù)據(jù)庫系統(tǒng)實現(xiàn)JDBC  API中定義的方法。使用JDBC  API編寫訪問數(shù)據(jù)庫的JSP程序時,調用的方法實際上是由JDBC數(shù)據(jù)庫驅動程序實現(xiàn)的。JDBC  API大部分都是一些JAVA接口,僅僅定義了方法的名字,沒有定義方法的實體。高性能的JDBC數(shù)據(jù)庫驅動程序實現(xiàn)了真正接口,在JAVA應用程序與數(shù)據(jù)庫服務器之間搭起了一座橋梁,使得它們之間可以迅捷地交換數(shù)據(jù),提供服務或者享受服務。 常用的2種數(shù)據(jù)庫連接方式:JDBC driver和JDBC-ODBC bridge,本系統(tǒng)采用JDBC dr

17、iver。首先,在服務器上安裝driver,大多數(shù)數(shù)據(jù)庫都有JDBC driver;然后和數(shù)據(jù)庫建立連接。必須創(chuàng)建一個Connection class的實例,其中包括數(shù)據(jù)庫的信息。 對于一個簡單的數(shù)據(jù)庫應用,對數(shù)據(jù)庫的訪問不是很頻繁。這時可以簡單地在需要訪問數(shù)據(jù)庫時,就新創(chuàng)建一個連接,用完后就關閉它。但是對于一個復雜的數(shù)據(jù)庫應用,頻繁的建立、關閉連接,會極大的減低系統(tǒng)的性能,因此對于連接的使用成了系統(tǒng)性能的瓶頸。 本系統(tǒng)給出的方法可以有效的解決這個問題。在本方法中提出了一個合理、有效的連接管理策略,避免了對于連接的隨意、無規(guī)則的使用。該策略的核心思想是:連接復用。通過建立一個數(shù)據(jù)庫連接池以及一

18、套連接使用管理策略,使得一個數(shù)據(jù)庫連接可以得到高效、安全的復用,避免了數(shù)據(jù)庫連接頻繁建立、關閉的開銷。另外,由于對JDBC中的原始連接進行了封裝,從而方便了數(shù)據(jù)庫應用對于連接的使用(特別是對于事務處理),提高了開發(fā)效率,也正是因為這個封裝層的存在,隔離了應用的本身的處理邏輯和具體數(shù)據(jù)庫訪問邏輯,使應用本身的復用成為可能。 本系統(tǒng)的數(shù)據(jù)庫連接池包括一個管理類DBConnectionManager,負責提供與多個連接池對象(DBConnectionPool類)之間的接口。每一個連接池對象管理一組JDBC連接對象,每一個連接對象可以被任意數(shù)量的Servlet共享。 類DBConnectionPool提供以下功能: 1)       從連接池獲?。ɑ騽?chuàng)建)可用連接。 2)       把連接返回給連接池。 3)       在系統(tǒng)關閉時釋放所有資源,關閉所有連接。 此外, DBConnec

溫馨提示

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

最新文檔

評論

0/150

提交評論