工作流環(huán)境下組件的開發(fā)_第1頁
工作流環(huán)境下組件的開發(fā)_第2頁
工作流環(huán)境下組件的開發(fā)_第3頁
工作流環(huán)境下組件的開發(fā)_第4頁
工作流環(huán)境下組件的開發(fā)_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、pood工作流環(huán)境下組件的開發(fā)雷聚超 范夢龍(西安工業(yè)大學(xué)計(jì)算機(jī)學(xué)院 西安 710021)摘 要:本文旨在對工作流環(huán)境下組件的開發(fā)進(jìn)行研究。將工作流技術(shù)與組件技術(shù)相結(jié)合,討論構(gòu)建工作流組件的方法,通過在開發(fā)中結(jié)合Ajax技術(shù),使之克服傳統(tǒng)的Web應(yīng)用中同步交換問題,開發(fā)出能夠適用于Web的工作流環(huán)境下的組件。充分運(yùn)用了工作流中流程組件的重組性,可以根據(jù)不同行業(yè)的需求很快重組成適合該行業(yè)的與工作流相關(guān)的應(yīng)用系統(tǒng)。關(guān)鍵詞:工作流;組件;Ajax;Web組件中圖分類號:TP302文獻(xiàn)標(biāo)識碼:AThe development of components under the workflow envir

2、onmentLEI Ju-chao, FAN Meng-long(Xian Technological University, Xian 710021,China)Abstract: This paper is aimed at researching the development of components under the workflow environment. The Workflow Technology will be combined with component technology for discussing the methods of constructing w

3、orkflow components. In addition, the Ajax technology will be added in the development process for overcoming the traditional synchronous exchange problem in Web application. It will develop the components which is applicable to workflow environment based on Web. The application utilizes the reconfig

4、uration of processing components in the workflow. In future, this applied system which related to the workflow can be restructured conveniently for applying to different industries according to their various demands.Key Words: Workflow; Components; Ajax;Web component隨著市場競爭的加劇和計(jì)算機(jī)技術(shù)的發(fā)展,企業(yè)必須尋求一種新的技術(shù)來優(yōu)

5、化他們的業(yè)務(wù)流程,于是工作流技術(shù)應(yīng)運(yùn)而生,它成為實(shí)現(xiàn)企業(yè)信息化建設(shè)、提高企業(yè)運(yùn)營效率的有效途徑。但是,工作流管理系統(tǒng)的開發(fā)隨著企業(yè)要求的變更要做許多重復(fù)性的工作,軟件的可擴(kuò)充性、可重用性等方面的問題日益突出,本文將組件技術(shù)與工作流技術(shù)相結(jié)合使這方面的問題得到解決。在新技術(shù)背景下,工作流技術(shù)進(jìn)入一個(gè)嶄新的發(fā)展階段。一些著名的工作流商業(yè)軟件供應(yīng)商不斷推出新產(chǎn)品,其中比較著名的企業(yè)級工作流產(chǎn)品有BEA 的WLI,IBM 的holosofx 與MQSeries 工作流,F(xiàn)ujitsu 的Iflow,SAP 的NetWeaver,Sonic 的Orchestration Server。特別是基于Web

6、的工作流系統(tǒng),已成為一種新的市場流行趨勢。代表產(chǎn)品有Ultimus 的業(yè)務(wù)流程管理產(chǎn)品等1。目前工作流管理系統(tǒng)存在設(shè)計(jì)實(shí)現(xiàn)復(fù)雜、可靠性、重用性差等問題。本文在研究工作流環(huán)境下組件的開發(fā)過程中,為使開發(fā)的組件能夠良好的應(yīng)用于B/S結(jié)構(gòu),采用了Ajax技術(shù),實(shí)現(xiàn)異步交互過程,解決了傳統(tǒng)Web應(yīng)用中會出現(xiàn)的屏幕閃爍、刷新問題。1 工作流技術(shù)工作流概念起源于生產(chǎn)組織和辦公自動化領(lǐng)域,是針對日常工作中具有固定程序活動而提出的一個(gè)概念。工作流技術(shù)主要是利用計(jì)算機(jī)科學(xué)技術(shù),并結(jié)合企業(yè)具體產(chǎn)品開發(fā)過程與經(jīng)營管理進(jìn)行信息化軟件系統(tǒng)的應(yīng)用開發(fā),達(dá)到企業(yè)經(jīng)營和生產(chǎn)過程全自動或半自動化的執(zhí)行和管理2?,F(xiàn)在,工作流技術(shù)

7、已成為企業(yè)信息化建設(shè)方案中比不可少的內(nèi)容之一,它被廣泛的應(yīng)用于電訊業(yè)、軟件工程、制造業(yè)、金融業(yè)和辦公自動化等領(lǐng)域。盡管工作流發(fā)展到現(xiàn)在已經(jīng)取得了相當(dāng)?shù)某删?,但其概念目前還沒有完全統(tǒng)一的定義。其中被廣泛引用的是工作流管理聯(lián)盟(Workflow Management Coal ition,WfMC)對工作流的定義:工作流是一類能夠完全或者自動執(zhí)行的經(jīng)營過程,根據(jù)一系列過程規(guī)則、文檔、信息或任務(wù)在不同的執(zhí)行者之間進(jìn)行傳遞與執(zhí)行。2 組件技術(shù)組件是一個(gè)獨(dú)立的可傳遞的操作的集合,是軟件開發(fā)中一個(gè)可替換的軟件單元,它封裝了設(shè)計(jì)決策,具有特定的功能3。一個(gè)軟件組件是可執(zhí)行軟件的一個(gè)可分離的部分,可以與其它組

8、件實(shí)現(xiàn)互操作,只能通過組件的接口來訪問它,在進(jìn)行了必要的安裝和裝配過程之后,它就能以接口規(guī)定的方式來使用。組件技術(shù)是面向?qū)ο蠹夹g(shù)之后的軟件開發(fā)的標(biāo)準(zhǔn)方法體系。近年來,組件技術(shù)主要有以下三種,OMG的CORBA(通用對象請求代理結(jié)構(gòu))規(guī)范,Sun公司的JavaBean/EJB/J2EE規(guī)范和 Microsoft公司的COM/DCOM/COM+ 規(guī)范,它們各有各的特點(diǎn),但思想是一致的。利用組件,可以堆積木似的搭建軟件系統(tǒng),從而實(shí)現(xiàn)軟件的大粒度復(fù)用,縮短開發(fā)周期,降低維護(hù)成本。隨著軟件復(fù)用技術(shù)的日益成熟,利用可復(fù)用組件構(gòu)造軟件系統(tǒng)已成為軟件開發(fā)的主要手段。3 工作流環(huán)境下組件的開發(fā)考慮系統(tǒng)的功能及組

9、件之間的協(xié)調(diào)工作,組件的開發(fā)及部署過程一般分為根據(jù)系統(tǒng)的需求分析進(jìn)行組件的設(shè)計(jì)、組件的定義、裝配、運(yùn)行及測試等幾步。本文將重點(diǎn)放在研究工作流組件的開發(fā)上。3.1 組件的設(shè)計(jì)為了保證組件在復(fù)用、組裝和擴(kuò)展上的可行性,組件設(shè)計(jì)應(yīng)遵循以下原則:(1)組件的設(shè)計(jì)應(yīng)根據(jù)子系統(tǒng)或子功能來劃分,使組件與領(lǐng)域內(nèi)實(shí)體或者功能對應(yīng);(2)組件的接口設(shè)計(jì)要規(guī)范友好,使開發(fā)人員能夠方便地使用;(3)組件的適應(yīng)性強(qiáng),盡可能能滿足不同行業(yè)的需求;(4)組件發(fā)布前必須進(jìn)行測試、審查。在進(jìn)行工作流環(huán)境下組件的設(shè)計(jì)時(shí),考慮到工作流的特殊性,我們不能僅僅按照設(shè)計(jì)一般組件的步驟來進(jìn)行工作流組件設(shè)計(jì)。工作流最基本的功能就是實(shí)現(xiàn)數(shù)據(jù)處

10、理的自動流轉(zhuǎn),當(dāng)設(shè)計(jì)工作流組件時(shí)不能簡單的為每個(gè)工作流都建立組件,這樣會存在一些問題,如:增加或調(diào)整工作流,就要對相應(yīng)的組件進(jìn)行修改,這樣不夠靈活;而且,有的組件是可以共用的,我們就可以把它歸為通用組件,每個(gè)流程都可以使用,這樣就減少了代碼冗余。根據(jù)以上分析,一般情況下,我們將組件劃分成界面管理組件、權(quán)限控制組件、通用組件、流程控制組件、報(bào)表組件、數(shù)據(jù)庫訪問組件等。 圖1 工作流環(huán)境下組件結(jié)構(gòu)圖Figure 1 Components structure Under the environment of the workflow界面管理組件是系統(tǒng)與用戶交互的各種組件的總和。驗(yàn)證用戶是否為系統(tǒng)的合

11、法用戶以及用戶信息是否合法等。權(quán)限控制組件是管理系統(tǒng)所有使用者的身份的組件,它與流程控制組件關(guān)系密切,以不同的身份登錄系統(tǒng)通過調(diào)用權(quán)限控制控制組件,直接控制系統(tǒng)數(shù)據(jù)流向。流程控制組件是工作流組件的核心,它對于各個(gè)工作節(jié)點(diǎn)來說具有一定的通用性,負(fù)責(zé)把所有節(jié)點(diǎn)中復(fù)用的已有組件信息整合到一起來控制業(yè)務(wù)流程。我們可以為此組件添加流程名稱、流程來源名稱、前步編號、本步編號、下步編號、流程狀態(tài)表名、本步表名、前步表名等屬性,使之與其它組件關(guān)聯(lián)起來。這些編號信息由系統(tǒng)產(chǎn)生并保存于數(shù)據(jù)庫中,系統(tǒng)為這些信息創(chuàng)建特定的表,在用戶處理過程中,需要讀取這些信息,根據(jù)表名,系統(tǒng)從數(shù)據(jù)庫中讀取相應(yīng)的字段。數(shù)據(jù)訪問組件負(fù)責(zé)

12、從數(shù)據(jù)庫中檢索數(shù)據(jù)并把實(shí)體數(shù)據(jù)保存回?cái)?shù)據(jù)庫中。除此之外,它還包括實(shí)現(xiàn)數(shù)據(jù)相關(guān)操作所需的所有業(yè)務(wù)邏輯。報(bào)表組件負(fù)責(zé)從數(shù)據(jù)庫中讀取數(shù)據(jù),并將返回的結(jié)構(gòu)打印成需要的報(bào)表。 通用組件是供各流程共用的組件。它包括:時(shí)鐘組件、文本框組件、按鈕組件、日歷組件等等。3.2 定義組件由于本文研究適用于B/S結(jié)構(gòu)的工作流組件,Intrawb是基于Delphi的網(wǎng)絡(luò)編程平臺,在該平臺下可以采用繼承的方法自定義生成WEB組件,具體過程如下:(1)祖先類的確定。自定義WEB組件實(shí)質(zhì)上是根據(jù)需要派生新的組件類,而派生組件類的關(guān)鍵是選擇一個(gè)合適的祖先類,如果選的祖先類不合適,不但給創(chuàng)建新組件造成困難,甚至可能無法實(shí)現(xiàn)。 (

13、2)創(chuàng)建組件框架。組件框架包含祖先類名、組件的類名、組件顯示的面板頁和組件的單元名。(3)加入屬性、事件、方法。要構(gòu)建工作流環(huán)境下的組件,我們需要為每個(gè)組件設(shè)計(jì)一個(gè)標(biāo)志,用來定義組件的執(zhí)行順序;預(yù)先定義控制流程的組件的觸發(fā)條件、觸發(fā)事件。按照以上步驟編寫好組件代碼,進(jìn)行測試后,就可以將組件加入到組件包進(jìn)行編譯和安裝,供以后使用。3.3 Ajax技術(shù)的穿插在編寫組件代碼時(shí),我們需要注意一個(gè)問題,用IntraWeb可視化開發(fā)會出現(xiàn)屏幕刷新、閃爍的問題。這是由于傳統(tǒng)的Web應(yīng)用采用同步交互過程,這種情況下,用戶首先向Web服務(wù)器發(fā)送一個(gè)請求,然后Web服務(wù)器根據(jù)用戶請求的內(nèi)容,執(zhí)行相應(yīng)的任務(wù),并向用

14、戶返回結(jié)果,這是一種不連貫的用戶體驗(yàn),在服務(wù)器處理請求時(shí),用戶就只能等待著,此時(shí)瀏覽器顯示的頁面是空白的。由于同步模式的限制,瀏覽器在接收到服務(wù)器響應(yīng)之前是處于停滯狀態(tài)的,為了使開發(fā)出的組件給用戶更好的體驗(yàn),我們在編寫代碼時(shí),穿插Ajax技術(shù),解決前面提到的問題。Ajax的英文全稱是Asynchronous JavaScript and XML,中文含義為“異步JavaScript和XML”,是指一種創(chuàng)建交換式網(wǎng)頁應(yīng)用的網(wǎng)頁開發(fā)技術(shù)。圖2所示的是Ajax Web軟件體系架構(gòu)。從圖2可以看出,Ajax應(yīng)用程序比傳統(tǒng)的Web應(yīng)用程序多了一層Ajax引擎。Ajax通過發(fā)送XMLHTTP請求,實(shí)現(xiàn)將信

15、息發(fā)送到服務(wù)器并從服務(wù)器接收信息,從而大大減少了帶寬的浪費(fèi),同時(shí)XMLHTTP請求的發(fā)送是異步的,并不需要等待客戶端或者服務(wù)器的任何其他操作而可以獨(dú)立發(fā)送和接收,數(shù)據(jù)交換量的減少可以帶來更快的應(yīng)用,更好的用戶體驗(yàn)和更輕的服務(wù)器負(fù)擔(dān)4。由此可見,我們在編寫組件代碼的時(shí)候,穿插Ajax技術(shù)是很有必要的。 圖2 Ajax Web軟件體系架構(gòu) Figure 2 Ajax Web Software structure 另外,圖中的WEB組件這里主要是指Intraweb自身的組件和自定義WEB組件;組件的基礎(chǔ)設(shè)施是指為WEB組件提供公共的基礎(chǔ)服務(wù);WEB組件倉庫用來存放已存在基本組件和自定義組件;WEB應(yīng)

16、用程序是安裝在服務(wù)器端的,該應(yīng)用程序是建立在Intraweb平臺下的。4 結(jié)束語本文根據(jù)工作流技術(shù)的特點(diǎn),將工作流技術(shù)與組件技術(shù)相結(jié)合,對工作流環(huán)境下的組件開發(fā)進(jìn)行了分析和研究,討論構(gòu)建工作流組件的方法,并給出了工作流環(huán)境下的組件結(jié)構(gòu),對以后在其它平臺下開發(fā)工作流組件起到了一定的指導(dǎo)作用。另外,文中還提出了用Ajax技術(shù)來解決傳統(tǒng)Web應(yīng)用的同步交換問題的方法,這對開發(fā)Web組件也是非常有意義的,能夠給用戶帶來更好的體驗(yàn)與感受??傊覀冮_發(fā)出適合的自定義組件,在構(gòu)建系統(tǒng)時(shí)節(jié)省了開發(fā)的工作量和難度,提高了開發(fā)的效率,增加了系統(tǒng)的可維護(hù)性,而且便于系統(tǒng)升級,一次功能改動后,只需要在服務(wù)器端更新該

17、功能的組件即可。參考文獻(xiàn):1 楊 洋,李志蜀.工作流管理系統(tǒng)發(fā)展?fàn)顩r與趨勢研究J. 四川經(jīng)濟(jì)管理學(xué)院學(xué)報(bào), 2008,1: 53-56YANG Yang,LI Zhi-shu.Research on workflow management system and its developing trendJ. Journal of Sichuan Economic Management Institute, 2008,1: 53-562 WFMC TC00-1003, 1995,Workflow management coalition:the workflow reference modeS.3

18、 左愛群,黃水松.基于組件的軟件開發(fā)方法研究J. 計(jì)算機(jī)應(yīng)用, 1998,18(11): 4-7ZUO Ai-qun,Huang Shui-song.Research on comppnent-based developmentJ. Computer Applic- ations, 1998,18(11): 4-74 Rohit Khare.Beyond Ajax:Accelerating Web Applications with Real Time Event Notification M.Know Now White Paper Clink from the Wayback Machine,2007.5 汪盛,袁捷,李宗巖.基于組件技術(shù)的模型管理J.計(jì)算機(jī)工程, 2001,27(1):38-40WANG Sheng,YUAN Jie, LI Zong-yan.Model Management System

溫馨提示

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

評論

0/150

提交評論