第一篇:工作流中間件InfoFlow
工作流中間件InfoFlow 產(chǎn)品概述
InforFlow工作流中間件是遵循由國際工作流管理聯(lián)盟制定的工作流管理規(guī)范而實(shí)現(xiàn)的工作流中間件產(chǎn)品。InforFlow可以為政府及企業(yè)提供統(tǒng)一的業(yè)務(wù)流程管理平臺(tái),也是進(jìn)行企業(yè)應(yīng)用集成及業(yè)務(wù)流程整合的基礎(chǔ)平臺(tái),是快速構(gòu)件政府或企業(yè)管理信息系統(tǒng)的開發(fā)平臺(tái)。
產(chǎn)品組成
InforFlow產(chǎn)品的基本結(jié)構(gòu)如下:
圖1.InforFlow產(chǎn)品組成
InforFlow流程設(shè)計(jì)器
InforFlow流程建模使用InforFlow流程設(shè)計(jì)器完成。流程設(shè)計(jì)器是用于圖形化設(shè)計(jì)業(yè)務(wù)流程的工具。設(shè)計(jì)器基于先進(jìn)的Eclipse RCP架構(gòu)體系,產(chǎn)品即可以以插件的形式在Eclipse或WSAD中使用,也可以以獨(dú)立的應(yīng)用的形式使用。如下圖所示。
圖2.InforFlow流程設(shè)計(jì)器
InforFlow工作流引擎
工作流引擎是工作流管理系統(tǒng)的核心,負(fù)責(zé)實(shí)例化流程定義,根據(jù)流程定義驅(qū)動(dòng)業(yè)務(wù)流程的運(yùn)行,根據(jù)定義及運(yùn)行時(shí)的動(dòng)態(tài)信息計(jì)算任務(wù)分配條件,分配任務(wù),根據(jù)對(duì)實(shí)際的流程控制請(qǐng)求完成對(duì)流程的動(dòng)態(tài)回退、跳轉(zhuǎn)等控制操作,負(fù)責(zé)發(fā)起對(duì)應(yīng)用程序的調(diào)用,接收來自應(yīng)用系統(tǒng)的調(diào)用請(qǐng)求,負(fù)責(zé)發(fā)起對(duì)應(yīng)用程序插件的調(diào)用。
產(chǎn)品功能
流程建模
流程建模能力的強(qiáng)弱是工作流產(chǎn)品區(qū)別于普通辦公自動(dòng)化系統(tǒng)的因素之一。企業(yè)中所存在的業(yè)務(wù)流程是企業(yè)生產(chǎn)、經(jīng)營過程的反映,必然涉及多部門、多角色的人員之間的分工協(xié)作,有些業(yè)務(wù)流程的運(yùn)行甚至是跨級(jí)別、跨地域、跨季度的在時(shí)間與空間上都跨度極廣的復(fù)雜過程。若支持這樣的業(yè)務(wù)流程,必然要求工作流產(chǎn)品具有極強(qiáng)的流程建模能力。
InforFlow工作流中間件元模型基于WfMC規(guī)范實(shí)現(xiàn),是對(duì)業(yè)務(wù)流程所具有的共性的完善的抽象。InforFlow在對(duì)支持復(fù)雜業(yè)務(wù)流程的分層建模、復(fù)雜任務(wù)分配方式以及應(yīng)付易變的業(yè)務(wù)過程方面都具有獨(dú)到之處,使之可以輕松應(yīng)付這些復(fù)雜性,降低了應(yīng)用系統(tǒng)的開發(fā)難度,也減輕了開發(fā)人員的工作量。工作流元模型
InforFlow工作流中間件元模型實(shí)現(xiàn)了規(guī)范中所定義的包、流程、活動(dòng)等等概念,對(duì)活動(dòng)的類型的可以支持無實(shí)現(xiàn)活動(dòng)、Tool活動(dòng)、子流程活動(dòng)、塊活動(dòng)、路由活動(dòng)。InforFlow的工作流元模型如下圖所示:
圖3.InforFlow的工作流元模型
可擴(kuò)展的流程建模
InforFlow工作流中間件的工作流元模型遵循WfMC規(guī)范實(shí)現(xiàn),具有強(qiáng)大的流程描述能力。但是,由于業(yè)務(wù)流程本身千差萬別,使用標(biāo)準(zhǔn)的流程描述元素仍然不能完全滿足實(shí)際的需求。InforFlow支持對(duì)業(yè)務(wù)流程建模的擴(kuò)展,可以補(bǔ)充業(yè)務(wù)流程所需要的各種屬性定義。更為重要的是,InforFlow的工作流引擎也具有良好的擴(kuò)展能力,能夠?qū)I(yè)務(wù)系統(tǒng)擴(kuò)展的流程屬性進(jìn)行解析執(zhí)行。
圖4.InforFlow可擴(kuò)展的流程建模能力
使用操作與業(yè)務(wù)單元分離流程邏輯與業(yè)務(wù)邏輯
InforFlow2.1擴(kuò)展了XPDL對(duì)應(yīng)用程序的定義,將應(yīng)用程序分為“業(yè)務(wù)單元”與“操作”兩種類型。業(yè)務(wù)單元反映了某個(gè)活動(dòng)節(jié)點(diǎn)要“做什么”,操作反映了此活動(dòng)節(jié)點(diǎn)對(duì)流程有什么樣的控制權(quán)限,例如“批準(zhǔn)”、“否決”、“打回”等等。業(yè)務(wù)單元與操作都是某種類型的應(yīng)用程序,但是將這兩個(gè)概念區(qū)分開來,可以幫助開發(fā)人員構(gòu)建出耦合性更低,業(yè)務(wù)組件對(duì)流程運(yùn)行過程的依賴性更小的應(yīng)用系統(tǒng)出來,從而真正使得所開發(fā)的流程可變、易變。從形式上來看,業(yè)務(wù)單元可以由工作流引擎發(fā)起調(diào)用,而操作則是由應(yīng)用系統(tǒng)控制發(fā)起對(duì)工作流引擎的控制方法的調(diào)用。流程控制 靜態(tài)流程控制 靜態(tài)流程控制是指工作流引擎嚴(yán)格按照業(yè)務(wù)流程的定義驅(qū)動(dòng)業(yè)務(wù)流程實(shí)例的運(yùn)行。InforFlow可以支持串型、并型、循環(huán)等工作流模式的運(yùn)行,其中并型模式又可支持同步分叉、選擇分叉、同步合并、選擇合并等并型流程運(yùn)行策略。同時(shí),在節(jié)點(diǎn)的輸出轉(zhuǎn)移上可以定義轉(zhuǎn)移條件,可以實(shí)現(xiàn)基于條件的路由。如果運(yùn)行時(shí)工作流引擎發(fā)現(xiàn)所有輸出轉(zhuǎn)移上轉(zhuǎn)移條件都不滿足,則可以根據(jù)對(duì)默認(rèn)轉(zhuǎn)移路徑的定義,驅(qū)動(dòng)流程按默認(rèn)路徑運(yùn)行。動(dòng)態(tài)流程控制
InforFlow工作流中間件可以支持串型、同步分叉、選擇分叉、同步合并、選擇合并、循環(huán)等靜態(tài)定義的工作流模式,同時(shí)也支持任務(wù)的動(dòng)態(tài)回退、跳轉(zhuǎn)等由應(yīng)用系統(tǒng)在運(yùn)行時(shí)動(dòng)態(tài)決定的控制方式。
任務(wù)的動(dòng)態(tài)回退使得用戶可以將任務(wù)退回到已經(jīng)經(jīng)過的任意一個(gè)活動(dòng)實(shí)例上去,由活動(dòng)原先的執(zhí)行人重新執(zhí)行此項(xiàng)活動(dòng)。任務(wù)動(dòng)態(tài)回退的流程圖示如下圖所示:
圖5.Inforflow任務(wù)回退示意圖
任務(wù)的跳轉(zhuǎn)使得用戶可以決定流程下一步不按照預(yù)先定義好的流程運(yùn)行,而是按自己所指定的目標(biāo)節(jié)點(diǎn)運(yùn)行。使用跳轉(zhuǎn)功能,可以實(shí)現(xiàn)對(duì)緊急事項(xiàng)的處理,也可以實(shí)現(xiàn)對(duì)流程控制的靈活性要求比較高的業(yè)務(wù)流程。流程跳轉(zhuǎn)的示意圖如下所示:
圖6.InforFlow任務(wù)跳轉(zhuǎn)示意圖
使用插件增強(qiáng)流程控制能力
使用流程事件插件使得InforFlow工作流引擎對(duì)流程的控制更加細(xì)膩,更加靈活。在流程實(shí)例、活動(dòng)實(shí)例、工作項(xiàng)狀態(tài)發(fā)生改變的任一時(shí)刻,InforFlow允許應(yīng)用系統(tǒng)以插件的形式擴(kuò)展其業(yè)務(wù)上所需要的功能。InforFlow所支持的插件示意如下圖所示:
圖7.InforFlow工作流的可擴(kuò)展架構(gòu)
使用事件插件的一個(gè)場(chǎng)景是利用插件來獲取、修改流程相關(guān)數(shù)據(jù)的值。當(dāng)業(yè)務(wù)單元完成對(duì)業(yè)務(wù)對(duì)象的處理后,可以由插件從業(yè)務(wù)數(shù)據(jù)庫中獲取所定義的流程相關(guān)數(shù)據(jù)的值。由于某些相關(guān)數(shù)據(jù)會(huì)影響流程的運(yùn)行過程,因此,也可以在適當(dāng)?shù)臅r(shí)刻在插件中修改相關(guān)數(shù)據(jù)的值,以獲取所希望的流程運(yùn)行路徑。
當(dāng)然,也可以使用插件以發(fā)送mail的形式實(shí)現(xiàn)對(duì)任務(wù)處理人的任務(wù)到達(dá)通知,或者當(dāng)流程運(yùn)行結(jié)束時(shí),及時(shí)通知流程的申請(qǐng)人,以提醒業(yè)務(wù)人員做進(jìn)一步的處理。
產(chǎn)品特點(diǎn)
遵循國際規(guī)范
參照WFMC(工作流管理聯(lián)盟)標(biāo)準(zhǔn)
遵循OMG(對(duì)象管理組織)規(guī)范平臺(tái)無關(guān)性
操作系統(tǒng)無關(guān)性
數(shù)據(jù)庫無關(guān)性
應(yīng)用服務(wù)器無關(guān)性 流程控制的靈活性
支持動(dòng)態(tài)的分支選擇與合并
支持流程的動(dòng)態(tài)回退與跳轉(zhuǎn)
支持動(dòng)態(tài)任務(wù)分配
提供靈活、豐富的編程接口
支持用戶自定義條件的綜合查詢 流程建模的可擴(kuò)展性
支持對(duì)流程、節(jié)點(diǎn)、工作項(xiàng)的屬性進(jìn)行擴(kuò)展,以適應(yīng)業(yè)務(wù)建模的需求
支持對(duì)工作流引擎的擴(kuò)展,以解釋流程定義時(shí)所擴(kuò)展的各種業(yè)務(wù)相關(guān)的屬性
應(yīng)用領(lǐng)域
InforFlow工作流中間件可以應(yīng)用在電子政務(wù)、電子商務(wù)、企業(yè)管理、金融等領(lǐng)域的信息化建設(shè)項(xiàng)目中,也可以與某種特定領(lǐng)域的系統(tǒng)相結(jié)合,開發(fā)專業(yè)工作流產(chǎn)品,如公文流轉(zhuǎn)系統(tǒng)、影像工作流系統(tǒng)、銀行信貸管理系統(tǒng)等等。以下是InforFlow的幾個(gè)典型應(yīng)用案例: 在辦公自動(dòng)化領(lǐng)域中
使用InforFlow工作流中間件流程設(shè)計(jì)器定義默認(rèn)流程,使用“跳轉(zhuǎn)功能”實(shí)現(xiàn)“自由流”的控制,由流程的當(dāng)前執(zhí)行人決定下一步任務(wù)要“做什么”,以及“由誰來做”。在金融信貸管理中
InforFlow工作流中間件實(shí)現(xiàn)了信貸業(yè)務(wù)管理、控制的電子化和自動(dòng)化,使系統(tǒng)更易于適應(yīng)變化,方便了流程再造,提高了快速開發(fā)能力。在海事電子政務(wù)中
為海事船員管理系統(tǒng)提供了基礎(chǔ)的流程構(gòu)建平臺(tái),實(shí)現(xiàn)了復(fù)雜的任務(wù)分發(fā)。在房地產(chǎn)項(xiàng)目管理中
采用矩陣式的組織模型,實(shí)現(xiàn)了項(xiàng)目組與審批流程的動(dòng)態(tài)綁定。
支持環(huán)境
操作系統(tǒng)
Microsoft Windows 98/NT/XP/2000/2003 IBM AIX HP UNIX Sun Solaris Linux 數(shù)據(jù)庫 Oracle DB2 Sybase SQL Server Informix HSQL 應(yīng)用服務(wù)器 InforWeb WebSphere WebLogic Tomcat JBoss 其他符合J2EE 1.3規(guī)范的應(yīng)用服務(wù)器
第二篇:移動(dòng)中間件-商業(yè)模式
移動(dòng)應(yīng)用中間件——開源
在移動(dòng)互聯(lián)網(wǎng)與移動(dòng)終端設(shè)備(智能手機(jī)、平板電腦等)都全面飛速發(fā)展的今天,移動(dòng)應(yīng)用在這個(gè)巨大的浪潮中展露了頭角,并不遺余力的全速開進(jìn)。移動(dòng)應(yīng)用與傳統(tǒng)IT相比較,傳統(tǒng)IT系統(tǒng)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)發(fā)生了變化,增加了移動(dòng)終端,但事實(shí)上,IT系統(tǒng)的主體并未發(fā)生變化,只是表達(dá)層發(fā)生了變化。因此需要重構(gòu)表達(dá)層,遷移以后的表達(dá)層是否可以繼續(xù)使用這些技術(shù)?這是遷移的關(guān)鍵所在。最佳遷移方案是對(duì)原有結(jié)構(gòu)的最小改變、沿用原有的表達(dá)層技術(shù)并能夠充分利用移動(dòng)終端新功能,起橋梁作用的移動(dòng)中間件是實(shí)現(xiàn)這一目標(biāo)的最佳選擇。
一件事情的成功需要天時(shí)、地利和人和。目前,移動(dòng)互聯(lián)網(wǎng)這個(gè)大環(huán)境的飛速發(fā)展是天時(shí);移動(dòng)中間件自身的橋梁作用使其擁有巨大的潛力市場(chǎng)是地利;那么人和呢?移動(dòng)應(yīng)用領(lǐng)域的焦點(diǎn)問題——商業(yè)模式,可以做到。海比研究針對(duì)商業(yè)模式給予移動(dòng)中間件廠商建議:采取開源的模式。
開源軟件商業(yè)模式已經(jīng)不是新鮮的事物,而移動(dòng)中間件廠商采取這個(gè)方式有著很好的匹配度。移動(dòng)中間件是新浪潮下的新鮮產(chǎn)物,新鮮的事物就需要有它創(chuàng)新的產(chǎn)品和服務(wù),但事實(shí)上目前移動(dòng)中間件的關(guān)注人群較低,業(yè)內(nèi)的開發(fā)技術(shù)人員肯從事此方面工作的人畢竟是少數(shù),因此就會(huì)導(dǎo)致低產(chǎn)出的創(chuàng)新產(chǎn)品和服務(wù),不能跟上全局快速發(fā)展的步伐。如果采取開源的方式,這個(gè)瓶頸迎刃而解。建立自己的開源平臺(tái),然后將源代碼的編輯技術(shù)開源,將工程化技術(shù)和服務(wù)技術(shù)收歸自身版權(quán)所有。這樣就贏得了開源軟件的市場(chǎng)親和力,同時(shí)贏得了廣大的志愿開發(fā)者技術(shù)和創(chuàng)新的集合。因此就可以產(chǎn)生三個(gè)方面的贏利點(diǎn):
第一,將開發(fā)志愿者開發(fā)出來的“半成品”進(jìn)行優(yōu)化、完善以保證企業(yè)使用的穩(wěn)定性,安全性;
第二,軟件提供免費(fèi),收取服務(wù)費(fèi);
第三,與硬件捆綁,軟件提供免費(fèi),進(jìn)而促進(jìn)移動(dòng)終端的銷售,促成雙贏。希望提供移動(dòng)中間件的廠商都能抓住這次機(jī)會(huì),探索到適合自己企業(yè)的商業(yè)模式,在移動(dòng)的大浪潮中揚(yáng)起風(fēng)帆,乘風(fēng)破浪。
第三篇:專業(yè)英語4 中間件
[1] 林強(qiáng)勇;吉國力;分布式對(duì)象模型實(shí)踐,計(jì)算機(jī)工程與應(yīng)用, Computer Engineering and Applications, 2004年 14期, 148-150,15
5題目:分布式對(duì)象模型實(shí)踐
隨著組件、中間件等分布式技術(shù)的深入應(yīng)用,分布式對(duì)象模型的設(shè)計(jì)受到了越來越廣泛的關(guān)注。該文針對(duì)當(dāng)前分布式對(duì)象模型設(shè)計(jì)中存在的問題,首先提出了遠(yuǎn)程接口和本地接口的概念,然后分析了一種基于RemoteFacade和DataTransferObject設(shè)計(jì)模式的解決方案,并詳細(xì)介紹了基于DataTransferObject的應(yīng)用解決方案,在文章的最后,提出了一種分布式對(duì)象模型的設(shè)計(jì)架構(gòu)。
Practice on Distributed Object Model
As deeply using of component and middleware,the design of distributed object is paid more and more at-tentions.Based on the current abuse,this article indicates firstly the conception of remote interface and local interface,analyses a solution based on design patterns of remote facade and Data transfer object,and then introduces the tutorial of data transfer object in detail.In the end,the article indicates a design framework of distributed object model.Title :Issues in designing middleware for wireless sensor networks
[1]Yu, Yang;Krishnamachari, Bhaskar;Prasanna, Viktor K, IEEE Network, v 18, n 1, January/February 2004;p 15-21,Wireless sensor(傳感器)networks are being developed for a variety of applications.With the continuing advances in network and application design, appropriate middleware is needed to provide both standardized and portable便攜式 system abstractions, and the capability to support and coordinate concurrent并發(fā) applications on sensor networks.In this article we first identify several design principles for such middleware.These principles motivate a cluster-based lightweight middleware framework that separates application semantics語義 from the underlying hardware, operating system, and network infrastructure基礎(chǔ)設(shè)施.We propose a layered architecture for each cluster that consists of a cluster control layer and a resource management layer.Key design issues and related challenges within this framework that deserve值得 further investigation are outlined.Finally, we discuss a technique for energy-efficient resource allocation in a single-hop cluster, which serves as a basic primitive for the development of the resource management layer.無線傳感網(wǎng)絡(luò)隨著大量的應(yīng)用正在不斷發(fā)展。隨著網(wǎng)絡(luò)和應(yīng)用系統(tǒng)的不斷進(jìn)步,適當(dāng)?shù)闹虚g件需要提供標(biāo)準(zhǔn)化、便攜式的系統(tǒng)抽象,而且能支持和協(xié)調(diào)傳感網(wǎng)中的并發(fā)應(yīng)用程序。
在這篇文章中,我們首先認(rèn)識(shí)一下中間件的幾個(gè)設(shè)計(jì)原則。
這些原則有利于一個(gè)基于集群的輕量級(jí)中間件框架,將應(yīng)用語義與底層硬件,操作系統(tǒng)和網(wǎng)絡(luò)基礎(chǔ)設(shè)施相脫離。我們提出了一個(gè)針對(duì)各種由一個(gè)傳感控制層和一個(gè)資源管理層組成的傳感器的分層框架。在這個(gè)框架內(nèi),值得進(jìn)一步研究的關(guān)鍵設(shè)計(jì)問題和相關(guān)挑戰(zhàn)也被作為大綱列出。最后,我們針對(duì)在單跳簇傳感器中的高效節(jié)能資源回收討論了一項(xiàng)技術(shù),對(duì)于資源管理層的開發(fā),這項(xiàng)技術(shù)作為一項(xiàng)基本的原始服務(wù)。
第四篇:java 工作流
Willow 由Huihoo Power開發(fā)詳細(xì)可到其中文主頁查看。
更多Willow信息
OpenWFE OpenWFE是一個(gè)開放源碼的Java工作流引擎。它是一個(gè)完整的業(yè)務(wù)處理管理套件:一個(gè)引擎,一個(gè)工作列表,一個(gè)Web界面和一個(gè)反應(yīng)器(存放自動(dòng)代理)。它可以可以跟你的程序很好的給合。
更多OpenWFE信息
jBpm jBpm是一個(gè)靈活可擴(kuò)展的工作流管理系統(tǒng)。作為 jBpm運(yùn)行時(shí)server輸入的業(yè)務(wù)流程使用簡單強(qiáng)大的語言表達(dá)并打包在流程檔案中。jBmp將工作流應(yīng)用開發(fā)的便利性和杰出的企業(yè)應(yīng)用集成(EAI)能力結(jié)合了起來。jBmp包括一個(gè)Web應(yīng)用程序和一個(gè)日程安排程序。jBmp是一組J2SE組件,可以作為J2EE應(yīng)用集群部署。
更多jBpm信息
OpenEbXML OpenebXML項(xiàng)目致力于提供一個(gè)ebXML框架,主要支持不久將由 UN/CEFACT和OASIS發(fā)布的ebXML規(guī)范2.0版。
更多OpenEbXML信息
Werkflow Werkflow是一個(gè)靈活可擴(kuò)展的基于流程和狀態(tài)的工作流引擎。它的目標(biāo)是滿足可以想象的所有工作流程,從企業(yè)級(jí)的業(yè)務(wù)流程到小范圍的用戶交互流程。通過使用可插拔和分層結(jié)構(gòu),可以方便地容納各種工作流語義。
更多Werkflow信息
OSWorkflow OSWorkflow是一個(gè)靈活的工作流引擎,設(shè)計(jì)成可嵌入到企業(yè)應(yīng)用程序中。它提供了許多的持久化API支持包括:EJB,Hibernate,JDBC和其它。OSWorkflow還可以與Spring集成。
更多OSWorkflow信息
wfmOpen WfMOpen是WfMC和OMG中所謂工作流設(shè)施(workflow facility)(工作流引擎)的J2EE實(shí)現(xiàn)。工作流通過擴(kuò)展的XPDL描述。
更多wfmOpen信息
OFBiz OFBiz是一個(gè)非常著名的開源項(xiàng)目,提供了創(chuàng)建基于最新J2EE/XML規(guī)范和技術(shù)標(biāo)準(zhǔn),構(gòu)建大中型企業(yè)級(jí)、跨平臺(tái)、跨數(shù)據(jù)庫、跨應(yīng)用服務(wù)器的多層、分布式電子商務(wù)類WEB應(yīng)用系統(tǒng)的框架。OFBiz最主要的特點(diǎn)是OFBiz提供了一整套的開發(fā)基于Java的web應(yīng)用程序的組件和工具。包括實(shí)體引擎, 服務(wù)引擎, 消息引擎, 工作流引擎, 規(guī)則引擎等。更多OFBiz信息
ObjectWeb Bonita Bonita 是一個(gè)符合WfMC規(guī)范、靈活的協(xié)同工作流系統(tǒng)。對(duì)于各種動(dòng)作如流程概念建模、定義、實(shí)例化、流程控制和用戶交互等提供了全面的集成圖形工具。100% 基于瀏覽器、使用SOAP和XML數(shù)據(jù)綁定技術(shù)的Web Services封裝了已有的工作流業(yè)務(wù)方法并將它們以基于J2EE的Web Service形式發(fā)布?;诨顒?dòng)預(yù)測(cè)模型的第三代工作流引擎。更多ObjectWeb Bonita信息
Bigbross Bossa 速度非???、輕量級(jí)的引擎,使用富有表達(dá)能力的Petri網(wǎng)定義工作流,不要求關(guān)系數(shù)據(jù)庫,使用簡單,能和Java應(yīng)用集成。事實(shí)上,它是按嵌入式設(shè)計(jì)的。更多Bigbross Bossa信息
XFlow XFlow運(yùn)行于EJB和servlet容器中。
更多XFlow信息
Taverna Taverna項(xiàng)目的目標(biāo)是提供一種語言和軟件工具,方便在eScience中使用工作流和分布計(jì)算技術(shù)。
更多Taverna信息
Enhydra Shark Shark完全基于WfMC和OMG標(biāo)準(zhǔn),使用 XPDL作為工作流定義語言。流程和活動(dòng)的存儲(chǔ)使用Enhydra DODS(一個(gè)開源OR映射工具)。
更多Enhydra Shark信息
PowerFolder PowerFolder是一個(gè)容易使用,容易安裝基于J2EE的工作流服務(wù)器,包括開發(fā)人員使用的基于web的studio。
更多PowerFolder信息
Open Business Engine Open Business Engine是一個(gè)開放源碼的Java工作流引擎,支持WfMC規(guī)范,包括接口1(XPDL)、接口2/3(WAPI)和接口5。OBE為活動(dòng)的運(yùn)行提供了一個(gè)可控的集中環(huán)境。OBE主要基于J2EE實(shí)現(xiàn)。
更多Open Business Engine信息
OpenWFE OpenWFE是一個(gè)開放源碼的Java工作流引擎。它包括可升級(jí)的三個(gè)組件:引擎、工作列表和Web界面。它的流程定義語言雖然使用XML格式,其靈感來源于 Scheme,一種Lisp方言。
更多OpenWFE信息
Freefluo Freefluo 是一個(gè)使用Web Service的工作流協(xié)同工具,可以處理WSDL的Web Service調(diào)用。支持兩種XML格式的工作流語言:IBM的WSFL和XScufl。Freefluo非常靈活,它的核心是不與任何工作流語言或執(zhí)行架構(gòu)關(guān)聯(lián)的可重用協(xié)同框架。Freefluo包括可執(zhí)行使用WSFL一個(gè)子集描述的工作流的運(yùn)行庫。
更多Freefluo信息
Twiste Twister的目標(biāo)是提供新一代、易集成、應(yīng)用Java領(lǐng)域中最新成果、面向B2B的工作流解決方案。流程引擎基于BPEL業(yè)務(wù)流程規(guī)范和Web Service標(biāo)準(zhǔn)。
更多Twiste信息
Con:cern con:cern工作流引擎基于擴(kuò)展的案例(case)處理方法,流程由一組具有前后條件的活動(dòng)組成。
更多Con:cern信息
JFlower JFlower是一個(gè)用Java開發(fā)的工作流引擎,可以通過Java插件來擴(kuò)展。服務(wù)器可以
解析XML文檔來執(zhí)行任務(wù),檢查條件。會(huì)話數(shù)據(jù)保存在一個(gè)數(shù)據(jù)庫中,所以服務(wù)器是完全可伸縮的。
更多JFlower信息
JFolder JFolder(formerly PowerFolder)是一個(gè)工作流服務(wù)器和開發(fā)環(huán)境,它可以配置在任何J2EE服務(wù)器與數(shù)據(jù)庫。
更多JFolder信息
JAWE 基于Java的圖形化工作流編輯器。圖形化工作流編輯器。使用JAVA語言開發(fā),開放源碼。嚴(yán)格遵循WFMC規(guī)范。XPDL(XML Process Definition Language)WFMC的 XML 過程描述語言。工作流定義文件保存在本地的XML文件中
更多JAWE信息
Zebra Zebra是一個(gè)工作流引擎。原先的設(shè)計(jì)是為了填補(bǔ)商業(yè)開源工作流引擎的空白。它有一些不同于其它工作流系統(tǒng)的特點(diǎn):
*所有工作流模型都可以在workflow patterns中描述
*一個(gè)易于使用的GUI designer
*一個(gè)持久層中間件
*OO設(shè)計(jì)
*一個(gè)基于Turbine的Web應(yīng)用程序
更多Zebra信息
ActiveBPEL ActiveBPEL引擎是一個(gè)健壯的運(yùn)行時(shí)環(huán)境,它能執(zhí)行依據(jù)BPEL4WS或just BPEL1.1與WS-BPEL2.0規(guī)范編寫的業(yè)務(wù)流程。
更多ActiveBPEL信息
YAWL YAWL(Yet Another Workflow Language)一個(gè)開源工作流語言/處理系統(tǒng).它基于現(xiàn)有的工作流處理系統(tǒng)與工作流語言的一個(gè)精確分析.不像傳統(tǒng)的系統(tǒng),它提供對(duì)大部分工作流模式的直接支持.YAWL支持控制流透視圖,數(shù)據(jù)透視圖并且能與WSDL標(biāo)準(zhǔn)的web服務(wù)相結(jié)合.更多YAWL信息
MOBE MidOffice BPEL Editor(MOBE)是一個(gè)開源平臺(tái)能夠讓執(zhí)行,監(jiān)控,調(diào)整,結(jié)束每個(gè)定義的過程和諧地結(jié)合起來.這個(gè)平臺(tái)的實(shí)現(xiàn)使用到J2EE技術(shù)與公共的標(biāo)準(zhǔn)如:BPEL,XML與SOAP.更多MOBE信息
RUNA WFE RUNA WFE是一個(gè)基于JBOSS-JBPM引擎的開源工作流工作平臺(tái)它是一個(gè)跨平臺(tái)適用于商業(yè)流程處理的最終用戶解決方案,很容易與所有SQL數(shù)據(jù)庫管理系統(tǒng)相結(jié)合.更多RUNA WFE信息
micro-workflow micro-workflow框架適用于那些要在他們程序中分離控制與邏輯方面的開發(fā)者,所以這個(gè)框架可以使他們的流程相互獨(dú)立。這樣有利于代碼重復(fù)使用與代碼的完整性。更多micro-workflow信息
bexee bexee是一個(gè)BPEL執(zhí)行引擎并且是BPEL標(biāo)準(zhǔn)的一個(gè)開源實(shí)現(xiàn).更多bexee信息
PXE PXE-Process eXecution Engine是一個(gè)模塊化的商業(yè)流程執(zhí)行引擎.支持用WS-BPEL2.0或用BPEL4WS1.1規(guī)范描述的商業(yè)流程.
第五篇:工作流技術(shù)研究
工作流技術(shù)研究(1)(2008-09-10 19:29:14)
標(biāo)簽:工作流管理系統(tǒng) 工作流參考模型 雜談 分類:工作流
工作流技術(shù)從起源到現(xiàn)在已有三十年的發(fā)展歷史,為了規(guī)范工作流技術(shù)的管理,1993年成立了工作流管理聯(lián)盟(WfMC)。WfMC統(tǒng)一了工作流的定義,制定了工作流產(chǎn)品結(jié)構(gòu)和工作流參考模型等一系列的標(biāo)準(zhǔn)。本文針對(duì)工作流及其參考模型作簡單的介紹。
首先,先了解一下工作流的相關(guān)定義。
一、工作流相關(guān)定義
定義1 工作流(Workflow):工作流的概念定義很多,其中被廣泛引用的是工作流管理聯(lián)盟關(guān)于工作流的定義,該組織為工作流管理系統(tǒng)的相關(guān)術(shù)語、體系結(jié)構(gòu)及應(yīng)用編程接口等方而制定了一系列的業(yè)界標(biāo)準(zhǔn)。工作流管理聯(lián)盟給出的工作流定義是:全部或者部分,由計(jì)算機(jī)支持或自動(dòng)處理的業(yè)務(wù)過程,它已根據(jù)一系列過程規(guī)則、文檔、信息或任務(wù)能夠在不同的執(zhí)行者之間進(jìn)行傳遞與執(zhí)行。工作流是指整個(gè)或部分經(jīng)營過程在計(jì)算機(jī)支持下的全自動(dòng)化或半自動(dòng)化。工作流是企業(yè)中各種流的載體,它帶動(dòng)了信息流、物料流、資金流的流動(dòng),并決定了它們的流速和流量。通過工作流,考察信息、物料、資金等隨過程的變化情況,從而可以方便地對(duì)一些關(guān)鍵指標(biāo)進(jìn)行跟蹤和計(jì)算。其文
檔、信息或任務(wù)可以遵循一組程序上的規(guī)則從一個(gè)參與者傳送到另一個(gè)參與者。
定義2 工作流管理:工作流管理(Workflow Management, WFM)是人與計(jì)算機(jī)共同工作的自動(dòng)化協(xié)調(diào)、控制和通訊,在計(jì)算機(jī)化的業(yè)務(wù)過程上,通過在網(wǎng)絡(luò)上運(yùn)行軟件,使所有命令的執(zhí)行都處于受控狀態(tài)。在工作流管理下,工作量可以被監(jiān)督,分派工作到不同的用戶達(dá)成平衡。
定義3 工作流管理系統(tǒng)(WFMS—Workflow Management System):工作流管理系統(tǒng)是這樣的一個(gè)系統(tǒng),詳細(xì)定義、管理并執(zhí)行工作流,系統(tǒng)通過運(yùn)行一些軟件來執(zhí)行工作流,它運(yùn)行在一個(gè)或多個(gè)工作流引擎上,這些引擎解釋對(duì)過程的定義,與工作流的參與者(包括人或軟件)相互作用,并根據(jù)需要調(diào)用其他的軟件工具或應(yīng)用。這些軟件的執(zhí)行順序由工作流邏輯的計(jì)算機(jī)表示形式(計(jì)算機(jī)化的業(yè)務(wù)規(guī)則——過程定義)驅(qū)動(dòng)??傮w來說,實(shí)際企業(yè)中運(yùn)作的工作流管理系統(tǒng),是一個(gè)人與計(jì)算機(jī)結(jié)合的系統(tǒng)。
它的基本功能體現(xiàn)在幾個(gè)方面:
? 定義工作流,包括具體的活動(dòng)、規(guī)則等。
? 遵循定義創(chuàng)建和運(yùn)行實(shí)際的工作流。
? 監(jiān)察、控制、管理運(yùn)行中的業(yè)務(wù),例如任務(wù)、工作量與進(jìn)度的檢察等。
定義4工作流機(jī):為工作流實(shí)例提供運(yùn)行時(shí)期的執(zhí)行環(huán)境的軟件服務(wù)器或引擎。工作流機(jī)能處理:
? 解釋過程定義
? 控制過程實(shí)例—?jiǎng)?chuàng)建、激活、掛起、終止等
? 為過程的活動(dòng)導(dǎo)航,可能要包含順序或者平行的操作、最后時(shí)間期限、對(duì)工作流相關(guān)數(shù)據(jù)進(jìn)行解釋
? 參與者簽名和退出
? 確定任務(wù)項(xiàng)目,實(shí)現(xiàn)用戶意圖;提供接口,支持用戶交互
? 維護(hù)工作流控制數(shù)據(jù)和工作流相關(guān)數(shù)據(jù),在應(yīng)用程序間或者用戶間傳遞工作流相關(guān)數(shù)據(jù)
? 提供調(diào)用外部程序的接口,連接所有工作流相關(guān)數(shù)據(jù)
? 提供控制、管理和審查功能
工作流機(jī)可以控制過程集、子過程、或通過對(duì)象類型的范圍、及其屬性定義好運(yùn)行范圍的實(shí)例。在一個(gè)由多個(gè)工作流機(jī)構(gòu)成的工作流執(zhí)行服務(wù)器中,要把過程進(jìn)行劃分,分配給工作流機(jī)。可以按照過程類型來劃分,某個(gè)工作流機(jī)負(fù)責(zé)控制相應(yīng)類型過程;按照功能進(jìn)行劃分,某個(gè)工作流機(jī)負(fù)責(zé)控制過程的一些部分,這些部分所需要的用戶或者資源,都在此工作流機(jī)的控制范圍內(nèi)。也可以按照其他的一些機(jī)制來劃分。
定義5 業(yè)務(wù)過程(business process):就是活動(dòng)的集合,這些活動(dòng)均關(guān)聯(lián)于特定的托付事項(xiàng)(commitment),為過程的產(chǎn)出增值。相對(duì)于“工作流”,業(yè)務(wù)過程是一個(gè)更一般化的統(tǒng)稱,而工作流這個(gè)詞,則已經(jīng)不能僅從字面含義或原理上去理解,它已經(jīng)被賦予了更深一層的特定含義——專指基于信息技術(shù)規(guī)劃、運(yùn)作、管理的業(yè)務(wù)過程。
定義6 自動(dòng)與協(xié)調(diào):“自動(dòng)”(automate)是工作流的一個(gè)特征,但這主要是指它自動(dòng)進(jìn)行的特征,而不是說沒有人的參與。工作流實(shí)際上是一個(gè)人與計(jì)算機(jī)協(xié)調(diào)的混合過程,在一個(gè)實(shí)際的工作流中,通常總有些步驟是人完成的。協(xié)調(diào)是工作流管理的一個(gè)目標(biāo)或者特征,這包括了人與人、人與計(jì)算機(jī),計(jì)算機(jī)軟件之間等多種層面的含義。
定義7 監(jiān)察與控制:監(jiān)察(Monitoring)與控制(Contorl)是工作流系統(tǒng)的重要功能與特征。這不僅包括對(duì)正在發(fā)生的業(yè)務(wù)過程(工作流),還包括它的定義或改
變(比如BPR的過程)。這是工作流系統(tǒng)帶給我們的明顯好處之一。定義8 標(biāo)準(zhǔn)化:工作流的概念被明確提出并得到重視的同時(shí),人們就認(rèn)識(shí)到了“標(biāo)準(zhǔn)化”在其中的重要性,有關(guān)工作流的標(biāo)準(zhǔn)開發(fā)和推廣,基本是與“工作流”的開發(fā)和推廣同步進(jìn)行的。在這方面目前的權(quán)威性機(jī)構(gòu),是“工作流管理聯(lián)盟”(Workflow Management Coalition, WfMC)。它成立于1993年8月,目前已擁有 130 余個(gè)成員,成員包括工作流產(chǎn)品的供應(yīng)者、應(yīng)用者,有關(guān)大學(xué)和研究機(jī)構(gòu)和個(gè)人,是一個(gè)國際性的非贏利組織。定義9 工作流與重規(guī)劃:從邏輯上,對(duì)工作流的關(guān)注和研究可以看作是對(duì)業(yè)務(wù)過程重規(guī)劃(BPR)的一種深化。BPR的觀點(diǎn),要求我們將眼光投向?qū)嶋H業(yè)務(wù)進(jìn)行的過程,但這個(gè)過程應(yīng)當(dāng)是什么樣的,怎樣分析、構(gòu)造?工作流就是一個(gè)具體的、操作性的答案,它可以令我們從神秘的、難以預(yù)測(cè)和控制的“頭腦風(fēng)暴式”的“藝術(shù)的”業(yè)務(wù)過程創(chuàng)造,變成解析的、技術(shù)的、可控制和預(yù)測(cè)的工程化過程,如此,才真正體現(xiàn)出
re-engineering 中 engineering 的意義。
工作流與 BPR 的概念,已經(jīng)被幾乎所有的研究者聯(lián)系在一起研究和應(yīng)用。在這個(gè)領(lǐng)域有一個(gè)非?;钴S的組織,即國際工作流與重規(guī)劃協(xié)會(huì)(Workflow And
Reengineering International Association, WARIA)。
工作流管理系統(tǒng)是一個(gè)真正的“人—機(jī)”系統(tǒng),用戶是系統(tǒng)中的基本角色,是直接的任務(wù)分派對(duì)象,他或她可以直接看到計(jì)算機(jī)針對(duì)自己列出的“任務(wù)清單”,跟蹤每一項(xiàng)任務(wù)的狀態(tài),或繼續(xù)一項(xiàng)任務(wù),而不必從一個(gè)模塊退出,進(jìn)入另一個(gè)模塊,搜索相應(yīng)任務(wù)的線索。前者是面向功能或?qū)ο蟮?,而后者是直接面向用戶的。這樣,用戶的任務(wù)
分派和任務(wù)的完成狀態(tài),可以被最大程度地計(jì)算機(jī)化和受到控制。
現(xiàn)在的典型工作流產(chǎn)品是客戶—服務(wù)軟件。而日益增長的重要途徑是通過萬維網(wǎng)界面,它可以令客戶或遠(yuǎn)程的職員更好地參與。工作流的定義經(jīng)常是借助于圖形化
工具,依照業(yè)務(wù)過程實(shí)例的情況定義相應(yīng)工作的安排。
二、目標(biāo)領(lǐng)域
使用工作流管理系統(tǒng)的目的之一是作為企業(yè)應(yīng)用系統(tǒng)集成(EAI)的平臺(tái)。在當(dāng)前大部分企業(yè)級(jí)IT架構(gòu)中,各種各樣的異構(gòu)(heterogeneous)應(yīng)用和數(shù)據(jù)庫運(yùn)行在企業(yè)內(nèi)網(wǎng)中。在這些系統(tǒng)被應(yīng)用到組織時(shí),都有一個(gè)清晰的目標(biāo)。例如,客戶管理、文檔管理、供應(yīng)鏈、訂單、支付、資源計(jì)劃等等。讓我們稱這些系統(tǒng)為專門應(yīng)用(dedicated applications)。每一個(gè)專門應(yīng)用都包含它們所支持業(yè)務(wù)流程的領(lǐng)域知識(shí)。這些專門應(yīng)用中的自動(dòng)化流程,被拼裝到企業(yè)中更大的非自動(dòng)化流程中。每當(dāng)一個(gè)這樣的專門應(yīng)用安裝并投入使用,都會(huì)帶來涉及其他多個(gè)應(yīng)用的新功能需求。企業(yè)應(yīng)用系統(tǒng)集成(EAI)就是通過使用多個(gè)專門應(yīng)用滿足軟件新需求的方法。有時(shí),這只需要在兩個(gè)應(yīng)用之間提供數(shù)據(jù)通訊的通道。專門應(yīng)用將很多業(yè)務(wù)流程硬編碼在軟件中??梢赃@么說,在你購買專門應(yīng)用時(shí),你是購買了一組固定的自動(dòng)化業(yè)務(wù)流程。而工作流管理系統(tǒng)是不必事先知道問題域的相關(guān)信息的。工作流系統(tǒng)將業(yè)務(wù)流程描述作為輸入并管理流程實(shí)例的執(zhí)行,這使得它比專門應(yīng)用更靈活(當(dāng)然你也要花精力編寫業(yè)務(wù)流程的規(guī)格化描述)。這就是為什么說工作流系統(tǒng)和專門系統(tǒng)是相互補(bǔ)充的。工作流系統(tǒng)可以用來管理全局的業(yè)務(wù)流程。如果專門應(yīng)用支持你所需要的業(yè)務(wù)流程,那么使用專門應(yīng)用。在此討論的工作流系統(tǒng)的第一種使用方式就是:結(jié)合所有的專門應(yīng)用,使用工作流系統(tǒng)構(gòu)建一個(gè)EAI平臺(tái)。
工作流系統(tǒng)能夠發(fā)揮很大價(jià)值的第二個(gè)使用方式是:協(xié)助涉及多人相關(guān)任務(wù)工作流軟件的開發(fā)。為了達(dá)到這個(gè)目的,大部分工作流系統(tǒng)都有一個(gè)方便的機(jī)制,來生成執(zhí)行任務(wù)的表單。對(duì)于專注于ISO 或者CMM認(rèn)證的組織,采用這種方式使用工作流系統(tǒng)能夠顯著提高生產(chǎn)率。不用將過程用文字的形式寫在紙上,工作流系統(tǒng)使你通過
流程定義建模實(shí)現(xiàn)過程的自動(dòng)化(如使用基于Web的應(yīng)用)。
工作流系統(tǒng)的第三種使用方式是:將工作流引擎嵌入到其他應(yīng)用中。在前面我們談到,專門應(yīng)用將指定問題域相關(guān)的業(yè)務(wù)流程固化在軟件中。開發(fā)專門應(yīng)用的公司也可以將工作流引擎嵌入到他們的軟件中。在這里,工作流引擎只是作為一個(gè)軟件組件,對(duì)于應(yīng)用的最終用戶是不可見的。將工作流引擎嵌入到應(yīng)用中的主要原因是為了重用
(不重復(fù)發(fā)明輪子)和應(yīng)用軟件的可維護(hù)性。
三、工作流參考模型
WfMC定義的工作流參考模型包括若干基本部件和5個(gè)基本接口(部件之間的箭頭表示部件之間的接口),如圖1所示。工作流執(zhí)行服務(wù)器周圍的接口是 WAPI(Workflow APIs),通過這些接口可以訪問工作流系統(tǒng)的服務(wù),這些接口還控制工作流控制軟件與其他系統(tǒng)組件間的交互。在5個(gè)接口中的許多功能,都是被2個(gè)或更多個(gè)接口同時(shí)擁有的,因此WAPI可以看作是統(tǒng)一的服務(wù)接口,可以交叉使用這5個(gè)接口來支持工作流管理功能,而不是單獨(dú)的使用其中某個(gè)接口。
首先,我們粗況的了解一下參考模型中的基本部件,然后再對(duì)這些基本部件進(jìn)行簡單分析。
(1)過程定義:負(fù)責(zé)給出工作流程的定義,并以一定的數(shù)據(jù)格式提供給工作流引擎解釋。
(2)工作流執(zhí)行服務(wù):工作流管理系統(tǒng)的核心,提供了過程實(shí)例執(zhí)行的運(yùn)行環(huán)境。工作流執(zhí)行服務(wù)借助于一個(gè)或多個(gè)工作流引擎,激活并解釋工作流流程定義,用來創(chuàng)建、管理、執(zhí)行工作流實(shí)例。并同外部的應(yīng)用程序進(jìn)行交互,完成工作流過程實(shí)例的創(chuàng)建執(zhí)行與管理職能。
(3)管理和監(jiān)視工具:負(fù)責(zé)監(jiān)控工作流的執(zhí)行,對(duì)工作流管理系統(tǒng)中過程實(shí)例的狀態(tài)進(jìn)行監(jiān)控與管理,如用戶管理、角色管理、審計(jì)管理、資源控制等。
(4)工作流客戶應(yīng)用:執(zhí)行者訪問工作流的界面,活動(dòng)參與者通過這樣的應(yīng)用程序參加工作流活動(dòng),獲取自己的任務(wù)。
(5)工作流引擎:過程定義的解釋器,它是工作流執(zhí)行服務(wù)的核心。
(6)被調(diào)應(yīng)用程序:工作流執(zhí)行服務(wù)在過程實(shí)例的運(yùn)行過程中,調(diào)用的、用以對(duì)應(yīng)用數(shù)據(jù)進(jìn)行處理的程序。在過程定義中包含這種應(yīng)用程序的詳細(xì)信息如類型、地
址信息等。
(7)其他工作流執(zhí)行服務(wù):在大型的工作流管理系統(tǒng)中,工作流可能需要多個(gè)工作流引擎共同完成,甚至需要其他異質(zhì)的工作流執(zhí)行服務(wù)來輔助完成,這涉及到工
作流管理系統(tǒng)之間的互聯(lián)。
其中過程定義通常包括一些獨(dú)立的活動(dòng)步驟,相關(guān)的計(jì)算機(jī)和用戶通過一系列的活動(dòng)步驟操作或制定規(guī)則以管理流程的步驟。
參考模型中定義的五類工作流接口。
(1)接口1(工作流定義轉(zhuǎn)換):工作流服務(wù)和工作流建模工具間的接口,包括工作流模型的解釋和讀寫操作。
(2)接口2(客戶端應(yīng)用程序接口):工作流服務(wù)和客戶應(yīng)用之間的接口,這是最主要的接口規(guī)范,它約定所有客戶方應(yīng)用與工作流服務(wù)之間的功能操作方法。
(3)接口3(應(yīng)用程序調(diào)用接口):工作流引擎和直接調(diào)用的應(yīng)用程序之間的直接接口。
(4)接口4(工作流機(jī)協(xié)作接口):工作流管理系統(tǒng)之間的互操作接口。
(5)接口5(管理和監(jiān)視接口):工作流服務(wù)和工作流管理工具之間的接口。
在實(shí)際的應(yīng)用中,很多商用和開源的工作流系統(tǒng)都沒有嚴(yán)格遵照這個(gè)標(biāo)準(zhǔn),或者說沒有統(tǒng)一。一個(gè)原因是WfMC的標(biāo)準(zhǔn)對(duì)于很多細(xì)節(jié)沒有明確說明,在實(shí)現(xiàn)時(shí)各個(gè)系統(tǒng)出現(xiàn)了各自的實(shí)現(xiàn)。另一個(gè)原因是,工作流系統(tǒng)與業(yè)務(wù)系統(tǒng)關(guān)系密切,受業(yè)務(wù)系統(tǒng)的限制或約束太大,因此支持不同業(yè)務(wù)的工作流在細(xì)節(jié)上差異很大,標(biāo)準(zhǔn)不易統(tǒng)一,做
一個(gè)通用的工作流系統(tǒng)難度比較大。
3.1過程定義
1過程定義工具(Process Definition Tools)
過程定義是用來創(chuàng)建一個(gè)計(jì)算機(jī)可以處理的形式的過程描述??赡芤孕问竭^程定義語言、對(duì)象關(guān)系模型、簡單的系統(tǒng)、腳本、或者在參與者間進(jìn)行信息傳遞的路徑集為基礎(chǔ)。工作流定義工具,可能作為工作流產(chǎn)品的一部分、也可能作為業(yè)務(wù)過程分析產(chǎn)品的一部分來提供給用戶,作為業(yè)務(wù)過程分析產(chǎn)品一部分,會(huì)有其他的組件來負(fù)責(zé)處理業(yè)務(wù)過程的分析或者模型,這時(shí),必須要有兼容的轉(zhuǎn)換格式,與運(yùn)行時(shí)期的工作流軟件進(jìn)行過程定義的相互轉(zhuǎn)換。有許多不同的工具可以用來分析、建模、描述業(yè)務(wù)過程;這樣的工具有很大的不同從非正式的(鉛筆和紙)到成熟的、十分專業(yè)。工作流模型不關(guān)心這些工具的特性,也不關(guān)心在過程建立時(shí)期他們是如何交互的。在以前指出過,這些工具可以作為工作流產(chǎn)品的一部分來提供,或者一個(gè)單獨(dú)的產(chǎn)品,例如BPR工具集。
有的工作流產(chǎn)品提供了其自己的過程定義工具,從而過程定義一般是保留在工作流產(chǎn)品范圍內(nèi)的,并且可能或者不能被讀/寫信息的編程接口所訪問。而使用單獨(dú)的過程定義和執(zhí)行服務(wù)器產(chǎn)品,過程定義能夠在不同的產(chǎn)品間進(jìn)行轉(zhuǎn)換,并可以被其他產(chǎn)品訪問。
設(shè)計(jì)活動(dòng)和最后的過程模型輸出,稱為過程定義。在運(yùn)行時(shí)期過程定義可以被工作流機(jī)解釋。
過程分析工具、建模工具和定義工具,都要有在一個(gè)組織結(jié)構(gòu)中模擬過程的能力(盡管這不是工作流參考模型規(guī)定必須有的)。如果組織模型集成到了這些工具中,那么過程定義將包含組織相關(guān)對(duì)象。這些都是與系統(tǒng)相關(guān)的控制數(shù)據(jù),例如角色:活動(dòng)者間的關(guān)系,可能會(huì)在過程執(zhí)行期間被引用。工作流定義轉(zhuǎn)換(接口 1)
在建模或定義工具與運(yùn)行時(shí)期工作流管理軟件間的接口,被稱為過程定義導(dǎo)入/導(dǎo)出接口。這個(gè)接口的特點(diǎn)是:轉(zhuǎn)換格式和API調(diào)用,從而支持過程定義信息間的互相轉(zhuǎn)換。這個(gè)接口也支持已完成的過程定義間的互相轉(zhuǎn)換,或過程定義的一部分。例如,過程定義的改變或者活動(dòng)中屬性的改變。
使用標(biāo)準(zhǔn)的過程定義格式有很多好處:
首先,把建立階段與運(yùn)行時(shí)期環(huán)境進(jìn)行了分離,可以使用一個(gè)建模工具來產(chǎn)生過程定義,這個(gè)過程定義可以作為很多個(gè)不同工作流運(yùn)行時(shí)期產(chǎn)品的輸入。從而用戶
可以單獨(dú)地選擇建模工具和工作流運(yùn)行時(shí)期產(chǎn)品。
其次,可以為幾個(gè)工作流機(jī)輸出過程定義,這幾個(gè)工作流機(jī)合作來構(gòu)成分布式的工作流執(zhí)行服務(wù)器。
WFMC在此部分作了以下兩個(gè)方面的工作:
(1)提出了一個(gè)元模型,可以用來表示過程定義中的對(duì)象、對(duì)象間的關(guān)系和屬性。這個(gè)元模型為不同的產(chǎn)品間的過程定義相互轉(zhuǎn)換奠定了基礎(chǔ),并形成了一套轉(zhuǎn)換
格式。
(2)工作流系統(tǒng)間或工作流系統(tǒng)與過程定義產(chǎn)品間的API調(diào)用,提供了公共的方法來訪問工作流過程定義。訪問可能是讀、讀/寫或者只寫操作,并且操作標(biāo)準(zhǔn)對(duì)
象集合(在元模型中定義的對(duì)象集合),或者產(chǎn)品自己的對(duì)象集合。
3基本元模型(A Basic Meta-Model)
WFMC開發(fā)了一個(gè)過程定義的元模型。元模型中定義了基本的對(duì)象類型集,來滿足簡單的過程定義相互轉(zhuǎn)換?;蛘哂虚_發(fā)者具體擴(kuò)展,或者在增加的功能中定義另
外的一致性級(jí)別來增加更多的對(duì)象類型。
需要為下邊的類型定義特殊的屬
性:
工作流類型定義(Workflow Type Definition)
? 工作流過程名
? 版本號(hào)
? 過程開始/結(jié)束條件
? 安全、審查、控制數(shù)據(jù)
活動(dòng)(Activity)
? 活動(dòng)名
? 活動(dòng)類型
? 進(jìn)入動(dòng)作和離開動(dòng)作
? 其他約束
轉(zhuǎn)移條件(Transition Conditions)
? 執(zhí)行條件
工作流相關(guān)數(shù)據(jù)(Workflow relevant data)
? 數(shù)據(jù)名與路徑
? 數(shù)據(jù)類型
角色(Role)
? 名稱與組織實(shí)體
? 應(yīng)用程序調(diào)用(Invoked Application)
? 類型和名稱
? 執(zhí)行參數(shù)
? 本地或者訪問路徑
在分布式工作流服務(wù)器中,可能要在過程定義時(shí),為每個(gè)工作流機(jī)分配活動(dòng),可以作為活動(dòng)的一個(gè)附加屬性。過程定義能影響安全性與管理。定義的交換格式,要支持符號(hào)命名方案,這些符號(hào)可以映射到工作流執(zhí)行服務(wù)器中的實(shí)際名稱與地址。這種映射可以使用動(dòng)態(tài)地址定位機(jī)制來實(shí)現(xiàn)(例如,目錄服務(wù)器),也可以使用其他的外部過程定義機(jī)制實(shí)現(xiàn)。也有其他的一些行業(yè)在相關(guān)的方面作研究,例如過程建模和CASE轉(zhuǎn)換工具;WFMC提出的方法也適用與其他行業(yè),預(yù)
先定義適當(dāng)?shù)霓D(zhuǎn)換格式。
4訪問過程定義的 API(APIs to access Process Definitions)
用來支持訪問過程定義數(shù)據(jù)的API命令集。希望規(guī)范中包含下邊列出的通用類型功能。命令集應(yīng)該提供命令操作表,和操作的對(duì)象、屬性,包括:
建立會(huì)話(Session Establishment)
? 連接/斷開參與系統(tǒng)間的會(huì)話
工作流定義操作(Workflow Definition Operationis)
? 從過程定義庫或者其他資源中,獲得工作流過程的名稱列表
? 選擇工作流過程定義,為更多的對(duì)象級(jí)操作提供會(huì)話句柄
? 讀/寫上層工作流過程定義對(duì)象
工作流定義對(duì)象操作(Workflow Definition Object Operations)
? 創(chuàng)建、恢復(fù)、刪除工作流定義中的對(duì)象
? 恢復(fù)、設(shè)置、刪除對(duì)象的屬性
3.2工作流執(zhí)行服務(wù)
1什么是工作流執(zhí)行服務(wù)器
由一個(gè)或多個(gè)工作流機(jī)構(gòu)成的軟件服務(wù)器,用來創(chuàng)建、管理、執(zhí)行工作流實(shí)例。應(yīng)用程序可能會(huì)通過WAPI來與這個(gè)服務(wù)交互。
在模型中,過程與活動(dòng)控制邏輯間有一個(gè)邏輯上的分離,活動(dòng)控制邏輯構(gòu)成工作流執(zhí)行服務(wù)器;過程與應(yīng)用工具間、與終端用戶任務(wù)間也有一個(gè)邏輯上的分離,應(yīng)用工具和任務(wù)建立起對(duì)每個(gè)相關(guān)活動(dòng)的處理。這種邏輯上的分離,為制定更多的行業(yè)標(biāo)準(zhǔn)提供了機(jī)會(huì),也為在工作流程序中集成用戶具體的應(yīng)用工具提供了機(jī)會(huì)。
使用下邊兩個(gè)接口中的一個(gè),就可以使工作流機(jī)訪問外部資源:
客戶端應(yīng)用程序接口(The client application interface),通過這個(gè)接口工作流機(jī)可以與任務(wù)表處理器交互,代表用戶資源來組織任務(wù)。然后由任務(wù)表處理器負(fù)責(zé),從任務(wù)表中選擇、推進(jìn)任務(wù)項(xiàng)。由任務(wù)表處理器或者終端用戶來控制應(yīng)用工具的活動(dòng)。
應(yīng)用程序調(diào)用接口(The invoked application interface),允許工作流機(jī)直接激活一個(gè)應(yīng)用工具,來執(zhí)行一個(gè)活動(dòng)。典型的是調(diào)用以后臺(tái)服務(wù)為主的應(yīng)用程序,沒有用戶接口;當(dāng)執(zhí)行活動(dòng)要用到的工具,需要與終端用戶交互,通常是使用客戶端應(yīng)用程序接口來調(diào)用那個(gè)工具,這樣可以為用戶安排任務(wù)時(shí)間表提供更多的靈活性。
在分布式的工作流執(zhí)行服務(wù)器中,每個(gè)工作流機(jī)控制過程執(zhí)行的一部分,并與這部分過程中的活動(dòng)所要用到的用戶、應(yīng)用工具進(jìn)行交互。在分布式的執(zhí)行服務(wù)器中有公共的名稱空間與管理范圍的,從而過程定義、用戶/應(yīng)用程序的名稱在一致的標(biāo)準(zhǔn)下被處理。分布式工作流系統(tǒng),在工作流機(jī)間采用特殊的協(xié)議和信息轉(zhuǎn)換格式,來同步工作流機(jī)的操作、過程交換和活動(dòng)控制信息。也許工作流相關(guān)數(shù)據(jù)也要在工作流機(jī)間進(jìn)行傳遞。在單一的工作流執(zhí)行服務(wù)器中,這些操作都是由開發(fā)商自己定義的。
在工作流機(jī)間需要一個(gè)標(biāo)準(zhǔn)的交換格式,來實(shí)現(xiàn)異種產(chǎn)品間的調(diào)用。使用接口4,執(zhí)行服務(wù)器可以把活動(dòng)或者子過程轉(zhuǎn)移到另外一個(gè)(異種)執(zhí)行服務(wù)器中執(zhí)行。在工作流參考模型中,這被稱作“工作流機(jī)交互(Workflow Engine Interchange)”。
2過程和活動(dòng)狀態(tài)變遷(Process and Activity Transitions)
工作流執(zhí)行服務(wù)可以看作是一個(gè)狀態(tài)變遷機(jī)器,過程或者活動(dòng)的實(shí)例在響應(yīng)外部事件、工作流機(jī)負(fù)責(zé)的控制判斷后,其狀態(tài)發(fā)生改變。
下圖描述了過程實(shí)例的基本狀態(tài)變遷方案:
在上圖中,發(fā)生狀態(tài)轉(zhuǎn)移(用箭頭表示)來響應(yīng)WAPI的命令;過程定義中的轉(zhuǎn)移條件滿足,也可能發(fā)生狀態(tài)轉(zhuǎn)移。
初始化(Initiated)—過程實(shí)例被創(chuàng)建,包括與過程狀態(tài)相關(guān)的日期、工作流相關(guān)數(shù)據(jù),但是過程還沒有滿足條件,不能執(zhí)行。
運(yùn)行(Running)—過程實(shí)例已經(jīng)執(zhí)行,過程中的活動(dòng)如果條件滿足就可以執(zhí)行。
激活(Active)—過程中的一個(gè)或者多個(gè)活動(dòng)已經(jīng)被執(zhí)行。
掛起(Suspended)—過程實(shí)例被靜止,并且過程中的活動(dòng)不能執(zhí)行,直到過程返回到運(yùn)行狀態(tài)。
結(jié)束(Completed)— 過程實(shí)例滿足結(jié)束條件;所有的完成后操作都將被執(zhí)行(例如記錄日志、或者統(tǒng)計(jì)信息),并且銷毀過程實(shí)例。
終止(Terminated)— 過程實(shí)例在正常結(jié)束前被停止;所有的完成后操作都將被執(zhí)行(例如記錄錯(cuò)誤信息、或者恢復(fù)數(shù)據(jù)),并且銷毀過程實(shí)例。
活動(dòng)是不能被中斷的,例如工作流執(zhí)行服務(wù)器一旦開始了一個(gè)活動(dòng),就不能掛起或者終止這個(gè)活動(dòng)。這就意味著,只有在所有運(yùn)行中的活動(dòng)結(jié)束后,并且過程返回到運(yùn)行狀態(tài),才能對(duì)過程執(zhí)行掛起、重啟、終止等命令。另外,可能需要把幾個(gè)活動(dòng)放在一起作為“原子單元”,這些原子單元要執(zhí)行就全部被執(zhí)行完,如果中途出現(xiàn)異常則返回到開始點(diǎn),重新執(zhí)行??芍袛嗷顒?dòng)的處理辦法和原子活動(dòng)單元的重新啟動(dòng)能力,需要進(jìn)一步的考慮,這超出了WFMC的初期工作范圍。
忽略那些額外的復(fù)雜事物,活動(dòng)實(shí)例的基本狀態(tài)和轉(zhuǎn)移如下圖:
一個(gè)活動(dòng)的基本狀態(tài)有:
初始化—過程實(shí)例中的活動(dòng)已經(jīng)被創(chuàng)建,但是還沒有激活(例如,活動(dòng)的進(jìn)入條件沒有滿足),并且沒有任務(wù)需要處理。
激活 —?jiǎng)?chuàng)建好的任務(wù),分配這個(gè)活動(dòng)來處理。
掛起—活動(dòng)實(shí)例被靜止,并直到活動(dòng)返回到初始化狀態(tài),才能為其分配任務(wù)。
結(jié)束 —活動(dòng)實(shí)例執(zhí)行完成。
當(dāng)然,一個(gè)產(chǎn)品也可以實(shí)現(xiàn)一些其他的狀態(tài)類型,或者使用不同基本狀態(tài)和轉(zhuǎn)移來代表上圖中的狀態(tài)和轉(zhuǎn)移。參考模型沒有指定工作流系統(tǒng)的內(nèi)部行為,但是狀態(tài)
轉(zhuǎn)移闡明了,API命令集的影響范圍的基本觀點(diǎn)。工作流應(yīng)用編程接口與數(shù)據(jù)交換(Workflow Application programming Interface & Interchange)
WAPI可以被看作是一套由工作流執(zhí)行服務(wù)器支持的API調(diào)用和數(shù)據(jù)交換集合,這個(gè)集合在在工作流執(zhí)行服務(wù)器的邊界處,負(fù)責(zé)與其他資源交互。盡管結(jié)構(gòu)中涉及到了WAPI中的5個(gè)接口,但是每一個(gè)接口中的許多功能都是公共的(即,同時(shí)被2個(gè)或者多個(gè)接口共同擁有)。
WAPI的主要功能由API調(diào)用組成。同時(shí)在WFMC也定義了接口間的,數(shù)據(jù)轉(zhuǎn)換格式,例如過程定義。工作流控制,工作流相關(guān)數(shù)據(jù)和工作流應(yīng)用數(shù)據(jù)
工作流執(zhí)行服務(wù)器維護(hù)內(nèi)部控制數(shù)據(jù),來確定過程實(shí)例或活動(dòng)實(shí)例的狀態(tài),并支持其他內(nèi)部狀態(tài)信息。這種內(nèi)部控制數(shù)據(jù)不能被訪問,也不能進(jìn)行轉(zhuǎn)換。但是有些信息內(nèi)容是要對(duì)外提供的,來響應(yīng)某些特殊操作(例如,查詢過程狀態(tài)等)。同種工作流執(zhí)行服務(wù)器可能在工作流機(jī)間交換這些信息,通過使用具體的內(nèi)部對(duì)話。
工作流控制數(shù)據(jù)—由工作流管理系統(tǒng)和(或)工作流機(jī)管理的內(nèi)部數(shù)據(jù)。
工作流管理系統(tǒng)使用工作流相關(guān)數(shù)據(jù)來判斷轉(zhuǎn)移條件是否滿足,并選擇下一個(gè)要執(zhí)行的活動(dòng)。這些數(shù)據(jù)能被工作流應(yīng)用程序訪問,這些數(shù)據(jù)也需要通過工作流執(zhí)行軟件在活動(dòng)間傳遞。當(dāng)在同種環(huán)境下進(jìn)行操作時(shí),如果過程的執(zhí)行要在2個(gè)或者多個(gè)工作流中進(jìn)行,那么這些數(shù)據(jù)就要在工作流機(jī)間進(jìn)行傳遞;這個(gè)過程可能需要名稱映射
或者數(shù)據(jù)轉(zhuǎn)化。
工作流相關(guān)數(shù)據(jù)—工作流管理系統(tǒng)用來判斷過程中狀態(tài)轉(zhuǎn)移是否可以執(zhí)行的數(shù)據(jù)。過程實(shí)例中的每個(gè)活動(dòng)中可能都需要進(jìn)行數(shù)據(jù)操作。因此,工作流模型必須能夠在所有的處理活動(dòng)間的“情形數(shù)據(jù)”交換。在一些環(huán)境中,可能需要情形數(shù)據(jù)在不同的工具數(shù)據(jù)格式間進(jìn)行轉(zhuǎn)換,例如,把文檔從一種格式轉(zhuǎn)成另外一種格式。(有的系統(tǒng)中,數(shù)據(jù)轉(zhuǎn)換是工作流執(zhí)行服務(wù)器來完成的;有的系統(tǒng)中直接把數(shù)據(jù)轉(zhuǎn)換定義成過程中的一個(gè)活動(dòng)來執(zhí)行)
工作流應(yīng)用程序數(shù)據(jù)—應(yīng)用程序的具體數(shù)據(jù),并且不能被工作流管理系統(tǒng)訪問。
工作流應(yīng)用程序數(shù)據(jù)不能被工作流執(zhí)行軟件所使用,只與應(yīng)用程序或者用戶任務(wù)的執(zhí)行相關(guān)。就像工作流相關(guān)數(shù)據(jù)一樣,在同種執(zhí)行服務(wù)器中應(yīng)用程序數(shù)據(jù)會(huì)在工
作流機(jī)間進(jìn)行傳遞,來保證活動(dòng)的正常執(zhí)行。
應(yīng)用程序與其需要用到的工作流相關(guān)或應(yīng)用程序數(shù)據(jù)間的關(guān)系,會(huì)在工作流定義中說明。在一些情況下,可能是隱含關(guān)系(例如,在一些系統(tǒng)中情形數(shù)據(jù)會(huì)作為活動(dòng)導(dǎo)航的一部分,傳遞到下一個(gè)活動(dòng)中),然而在其他情況下(例如訪問共享對(duì)象存儲(chǔ)),就需要明確定義對(duì)象的名字和應(yīng)用程序的訪問路徑。在參考模型中,把前一種情況
稱為“直接數(shù)據(jù)交換”,后一種稱為“間接數(shù)據(jù)交換”。數(shù)據(jù)交換(Data Interchange)
工作流相關(guān)數(shù)據(jù)和應(yīng)用程序數(shù)據(jù)的交換,都需要訪問WAPI,來支持在3個(gè)運(yùn)行時(shí)期功能中的協(xié)同工作:
? 任務(wù)表處理器(Interface 2)
? 應(yīng)用程序調(diào)用(Interface 3)
? 工作流機(jī)交換(Interface 4)
本節(jié)講述數(shù)據(jù)交換的基本原理;提出了API命令集,包括從工作流機(jī)中接收/返回工作流相關(guān)數(shù)據(jù)的具體調(diào)用;并為直接數(shù)據(jù)交換和間接數(shù)據(jù)交換定義了,與上述
API命令集不同的命令集。
由Email驅(qū)動(dòng)的工作流系統(tǒng)是一種典型的應(yīng)用程序數(shù)據(jù)的直接交換,這樣的系統(tǒng)中,應(yīng)用程序數(shù)據(jù)物理地在活動(dòng)間進(jìn)行傳遞。這種情況下,不需要明確定義活動(dòng)與應(yīng)用程序數(shù)據(jù)間的關(guān)系;應(yīng)用程序數(shù)據(jù)作為標(biāo)準(zhǔn)工作流活動(dòng)導(dǎo)航的一部分進(jìn)行傳遞,并且在應(yīng)用程序調(diào)用時(shí)在本地直接與程序相關(guān)。需要在活動(dòng)間提供數(shù)據(jù)格式轉(zhuǎn)換時(shí),應(yīng)用程序需要定義與之相關(guān)的數(shù)據(jù)類型,可以作為一個(gè)屬性來定義(這個(gè)屬性信息可能存放在軟件執(zhí)行環(huán)境中,或者能被整個(gè)工作流執(zhí)行服務(wù)器訪問,例如地址目錄)。這樣,使用同種工作流應(yīng)用程序構(gòu)造的系統(tǒng),就能夠根據(jù)每個(gè)應(yīng)用程序所定義的數(shù)據(jù)類型進(jìn)行數(shù)據(jù)轉(zhuǎn)換。需要采用一些協(xié)議來傳遞和保存數(shù)據(jù)類型信息,例如使用 X.400 對(duì)象標(biāo)識(shí)符,或者Internet mail MIME機(jī)制。
一些類型的工作流系統(tǒng)(例如,使用共享文檔存儲(chǔ)實(shí)現(xiàn)的),在活動(dòng)間不能從物理上傳遞應(yīng)用程序數(shù)據(jù)。在這些系統(tǒng)中,應(yīng)用程序要使用適當(dāng)?shù)脑L問路徑才能進(jìn)行數(shù)據(jù)訪問。這樣,必須要有統(tǒng)一的訪問路徑命名方案,必須是有效的訪問權(quán)限,并且由激活的過程實(shí)例來控制訪問權(quán)限。在這種情況下,如果需要,在建模時(shí),數(shù)據(jù)格式轉(zhuǎn)換
也可以作為一個(gè)活動(dòng)。
同種系統(tǒng)中可能使用私有的對(duì)象命名協(xié)定和訪問權(quán)限,但是異種系統(tǒng)需要一個(gè)公共的方案。在異種系統(tǒng)中,在過程定義時(shí)必須包含對(duì)應(yīng)用程序數(shù)據(jù)對(duì)象存儲(chǔ)的訪問
路徑,或者在活動(dòng)間的導(dǎo)航必須包含訪問路徑的傳遞。
同種工作流產(chǎn)品進(jìn)行協(xié)調(diào)工作,其必須采用相同的應(yīng)用程序數(shù)據(jù)交換方法,或者通過一個(gè)網(wǎng)關(guān)機(jī)制進(jìn)行協(xié)作,網(wǎng)關(guān)機(jī)制通過適當(dāng)?shù)膮f(xié)議,可以在兩種不同的數(shù)據(jù)交換方法間進(jìn)行映射,也可以處理對(duì)象命名與數(shù)據(jù)類型轉(zhuǎn)換的不同。以后還需要對(duì)這部分進(jìn)行細(xì)化,但有可能制定一個(gè)交換標(biāo)準(zhǔn),來包含上述的兩種情況。
工作流應(yīng)用程序或相關(guān)數(shù)據(jù)交換的方法,都是通過3個(gè)接口來處理的;下邊列出了這3個(gè)接口:
客戶端應(yīng)用程序接口—工作流相關(guān)數(shù)據(jù)可以包含在任務(wù)中。工作流相關(guān)數(shù)據(jù)也可以通過共享的對(duì)象存儲(chǔ)形式來間接傳遞。
應(yīng)用程序調(diào)用接口—依靠應(yīng)用程序調(diào)用接口進(jìn)行數(shù)據(jù)轉(zhuǎn)換,可能需要在調(diào)用服務(wù)中把數(shù)據(jù)包含在具體應(yīng)用程序協(xié)議中。激活的工作流應(yīng)用程序可以使用,讀/寫工作
流相關(guān)數(shù)據(jù)的API,或者用這些API來構(gòu)造通用應(yīng)用程序代理。
工作流機(jī)協(xié)作接口—與客戶端應(yīng)用程序接口相似,盡管在不同的系統(tǒng)中支持不同的應(yīng)用程序數(shù)據(jù)交換方法,但是網(wǎng)關(guān)功能的使用,需要在兩種方法間進(jìn)行映射,也
要處理名稱問題。
3.3工作流客戶應(yīng)用:
1工作流客戶端應(yīng)用程序(Workflow Client Applications)
任務(wù)表處理器是在需要調(diào)用人類資源的活動(dòng)時(shí)用來與終端用戶進(jìn)行交互的軟件。任務(wù)表處理器可以作為工作流產(chǎn)品的一部分提供給用戶,也可以由用戶自己開發(fā)。在其他情況中,工作流可能要與普通的辦公系統(tǒng)進(jìn)行集成,例如Email,來為終端用戶提供一個(gè)統(tǒng)一的任務(wù)管理系統(tǒng)。這就要求在工作流執(zhí)行服務(wù)器與工作流客戶端應(yīng)用程序
間有一個(gè)非常靈活的通信機(jī)制,來構(gòu)建各種可能遇到的運(yùn)行系統(tǒng)。在工作流模型中,通過客戶端應(yīng)用程序與工作流機(jī)間的定義良好的接口進(jìn)行交互。在這個(gè)接口中包含任務(wù)表—由工作流機(jī)分配給用戶的任務(wù)序列。最簡單的情況是,工作流機(jī)訪問任務(wù)表,來把任務(wù)分配給用戶;任務(wù)表處理器訪問任務(wù)表,向任務(wù)表中添加任務(wù)項(xiàng)。有許多不同的產(chǎn)品來實(shí)現(xiàn)任務(wù)表的交互。
任務(wù)表中任務(wù)項(xiàng)的激活(例如,啟動(dòng)應(yīng)用程序,連接工作流相關(guān)數(shù)據(jù)),可能是由工作流客戶端應(yīng)用程序或者終端用戶控制的。在工作流客戶端應(yīng)用程序與工作流執(zhí)行服務(wù)器間定義了一系列的方法,用來向任務(wù)表中添加任務(wù)項(xiàng)、從任務(wù)表中刪除完成的活動(dòng)、激活臨時(shí)掛起的活動(dòng),等。
任務(wù)表處理器也可以調(diào)用應(yīng)用程序,或者直接調(diào)用,或者由終端用戶調(diào)用。通常希望,任務(wù)表處理器的應(yīng)用程序調(diào)用范圍能夠受到運(yùn)行環(huán)境的限制,盡管這樣會(huì)給
模型帶來通用性的限制,但這種情況是一直存在的。
與任務(wù)表相關(guān)的部分活動(dòng)的數(shù)據(jù),是任務(wù)表處理器用來調(diào)用應(yīng)用程序所必須的信息。當(dāng)應(yīng)用程序數(shù)據(jù)是強(qiáng)類型時(shí),在任務(wù)表處理器中要存放一個(gè)聯(lián)接,用來實(shí)現(xiàn)程序的調(diào)用。在其他情況中,在任務(wù)表處理器與工作流機(jī)間要進(jìn)行完全的應(yīng)用程序名稱和地址信息的交換;這時(shí),工作流客戶端應(yīng)用程序也可能實(shí)現(xiàn)一些應(yīng)用程序調(diào)用接口(接
口3)中的功能,來獲得必要的信息。
任務(wù)表中可能要包含一個(gè)過程中的幾個(gè)不同實(shí)例的相關(guān)任務(wù),或者包含幾個(gè)不同過程中的一個(gè)共同活動(dòng)項(xiàng)。一個(gè)任務(wù)表處理器可能要與幾個(gè)不同的工作流機(jī)、幾個(gè)不同的工作流執(zhí)行服務(wù)器進(jìn)行交互。(按照每個(gè)產(chǎn)品的實(shí)現(xiàn),為每個(gè)過程單獨(dú)維護(hù)一個(gè)物理上分開的任務(wù)表,或者任務(wù)表處理器把幾個(gè)不同的任務(wù)表聯(lián)合到一起,呈現(xiàn)給終端
用戶)
因此,客戶端工作流應(yīng)用程序與工作流機(jī)間的接口必須十分靈活,來滿足下邊的幾方面功能的實(shí)現(xiàn)多樣性:
? 過程和活動(dòng)表示符
? 資源名和地址
? 數(shù)據(jù)引用和數(shù)據(jù)結(jié)構(gòu)
? 可選擇的通訊機(jī)制 工作流客戶端應(yīng)用程序接口(接口 2)
滿足上述需求的方法,在標(biāo)準(zhǔn)API集后,可以為從工作流應(yīng)用程序到工作流機(jī)和任務(wù)表的訪問提供一致的形式,而不管產(chǎn)品的實(shí)現(xiàn)特性。
API與其參數(shù)可以映射到幾個(gè)不同的通信機(jī)制上,來適應(yīng)各種不同的工作流實(shí)現(xiàn)模型。
WFMC在其文檔中,分開發(fā)布API規(guī)范;下邊是對(duì)客戶端應(yīng)用程序API使用的一個(gè)概述,分成幾個(gè)不同的功能。提供了對(duì)單獨(dú)或者多個(gè)過程活動(dòng)實(shí)例的操作命令,就像任務(wù)表一樣。
建立會(huì)話(Session Establishment)
? 連接/斷開參與系統(tǒng)間的會(huì)話
工作流定義操作(Workflow Definition Operations)
? 對(duì)工作流過程定義名稱或者屬性的恢復(fù)/查詢功能
過程控制功能(Process Control Functions)
? 創(chuàng)建/開始/結(jié)束一個(gè)過程實(shí)例
? 掛起/喚醒一個(gè)過程實(shí)例
? 在過程實(shí)例或活動(dòng)實(shí)例中強(qiáng)制一個(gè)狀態(tài)發(fā)生改變
? 查詢過程實(shí)例或活動(dòng)實(shí)例的屬性
過程狀態(tài)功能(Process Status Functions)
? 打開/關(guān)閉過程實(shí)例或活動(dòng)實(shí)例的查詢,設(shè)置過濾標(biāo)準(zhǔn)
? 獲取過程實(shí)例或活動(dòng)實(shí)例的詳細(xì)信息
? 獲取具體過程或活動(dòng)的詳細(xì)信息
任務(wù)表/任務(wù)項(xiàng)處理功能(Worklist/Workitem Handling Functions)
? 打開/關(guān)閉任務(wù)表查詢,設(shè)置過濾標(biāo)準(zhǔn)
? 獲取任務(wù)表中的項(xiàng)目
? 通知選擇/重分配/結(jié)束一個(gè)任務(wù)項(xiàng)
? 查詢?nèi)蝿?wù)項(xiàng)屬性
過程管理功能(Process Supervisory Functions)
? 改變過程定義或者它的實(shí)例的運(yùn)行狀態(tài)
? 改變某種類型的所有過程實(shí)例或活動(dòng)實(shí)例的狀態(tài)
? 為某種類型的所有過程實(shí)例或活動(dòng)實(shí)例的屬性賦值
? 終止所有過程實(shí)例
數(shù)據(jù)處理功能(Data Handling Functions)
? 恢復(fù)/返回工作流相關(guān)或應(yīng)用程序數(shù)據(jù)
應(yīng)用程序調(diào)用(Application Invocation)
? 上邊對(duì)功能的概括,為支持任務(wù)表處理器對(duì)應(yīng)用程序調(diào)用提供了基礎(chǔ)。應(yīng)用程序調(diào)用功能的一些命令是與客戶端應(yīng)用程序環(huán)境相關(guān)的。
? 有些產(chǎn)品可以只實(shí)現(xiàn)全部WAPI的一部分;以后會(huì)給出進(jìn)一步的考慮,定義一致性級(jí)別,來滿足市場(chǎng)中不同的產(chǎn)品間的,不同的協(xié)作需要。
3.4被調(diào)應(yīng)用程序:
1應(yīng)用程序調(diào)用(Invoked Applications)
所有的WFM產(chǎn)品都沒有足夠的邏輯單元,知道如何調(diào)用所有的應(yīng)用程序,這些應(yīng)用程序存在異種的產(chǎn)品環(huán)境中。這就需要,能夠處理在所有平臺(tái)下和網(wǎng)絡(luò)環(huán)境中進(jìn)行調(diào)用的邏輯,并需要能使用公共格式和編碼進(jìn)行應(yīng)用數(shù)據(jù)或相關(guān)數(shù)據(jù)傳遞的方法。
然而,許多工作流系統(tǒng)能夠使用了更多受限制的應(yīng)用程序,特別是那些采用強(qiáng)制數(shù)據(jù)類型和直接與應(yīng)用程序相連的系統(tǒng)。在其他情況中,應(yīng)用程序?qū)Σ僮鞯恼{(diào)用,可能是通過標(biāo)準(zhǔn)的交換機(jī)制來實(shí)現(xiàn)的,例如OSI TP協(xié)議或者X.400。一些實(shí)現(xiàn)使用了“應(yīng)用程序代理(Application Agent)”,把這些在在標(biāo)準(zhǔn)接口之后的各種方法包含在工作流執(zhí)行服務(wù)器中。也有可能開發(fā)“Workflow enabled”應(yīng)用工具,這種工具使用標(biāo)準(zhǔn)的API集來與工作流執(zhí)行服務(wù)器進(jìn)行通信,來接收應(yīng)用程序數(shù)據(jù)、信號(hào)和響應(yīng)活動(dòng)事件等。這些API可以被應(yīng)用工具直接調(diào)用;也可以被應(yīng)用程序代理過過程調(diào)用,作為與其他應(yīng)用程序(不包含任何工作流技術(shù)的程序)交互的前端。應(yīng)用程序調(diào)用接口(接口 3)
下邊是接口3的結(jié)構(gòu),“工作流”類型的應(yīng)用程序或應(yīng)用程序代理,可以直接使用這個(gè)結(jié)構(gòu)。
在簡單的情況中,工作流機(jī)在本地處理應(yīng)用程序調(diào)用,使用過程定義中的信息來確定,活動(dòng)的性質(zhì)、將要調(diào)用的應(yīng)用程序的類型和所需的數(shù)據(jù)。被調(diào)用的應(yīng)用程序可能存儲(chǔ)在工作流機(jī)中,或者與工作流機(jī)一同存儲(chǔ)在相同的平臺(tái)下,或者存放在一個(gè)獨(dú)立的網(wǎng)絡(luò)訪問的平臺(tái)中;過程定義中有足夠的應(yīng)用程序類型和尋址信息(工作流機(jī)的特殊需求),來實(shí)現(xiàn)應(yīng)用程序調(diào)用。在這種情況下,應(yīng)用程序命名與尋址的協(xié)定是處于工作流機(jī)與過程定義之間的。
應(yīng)用程序調(diào)用API的詳細(xì)語法、語義作為WFMC規(guī)范的一部分給出。操作覆蓋了一些不同的基本接口,包括上表中的一部分,其中一些操作是同步的,一些是異步的。API的操作可以是單線程的,也可以是多線程的,后者使用活動(dòng)ID來區(qū)分線程。下邊是應(yīng)用程序調(diào)用可以使用的一些命令概括:
創(chuàng)建會(huì)話(Session Establishment)
? 連接/斷開應(yīng)用程序會(huì)話
活動(dòng)管理功能(Activity Management Functions)
? 開始活動(dòng)
? 掛起/恢復(fù)/放棄活動(dòng)
? 活動(dòng)完成通知
? 信號(hào)事件
? 查詢活動(dòng)屬性
數(shù)據(jù)處理功能(Data Handling Functions)
? 提供工作流相關(guān)數(shù)據(jù)
? 提供應(yīng)用程序數(shù)據(jù)或數(shù)據(jù)地址
更復(fù)雜的情況,異種工作流機(jī)間的協(xié)同工作,可能需要在工作流機(jī)間傳遞應(yīng)用程序調(diào)用信息,或者作為運(yùn)行時(shí)期數(shù)據(jù)交換的一部分,或者通過在過程定義階段后導(dǎo)
入過程定義來實(shí)現(xiàn)。
3.5其他工作流執(zhí)行服務(wù):
WFMC的一個(gè)主要目標(biāo)是,為不同開發(fā)商的工作流系統(tǒng)產(chǎn)品,相互間能夠進(jìn)行無逢傳遞任務(wù)項(xiàng),定義標(biāo)準(zhǔn)。
工作流產(chǎn)品的特性變化多樣。在WFMC的協(xié)同工作標(biāo)準(zhǔn)中,沒有強(qiáng)迫開發(fā)商必須提供一個(gè)只面向用戶需求的產(chǎn)品或者只考慮協(xié)同工作。
WFMC把焦點(diǎn)聚集到,開發(fā)多種不同的協(xié)同工作框架,這些框架可以操作一系列標(biāo)準(zhǔn)的協(xié)調(diào)工作,從簡單的任務(wù)傳遞到整個(gè)工作流系統(tǒng)的協(xié)同工作(包括過程定義轉(zhuǎn)換、工作流相關(guān)數(shù)據(jù)交換、通用的界面等)。簡單的協(xié)同工作,WFMC的協(xié)同工作定義將在最初就能支持;而復(fù)雜的協(xié)同工作,還需要進(jìn)一步的研究。
盡管可以開發(fā)一個(gè)非常復(fù)雜的協(xié)同工作框架,由許多個(gè)工作流機(jī)構(gòu)成個(gè)執(zhí)行服務(wù)器,但是這種框架不會(huì)在近期實(shí)現(xiàn),因?yàn)檫@需要所有的工作流機(jī)都可以解釋一個(gè)公共的過程定義和共享公共的工作流控制數(shù)據(jù)集,事實(shí)上是維護(hù)異種工作流機(jī)間的一個(gè)共享過程視圖?,F(xiàn)階段更現(xiàn)實(shí)的目標(biāo)是,能夠在運(yùn)行時(shí)期傳遞過程的某些部分,來支持不
同的執(zhí)行服務(wù)器運(yùn)行。
WFMC定義了4個(gè)協(xié)同工作模型:鏈鎖式,子過程嵌套,P2P(Peer-to-Peer),相似同步,包含多種協(xié)同工作能力級(jí)別
3.6管理和監(jiān)視工具:
WFMC規(guī)范的最后關(guān)注的是為管理和監(jiān)視功能開發(fā)公共的接口標(biāo)準(zhǔn),這樣一個(gè)開發(fā)商的產(chǎn)品就可以用來管理其他工作流機(jī)的運(yùn)行。通過公共的接口,幾個(gè)不同的工
作流執(zhí)行服務(wù)器可以共享,管理和監(jiān)視功能。
盡管,過程狀態(tài)命令在接口定義中已經(jīng)描述了,但一致認(rèn)為,在某些行業(yè)中需要,進(jìn)行全部狀態(tài)監(jiān)視和提取信息的功能。WFMC提出的接口,是要讓用戶能夠得到工作流運(yùn)行狀態(tài)的完整視圖,無論是什么樣的工作流系統(tǒng);同時(shí),也希望能提供一套全面的功能集,進(jìn)行系統(tǒng)管理,包括安全性、控制和權(quán)限。
接口中包含WAPI集中的一些具體命令,來操作管理和監(jiān)視功能。另外,進(jìn)一步的討論,期望能夠確定在什么范圍內(nèi),這個(gè)接口可以使用現(xiàn)有的協(xié)議(如CMIP、SNMP),來設(shè)置、恢復(fù)管理狀態(tài)和統(tǒng)計(jì)信息(定義在開放MIB中——Management Information Base)
“工作流” 已經(jīng)成為了一個(gè)事實(shí)存在的概念和名詞,可是到了2007年依然找不到?jīng)]有能夠明確的定義,在互連網(wǎng)上,我們隨便在GOOGLE或百度上搜索,找到關(guān)于工作流的內(nèi)容及定義可以說是百家爭(zhēng)鳴,是標(biāo)準(zhǔn)、是引擎、是技術(shù)、解決方案、是思想、是架構(gòu)。。到底是什么?
工作流到底是什么呢,對(duì)于從事做計(jì)算機(jī)軟件設(shè)計(jì)的人而言,它是一項(xiàng)技術(shù)、是我們?yōu)槲覀兊目蛻籼峁┙鉀Q方案框架的一部分;對(duì)于從事企業(yè)信息化管理的人而言,它是一種思想,是我們降低用戶的IT運(yùn)維成本的一種方法;對(duì)于從事軟件開發(fā)的人而言,它是一個(gè)架構(gòu),是我們?nèi)绾卫贸墒旆€(wěn)定的接口和組件低成本的開發(fā)出適應(yīng)用戶流程變化的應(yīng)用程序??偠灾?,工作流通過技術(shù)的手段,融入管理思想、為管理提供“人、事、物、流程、時(shí)間、條件”等多維管理能力,幫助用戶實(shí)現(xiàn)管理目標(biāo)。
既然今天談的是“工作流”技術(shù),那文章的重點(diǎn)就是占在技術(shù)的角度來討論工作流,我們可以從以下幾個(gè)方面來探討工作流。
1、為什么要使用工作流技術(shù)
對(duì)于這個(gè)問題我們可以從軟件企業(yè)的解決方案策略、用戶運(yùn)維的成本上及企業(yè)信息化規(guī)劃等幾個(gè)角度來考慮這個(gè)問題。
首先從解決方案提供者的角度來說,我們的CIO/CTO面臨的一個(gè)很大的壓力是在于我們?yōu)橛脩籼峁┑慕鉀Q方案滯后于我們的用戶的商業(yè)策略,我們用戶總是在變化中發(fā)展,商業(yè)策略面臨著市場(chǎng)、競(jìng)爭(zhēng)對(duì)手的壓力而改變,而我們提供的解決方案卻不能夠快速適應(yīng)這樣的變化。工作流技術(shù)使這樣的一種解決方案成為可能,同時(shí)工作流技術(shù)也為用戶企業(yè)實(shí)現(xiàn)企業(yè)戰(zhàn)略執(zhí)行提供了實(shí)現(xiàn)的平臺(tái)。
從IT運(yùn)維的角度來說,目前很多IT公司面臨了一種CTO(總體擁有成本)成本比例的變化趨勢(shì)。因?yàn)榇蟛糠諭T企業(yè)或IT部門的IT基礎(chǔ)架構(gòu)的現(xiàn)狀,使我們用戶運(yùn)行維護(hù)的成本在逐步的升高,研發(fā)新能力的成本在逐步壓縮,但我們的IT投資始終會(huì)變緩,特別是IT運(yùn)行維護(hù)的成本在總體擁有成本中的比例。意味著IT企業(yè)和IT部門利益的空間將越來越小,其實(shí)我們身邊的很多案例里就有很多IT企業(yè)被某些項(xiàng)目拖累致倒閉的現(xiàn)象。工作流技術(shù)可以脫離開發(fā)環(huán)境而設(shè)計(jì)業(yè)務(wù)流程的特性讓企業(yè)IT運(yùn)行維護(hù)成本大大的降低,從而提高了IT企業(yè)和IT部門的利益空間。
從企業(yè)信息規(guī)劃的角度來說,可以回顧前些年的ERP、進(jìn)銷存、CRM等系統(tǒng),大部分是管事的,系統(tǒng)主要是記錄數(shù)據(jù)及其關(guān)聯(lián)關(guān)系等,是靜態(tài)為主的,但隨著社會(huì)的發(fā)展與競(jìng)爭(zhēng)格局的變化,企業(yè)的策略越來越需要能隨需而動(dòng),生產(chǎn)管理活動(dòng)也始終是“人”參與的活動(dòng),很多時(shí)候人需要激勵(lì)、參與、滿足、約束、被管理等等才能很好達(dá)到管理目標(biāo)。因此新一代管理系統(tǒng)中協(xié)同性、靈活性、擴(kuò)展性需求相當(dāng)重要,工作流是提供協(xié)同性、靈活性、擴(kuò)展性的最佳工具。
2、工作流用在哪里
毫五疑問,工作流技術(shù)是軟件技術(shù),用在軟件設(shè)計(jì)領(lǐng)域,工作流分為業(yè)務(wù)型工作流和狀態(tài)型工作流,業(yè)務(wù)型工作流大部分是要用在管理軟件設(shè)計(jì)領(lǐng)域,為管理軟件提供靈活性、擴(kuò)展性、協(xié)同性等特質(zhì)。幫助企業(yè)實(shí)現(xiàn)戰(zhàn)略管理目標(biāo)。
常用的工作流應(yīng)用場(chǎng)景:
企業(yè)辦公自動(dòng)化系統(tǒng)
IT服務(wù)管理系統(tǒng)
客戶服務(wù)管理系統(tǒng)
物流攬收調(diào)度系統(tǒng)
設(shè)備運(yùn)維管理系統(tǒng)
質(zhì)量考核監(jiān)督系統(tǒng)
采購系統(tǒng)。。
3、如何使用工作流及哪些人使用
很多時(shí)候工作流是一個(gè)看不見摸不著的東西,存在于我們的業(yè)務(wù)管理系統(tǒng)軟件中,至于如何使用、哪些人使用可以從幾個(gè)方面說明。
工作流引擎是系統(tǒng)功能,是軟件本身去使用的,工作流架構(gòu)是包含工作流引擎使用、接口調(diào)用、業(yè)務(wù)系統(tǒng)應(yīng)用框架的,是開發(fā)人員使用的,開發(fā)人員在工作流架構(gòu)上設(shè)計(jì)開發(fā)包含工作流技術(shù)的不同業(yè)務(wù)領(lǐng)域的軟件系統(tǒng)。
工作流平臺(tái)一般是包含流程設(shè)計(jì)工具的,由企業(yè)流程管理用戶去使用,通過工作流平臺(tái)提供的流程管理工具將企業(yè)的戰(zhàn)略和制度轉(zhuǎn)化為執(zhí)行語言。
軟件系統(tǒng)普通用戶使用的則僅僅是包含企業(yè)戰(zhàn)略執(zhí)行語言的業(yè)務(wù)管理系統(tǒng)。
4、工作流技術(shù)的選型
關(guān)于工作流技術(shù)的選型,對(duì)于從事IT工作的人員來說是一個(gè)需要非常慎重選擇,在這里做些簡單的闡述,工作流技術(shù)分為兩種。一種是業(yè)務(wù)流程型的,比如我們的一些事件處理、服務(wù)流程、物流攬收調(diào)度、合同審批、設(shè)計(jì)審核等,需要工作流引擎根據(jù)各種表單的內(nèi)容來人機(jī)交互來自動(dòng)管理這個(gè)過程;另一種是狀態(tài)機(jī)型的,根據(jù)一件事情的狀態(tài)變化而自動(dòng)進(jìn)行處理,如工業(yè)控制,電路控制管理等。常用于一些工業(yè)自動(dòng)化控制系統(tǒng)等。
我們經(jīng)常聽到有人說工作流引擎可以很快的就配置出一個(gè)業(yè)務(wù)系統(tǒng)出來,自定義表單,自定義流程,自定義報(bào)表等等,很快就給用戶提供一個(gè)完整的業(yè)務(wù)系統(tǒng),其實(shí)這樣的想法是非常理想的,我們?cè)陂_發(fā)我們的業(yè)務(wù)系統(tǒng)的時(shí)候我們會(huì)發(fā)現(xiàn)我們的業(yè)務(wù)系統(tǒng)不僅僅是功能的實(shí)現(xiàn),它將面臨著各個(gè)方面的需求,包括性能,并發(fā)處理能力、易用性、一致性及個(gè)性化等等,當(dāng)工作流引擎只能滿足60%的需求時(shí),我們的團(tuán)隊(duì)將為另外的40%需求付出多少成本。因此在工作流的選型上很重要的一點(diǎn)就是它對(duì)于二次開發(fā)的支持,及接口的友好特性,同時(shí)它能支持我們?cè)诠ぷ髁骰A(chǔ)上設(shè)計(jì)思路上的延續(xù)性。
因此工作流技術(shù)的選型不但要考慮工作流引擎本身功能的完整性和穩(wěn)定性,工作流架構(gòu)的擴(kuò)展性、易用性及適應(yīng)能力,還需要考慮工作流涉及開發(fā)人員、企業(yè)管理實(shí)施人員、企業(yè)用戶的習(xí)慣和易用性等。純粹的工作流的產(chǎn)品意義并不大,關(guān)鍵是否能很好的幫助企業(yè)實(shí)現(xiàn)管理目標(biāo)。
5、工作流技術(shù)的應(yīng)用
E8.Net工作流平臺(tái)融入了新一代管理軟件關(guān)注的重點(diǎn)思想,所有功能模塊應(yīng)用將權(quán)限體系、工作流引擎體系、表示邏輯體系、管理控制邏輯體系、擴(kuò)展及個(gè)性化接口體系充分結(jié)合,從架構(gòu)的設(shè)計(jì)上優(yōu)化企業(yè)個(gè)性化業(yè)務(wù)系統(tǒng)實(shí)施成本,并通過流程管理工具,為企業(yè)實(shí)施個(gè)性化的企業(yè)流程,通過記錄、監(jiān)督、跟蹤、回訪、分析企業(yè)日常事務(wù),持續(xù)改善企業(yè)管理流程,E8.Net工作流平臺(tái)開源的開發(fā)架構(gòu)設(shè)計(jì)過程中充分分析了管理行為中人的特性,基于E8開發(fā)的企業(yè)流程應(yīng)用系統(tǒng)提供了事中監(jiān)督、事后回訪、全程跟蹤的體系架構(gòu),E8工作流引擎功能設(shè)計(jì)中也充分考慮了流程和環(huán)節(jié)模型特性、環(huán)節(jié)行為人群體特性和中國特色,流轉(zhuǎn)過程中基于權(quán)限體系提供了人為因素中“主動(dòng)/被動(dòng)”異常的解決思路,解決快速實(shí)施企業(yè)業(yè)務(wù)流程需求的同時(shí),又提供了人性“非理想”狀態(tài)下的異常解決方案和防范控制解決方案。
工作流技術(shù)在協(xié)同辦公中的實(shí)現(xiàn)
http://004km.cn 2008年10月28日 17:04 比特網(wǎng)ChinaByte
一、協(xié)同辦公(OA)系統(tǒng)簡介
協(xié)同辦公(OA)系統(tǒng)是一套兼具企業(yè)信息門戶、知識(shí)管理、工作流管理、人力資源管理、客戶與合作伙伴管理、項(xiàng)目管理、財(cái)務(wù)管理、資產(chǎn)管理功能的協(xié)同商務(wù)平臺(tái),協(xié)同辦公(OA)系統(tǒng)是一個(gè)數(shù)字化的企業(yè)應(yīng)用環(huán)境,真正讓公司所有的信息都在一個(gè)平臺(tái)上管理,解決信息孤島問題。協(xié)同辦公系統(tǒng)本身具有的網(wǎng)狀結(jié)構(gòu),為企業(yè)打通所有的信息節(jié)點(diǎn),讓企業(yè)管理者輕松穿梭在客戶、員工、文檔等所有的信息節(jié)點(diǎn)上,因?yàn)閰f(xié)同辦公系統(tǒng)為您提供了一張信息網(wǎng),只要您找到這張信息網(wǎng)中的某個(gè)節(jié)點(diǎn),您就可以輕松的以這個(gè)節(jié)點(diǎn)為中心把企業(yè)的整個(gè)信息網(wǎng)都提取出來。
同時(shí),協(xié)同辦公(OA)系統(tǒng)可以與后臺(tái)的ERP軟件集成在一起,將所有利益相關(guān)者、企業(yè)部門、不同應(yīng)用系統(tǒng)的信息整合到統(tǒng)一的渠道,并提供統(tǒng)一的界面給用戶操作和提取信息,從而實(shí)現(xiàn)業(yè)務(wù)處理和信息獲取與共享的一體化,達(dá)到內(nèi)部協(xié)同和外部協(xié)同,為每一個(gè)用戶提供一個(gè)完全的個(gè)性化門戶,用戶在這個(gè)個(gè)性化的門戶中管理日常的所有事務(wù)。
二、工作流管理簡介
由于工作流預(yù)先定義的特性,已設(shè)定的請(qǐng)求可以很容易的遵守相應(yīng)的規(guī)則和實(shí)際操作情況。企業(yè)可以確信所有的請(qǐng)求都是根據(jù)規(guī)則和手續(xù)來輸入和批準(zhǔn)的,從而保證企業(yè)運(yùn)作的規(guī)范化和透明化。上海泛微軟件公司的協(xié)同辦公(OA)系統(tǒng)中實(shí)現(xiàn)的工作流e-Workflow管理可以對(duì)內(nèi)部以及外部業(yè)務(wù)處理采取電子化管理方式管理,工作流管理是提高組織效率的有效工具。
e-Workflow提供強(qiáng)大的自定義功能,支持企業(yè)復(fù)雜的工作流設(shè)置。企業(yè)可對(duì)工作流的組成因素包括流程完成需要的階段、每個(gè)階段的負(fù)責(zé)人、流轉(zhuǎn)條件,直至相對(duì)底層的表單和字段進(jìn)行自定義,使得工作流的定義完全與企業(yè)的政策和實(shí)際運(yùn)營相符合,而不必進(jìn)行復(fù)雜的二次開發(fā)。
e-Workflow同時(shí)也提供了可定制的瀏覽和報(bào)告的功能,用戶可以對(duì)工作流的關(guān)鍵信息進(jìn)行任意的定義以獲得特定的報(bào)表。e-Workflow的特性可以使用戶獲得非常靈活和豐富的統(tǒng)計(jì)報(bào)告以對(duì)相關(guān)的決策作出支持。
三、工作流管理實(shí)現(xiàn)基本功能
1定義任意形式的工作流程
e-Workflow強(qiáng)大的自定義功能可以滿足企業(yè)對(duì)復(fù)雜工作流程的定義,包括文檔流程和表單流程e-Workflow 與 e-HRM結(jié)合對(duì)于人員在組織結(jié)構(gòu)中的地位和角色將是工作流設(shè)計(jì)的基礎(chǔ)。
2工作流執(zhí)行
可設(shè)定的對(duì)工作流的執(zhí)行包括提交、批準(zhǔn)、退回、拒絕、代理、重新打開、歸檔等,e-Workflow會(huì)根據(jù)路由的判定條件和當(dāng)前節(jié)點(diǎn)的執(zhí)行操作設(shè)置工作流的下一目標(biāo)節(jié)點(diǎn)。
固定流程和自由流程的結(jié)合
原則上是固定流程,應(yīng)該一步步走下去,但是在某個(gè)節(jié)點(diǎn),加入一個(gè)自由流程審批人可以選定下一步的審批人,然后再按照預(yù)定的流程走下去。
如:申請(qǐng)者-部門經(jīng)理-出納-財(cái)務(wù)經(jīng)理,對(duì)于大一點(diǎn)的公司,有多個(gè)出納,哪個(gè)出納在崗,就讓哪個(gè)出納審,那么就可以把出納那步設(shè)成自由流程,當(dāng)部門經(jīng)理審批完后,會(huì)自動(dòng)列出所有的出納,部門經(jīng)理選擇其中的一個(gè)出納然后提交。
4表單數(shù)據(jù)自動(dòng)生成
表單的有些數(shù)據(jù),不希望由人工輸入獲得,e-Workflow可以根據(jù)被計(jì)算字段、原始數(shù)據(jù)和計(jì)算方法自動(dòng)得出目標(biāo)字段數(shù)據(jù),并可以此作為下一路由選擇的判斷條件。
5跟蹤和回溯
e-Workflow保留工作流流轉(zhuǎn)過程中的所有信息以供查詢。對(duì)于文檔型的審批,可以保持痕跡。這樣審批人能夠一目了然知道原稿和審批稿的區(qū)別。監(jiān)控和管理
對(duì)于某個(gè)模板產(chǎn)生的單據(jù),可以設(shè)定監(jiān)督人和管理人,這樣既使他沒有審批權(quán),也可以看到該單據(jù),同時(shí)發(fā)送催辦信息。當(dāng)某個(gè)單據(jù)因?yàn)槟撤N原因需要臨時(shí)更改流程時(shí),監(jiān)督和管理人可以修改流程,以避免單據(jù)的積壓提高工作效率
7自動(dòng)提醒
對(duì)于請(qǐng)求的不同狀況,例如新的請(qǐng)求到達(dá)、待處理請(qǐng)求、超時(shí)未處理請(qǐng)求、客戶聯(lián)系計(jì)劃、請(qǐng)求遞交被處理狀況等,系統(tǒng)都設(shè)定了多種提醒功能以確保請(qǐng)求的處理不致延誤。
8流程自動(dòng)激活
e-Workflow的一個(gè)強(qiáng)大之處就是在于它可以讓系統(tǒng)在運(yùn)作的過程中自動(dòng)觸發(fā)請(qǐng)求,并且還可以根據(jù)前一個(gè)請(qǐng)求的實(shí)際狀況對(duì)下一個(gè)觸發(fā)的請(qǐng)求進(jìn)行智能選擇。
9自動(dòng)更新數(shù)據(jù)庫
e-Workflow在信息流轉(zhuǎn)的過程中,會(huì)自動(dòng)更新系統(tǒng)原有的相關(guān)數(shù)據(jù)庫,這是 e-Workflow 另一個(gè)重要的特性體現(xiàn),通過數(shù)據(jù)自動(dòng)更新,避免了二次手工錄入帶來的工作效率低下和失誤的情況,真正實(shí)現(xiàn)企業(yè)管理和運(yùn)營的電子化。
10分支選擇流
根據(jù)上一步的選擇,選擇不同的分支進(jìn)行流程執(zhí)行。如:如果上一步是總經(jīng)理審批的,會(huì)選擇一個(gè)分支進(jìn)行流轉(zhuǎn)。如上一步是副總審批的選擇另外一個(gè)分支進(jìn)行流轉(zhuǎn)。
11條件流轉(zhuǎn)
以請(qǐng)款單為例:金額小于3000元,審批流程是:普通員工-部門經(jīng)理。如果金額大于3000元的審批流程是:普通員工-部門經(jīng)理-總經(jīng)理,那么在流程定義的時(shí)候,需要根據(jù)單據(jù)的填寫值進(jìn)行判斷,系統(tǒng)自動(dòng)選擇流程。
12傳閱、歸檔等的并發(fā)流
如有一個(gè)流程:申請(qǐng)者-副總經(jīng)理的一張單子,申請(qǐng)者需要提交副總審批的一張單子,不需要部門經(jīng)理審批,但是需要讓部門經(jīng)理知曉,稱為傳閱的并發(fā)流。同理有歸檔或者其它的并發(fā)流。這種并發(fā)流的特點(diǎn)是一個(gè)流程的執(zhí)行過程中,會(huì)產(chǎn)生另外的的流程,互不影響。
13流程門戶定義
通過與企業(yè)信息門戶的結(jié)合,e-Workflow實(shí)現(xiàn)流程定義的門戶化,根據(jù)不同的信息門戶設(shè)定不同的流程。
四、小結(jié)
工作流技術(shù)的出現(xiàn)和迅速發(fā)展為企業(yè)先進(jìn)制造戰(zhàn)略的實(shí)施提供了重要的技術(shù)支持。本文提出了分布式工作流建模工具的設(shè)計(jì)框架,以 SOA設(shè)計(jì)模式,通過三層結(jié)構(gòu)的方式很好的實(shí)現(xiàn)了工作流建模工具、邏輯、數(shù)據(jù)、視圖的分離,使得系統(tǒng)在可擴(kuò)展性、可靠性與實(shí)用性方面都大大提高。以此為原型開發(fā)的泛微e-Workflow工作流管理系統(tǒng)很好的配合了工作流引擎的設(shè)計(jì)。在實(shí)際中的初步應(yīng)用表明該系統(tǒng)通過分析企業(yè)不同類的經(jīng)營過程,采用有向圖的方法對(duì)現(xiàn)實(shí)的企業(yè)活動(dòng)進(jìn)行形式化描述,并嚴(yán)格定義組成有向圖的各類元素的行為特征,從而明確建立企業(yè)經(jīng)營過程到工作流模型的映射機(jī)制.使其與企業(yè)現(xiàn)有應(yīng)用結(jié)合形成一個(gè)完整的過程體系。責(zé)任編輯:胡艷麗 工作流管理技術(shù)介紹
2009-11-25 作者:葛志春 來源:希賽網(wǎng)
摘 要:本文主要對(duì)工作流技術(shù)的起源,工作流的概念,研究的技術(shù)的內(nèi)容及工作流管理系統(tǒng)作了深入的介紹;并對(duì)工作流技術(shù)在國內(nèi)外的應(yīng)用現(xiàn)狀及不足作了深入的分析。
關(guān)鍵詞:工作流、表單
1、工作流技術(shù)應(yīng)用背景
傳統(tǒng)的計(jì)算機(jī)管理信息系統(tǒng)的主要功能有三個(gè):即信息處理、事務(wù)處理與決策支持。信息傳遞和信息處理構(gòu)成了企業(yè)和行政管理部門的業(yè)務(wù)工作內(nèi)容之一,也是計(jì)算機(jī)信息系統(tǒng)的主要功能之一,它是企業(yè)和行政管理部門進(jìn)行事務(wù)處理和決策支持的基礎(chǔ)。
當(dāng)PC機(jī)沒有作為信息處理工具而出現(xiàn)的時(shí)候,紙張是進(jìn)行日常業(yè)務(wù)活動(dòng)不可取代的載體。這種傳統(tǒng)的紙張為載體的信息傳遞與處理方式的效率很低,需要花費(fèi)相當(dāng)?shù)娜肆Α⑽锪硗瓿尚畔⒌奶幚?、組織、存儲(chǔ)以及查詢檢索,同時(shí)這種方式降低了對(duì)客戶需求的響應(yīng)速度,給企業(yè)和行政管理部門的生產(chǎn)經(jīng)營都帶來了及不利的影響。在計(jì)算機(jī)得到了廣泛普及、計(jì)算機(jī)應(yīng)用水平日益提高的情況下,企業(yè)與行政管理單位的工作人員希望能夠以一種無紙化的、計(jì)算機(jī)使能的工作環(huán)境來開展日常業(yè)務(wù)工作。一些企業(yè)和行政管理部門因此建立了相應(yīng)的文件、表單傳遞系統(tǒng)(Forms-routing applications)用來實(shí)現(xiàn)日常表單處理的電子化與自動(dòng)化。這種簡單的文件、電子表單系統(tǒng)可以看作是工作流應(yīng)用的雛形。
企業(yè)的經(jīng)營過程是由一系列相關(guān)的任務(wù)組成的;這些任務(wù)按照企業(yè)的管理規(guī)章與業(yè)務(wù)流程串行或并行的執(zhí)行,最終完成企業(yè)的經(jīng)營目標(biāo)。自從進(jìn)入工業(yè)化時(shí)代以來,有關(guān)過程的組織管理與流程的優(yōu)化工作就一直在進(jìn)行,它是企業(yè)管理的主要研究內(nèi)容之一。只不過在沒有引入計(jì)算機(jī)信息系統(tǒng)的支持以前,這些工作是由人工來完成的。隨著市場(chǎng)經(jīng)濟(jì)的發(fā)展,市場(chǎng)競(jìng)爭(zhēng)的日益激烈,企業(yè)要求其業(yè)務(wù)過程能夠進(jìn)行快速重組;業(yè)務(wù)過程的不斷變化也相應(yīng)要求信息系統(tǒng)能夠快速重組。這樣,單靠人工對(duì)企業(yè)過程進(jìn)行重組和傳統(tǒng)的面向功能的信息化計(jì)算機(jī)系統(tǒng)已經(jīng)不能適應(yīng)現(xiàn)代企業(yè)的發(fā)展。因此,企業(yè)希望有一種能夠?qū)崿F(xiàn)企業(yè)快速業(yè)務(wù)流程重組和業(yè)務(wù)過程自動(dòng)化的軟件系統(tǒng)。在計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)和分布式數(shù)據(jù)庫技術(shù)迅速發(fā)展、多機(jī)協(xié)同工作技術(shù)日臻成熟的基礎(chǔ)上于20世紀(jì)80年代中期開始提出了工作流的概念。工作流技術(shù)的提出與發(fā)展為企業(yè)更好的實(shí)現(xiàn)這些經(jīng)營目標(biāo)提供了先進(jìn)的手段。
隨著經(jīng)營業(yè)務(wù)的展開企業(yè)的物理位置逐漸分散、部門間的協(xié)作日益頻繁;決策過程的分散性也日益明顯,對(duì)日常業(yè)務(wù)活動(dòng)詳細(xì)信息的需求也日益提高。因此,企業(yè)又要求信息系統(tǒng)必須具有分布性、異構(gòu)性、自治性。在這種大規(guī)模的分布式應(yīng)用環(huán)境下高效地運(yùn)轉(zhuǎn)相關(guān)的任務(wù),并且對(duì)執(zhí)行的任務(wù)進(jìn)行密切監(jiān)控已成為一種發(fā)展趨勢(shì)。在這種技術(shù)背景下,工作流管理系統(tǒng)也有最初的創(chuàng)建無紙化辦公環(huán)境,轉(zhuǎn)而成為同化企業(yè)復(fù)雜信息環(huán)境、實(shí)現(xiàn)業(yè)務(wù)流程自動(dòng)化的必要工具。這樣的一個(gè)轉(zhuǎn)變,把工作流技術(shù)帶入了一個(gè)嶄新的發(fā)展階段,使得人們從更深的層次、更廣的領(lǐng)域上對(duì)工作流展開了研究。
1993年工作流技術(shù)的標(biāo)準(zhǔn)化組織工作流管理聯(lián)盟(Workflow Manangement Coalition 簡稱:WfMC).的成立標(biāo)志著工作流技術(shù)在計(jì)算機(jī)應(yīng)用領(lǐng)域之中被明確的劃分出了自己的一席之地,相應(yīng)的概念與術(shù)語也得到了人們的承認(rèn)。在全球范圍內(nèi),對(duì)工作流的技術(shù)研究以及相關(guān)的產(chǎn)品開發(fā)了進(jìn)入了更為繁榮的階段。
2、工作流定義
工作流是從英文單詞Workflow翻譯而來的。Work表示工作或任務(wù);Flow則表示流動(dòng)、流程或者流量。Flow反映了一種變化及變化的過程,本身意義比較抽象,但是當(dāng)它與某一個(gè)具體過程相聯(lián)系時(shí)就有了具體的含義,如電流、水流、氣流。在經(jīng)營管理與生產(chǎn)組織中Flow也有重要的意義,如表示物料傳輸過程的物料流、表示資金流動(dòng)的資金流、反映信息處理和傳遞過程的信息流,同樣還有價(jià)值流、決策流、控制流等概念。依此,用活動(dòng)及活動(dòng)之間變化的過程表示的業(yè)務(wù)流程就是工作流。
十幾年來,不同的研究者和產(chǎn)品供應(yīng)商從不同的角度給出了工作流的定義,但到目前為止,對(duì)于工作流仍沒有統(tǒng)一的定義。下面列舉了一些有代表性的定義,可以使我們對(duì)工作流的一些基本特征有一定的理解。
WfMC的定義:工作流是一類能夠完全或者部分自動(dòng)執(zhí)行的經(jīng)營過程,根據(jù)一系列過程規(guī)則,文檔、信息或任務(wù)能夠在不同的執(zhí)行者之間傳遞、執(zhí)行。
Forrester Report的定義:日常的業(yè)務(wù)處理或協(xié)同工作能按預(yù)先定義好的規(guī)則和過程進(jìn)行流動(dòng),并且這一流動(dòng)過程能被跟蹤和監(jiān)控。
Giga Group的定義:工作流是經(jīng)營過程中可運(yùn)轉(zhuǎn)的部分,包括任務(wù)的順序以及由誰來執(zhí)行它,支持任務(wù)的信息流、評(píng)價(jià)與控制任務(wù)的跟蹤、報(bào)告機(jī)制。
IBM Almaden Research Center的定義:工作流是經(jīng)營過程中的一種計(jì)算機(jī)化的表示模型,定義了完成整個(gè)過程所需用的各種參數(shù)。這些參數(shù)包括對(duì)過程中每一個(gè)單獨(dú)步驟的定義、步驟間的執(zhí)行順序、條件以及數(shù)據(jù)流的建立、每一步驟由誰負(fù)責(zé)以及每個(gè)活動(dòng)所需要的應(yīng)用程序。
Amit Sheth 的定義:工作流是涉及到多任務(wù)協(xié)調(diào)執(zhí)行的活動(dòng),這些任務(wù)分別由不同的處理實(shí)體完成。一項(xiàng)任務(wù)定義了需要做的某些工作,它可以以各種形式來進(jìn)行定義,包括在文件或電子郵件中的文本描述、一張表格、一條信息以及一個(gè)計(jì)算機(jī)程序。用來執(zhí)行任務(wù)的處理實(shí)體可以是人,也可以是計(jì)算機(jī)系統(tǒng)(如:郵遞員、一個(gè)應(yīng)用程序、一個(gè)數(shù)據(jù)庫管理系統(tǒng))。
以上這些定義,雖然表述方式略有不同,但是基本上都說明了這樣一個(gè)問題,即工作流是業(yè)務(wù)過程的一個(gè)計(jì)算機(jī)實(shí)現(xiàn),而工作流管理系統(tǒng)則是這一實(shí)現(xiàn)的軟件環(huán)境。使用工作流作為業(yè)務(wù)過程的實(shí)現(xiàn)技術(shù)首先要求工作流系統(tǒng)能夠反映業(yè)務(wù)過程的如下幾個(gè)問題:即業(yè)務(wù)過程是什么(有哪些活動(dòng)、任務(wù)組成,也就是結(jié)構(gòu)上的定義)、怎么做(活動(dòng)間的執(zhí)行條件、規(guī)則以及所交互的信息,也就是控制流與信息流的定義)、有誰來做(人或計(jì)算機(jī)程序,也就是組織角色的定義)、做的怎樣(通過工作流管理系統(tǒng)對(duì)執(zhí)行過程進(jìn)行監(jiān)控)。因此,可以說工作流是一種反映業(yè)務(wù)流程的計(jì)算機(jī)化的模型,它是為了在先進(jìn)計(jì)算機(jī)環(huán)境支持下實(shí)現(xiàn)經(jīng)營過程集成與經(jīng)營過程自動(dòng)化而建立的可由工作流管理系統(tǒng)執(zhí)行的業(yè)務(wù)系統(tǒng)。
3、工作流技術(shù)研究的主要內(nèi)容
工作流技術(shù),在初期主要由工作流產(chǎn)品供應(yīng)商推動(dòng)其發(fā)展。隨著工作流產(chǎn)品在實(shí)際應(yīng)用中不斷取得良好的效果而得到了人們?nèi)找娴闹匾?,并且到了迅速發(fā)展。相對(duì)于工作流產(chǎn)品的繁榮,工作流相關(guān)理論研究則顯得滯后。在過去很長一段時(shí)間里,有關(guān)工作流技術(shù)方面的研究主要有商品化的工作流產(chǎn)品供應(yīng)商所領(lǐng)導(dǎo)。本著把工作流產(chǎn)品推向市場(chǎng)的目的,這些供應(yīng)商大多把研究的注意力放在工作流管理產(chǎn)品的開發(fā)實(shí)施方面。目前在工作流設(shè)計(jì)方法學(xué),工作流概念模型等方面還沒有形成一套比較成熟的理論和方法。在工作流理論與實(shí)施技術(shù)方面,研究的主要內(nèi)容包括:
工作流管理系統(tǒng)體系結(jié)構(gòu);
工作流模型與工作流定義語言;
工作流的事務(wù)特性;
研究如何實(shí)現(xiàn)高級(jí)事務(wù)處理技術(shù)與工作流管理技術(shù)的結(jié)合,用定義良好的模型語義與恢復(fù)機(jī)制來提高工作流系統(tǒng)的正確性與可靠性,從而能夠更好的支持復(fù)雜的業(yè)務(wù)過程;
工作流實(shí)現(xiàn)技術(shù):包括面向?qū)ο蠹夹g(shù)、異構(gòu)分布式計(jì)算技術(shù)、圖形化用戶界面、消息通信、數(shù)據(jù)庫、WEB等在內(nèi)的與工作流系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)有關(guān)的各項(xiàng)技術(shù)及方法;
工作流的仿真與分析方法;
基于工作流的應(yīng)用集成與互操作技術(shù);
研究異構(gòu)應(yīng)用系統(tǒng)的集成以及不同工作流系統(tǒng)之間的互操作問題;
工作流與經(jīng)營過程的重組:研究如何通過工作流系統(tǒng)的實(shí)施支持快速的實(shí)現(xiàn)經(jīng)營過程重組;
工作流技術(shù)的其他應(yīng)用:研究如何將工作流技術(shù)在不同的領(lǐng)域進(jìn)行運(yùn)用,包括在CIMS中的應(yīng)用。
上述主要研究課題可以歸納為三個(gè)方面(如圖1):第一方面是工作流的理論基礎(chǔ),包括工作流管理系統(tǒng)的體系、模型與定義語言(工作流的建模方法、工作流模型的形式化表示、工作流定義語言)等的研究。這一部分是工作目前相對(duì)來說比較薄弱,還有許多問題需要進(jìn)一步研究。第二方面是工作流的實(shí)現(xiàn)技術(shù),包括工作流的事務(wù)特性、各種先進(jìn)軟件技術(shù)的應(yīng)用、工作流仿真。這方面研究工作的目標(biāo)是提高工作流管理系統(tǒng)的性能,尤其是提高工作流管理系統(tǒng)可靠性及其在處理大規(guī)模復(fù)雜的且具有并行業(yè)務(wù)的流程方面的能力。第三方面是工作流技術(shù)的應(yīng)用,包括工作流實(shí)施技術(shù)在不同應(yīng)用領(lǐng)域的應(yīng)用(如在企業(yè)經(jīng)營過程重組、并行過程、敏捷制造)方法、應(yīng)用軟件集成等。這幾方面研究的目標(biāo)是發(fā)揮工作流管理系統(tǒng)的優(yōu)勢(shì),為解決具體應(yīng)用領(lǐng)域內(nèi)的問題提供有向?qū)崿F(xiàn)手段。
圖1:工作流技術(shù)研究內(nèi)容
4、研究工作流的意義
工作流技術(shù)的應(yīng)用將給組織單位帶來巨大的效益。首先,采用工作流管理將使組織單位改變傳統(tǒng)的按照功能來配置人員的組織結(jié)構(gòu),變成按照要實(shí)現(xiàn)的主要業(yè)務(wù)流程來配置組織結(jié)構(gòu),這樣可以大大縮短主要業(yè)務(wù)過程的處理時(shí)間,提高對(duì)市場(chǎng)的響應(yīng)能力。其次,組織結(jié)構(gòu)的改變將大大減少在組織內(nèi)部不必要的的物料、信息的傳遞時(shí)間。當(dāng)然,整個(gè)組織結(jié)構(gòu)的調(diào)整首先需要調(diào)整傳統(tǒng)的以部門為單位的做法,變成以項(xiàng)目來組織生產(chǎn)和人員的工作方法,如:一個(gè)人可能同時(shí)從屬于多個(gè)項(xiàng)目。應(yīng)用工作流管理系統(tǒng)主要可以取得如下好處:
1)提高管理的規(guī)范化程度;
2)更好地與上下游單位形成快速響應(yīng)市場(chǎng)的供應(yīng)鏈網(wǎng)絡(luò);
3)降低業(yè)務(wù)過程的整個(gè)處理時(shí)間,如在辦公自動(dòng)化環(huán)境中,通過更好的規(guī)劃工作流程,并行執(zhí)行相互獨(dú)立的活動(dòng),減少文檔的傳遞時(shí)間;
4)降低管理成本,如避免不必要的重復(fù)的工作,提高工作人員的工作效率;
5)改進(jìn)工作質(zhì)量,如自動(dòng)完成某個(gè)任務(wù)所需要的相關(guān)信息。在客戶服務(wù)中,能夠快速方便的訪問所有相關(guān)數(shù)據(jù)和工作流程,從而大大提高客戶服務(wù)質(zhì)量;
6)在工作人員之間更好的均衡負(fù)荷,如在工作人員缺勤的情況下,自動(dòng)柔性分配替代人員;
7)通過在工作流模型中加入可預(yù)計(jì)的故障的處理策略來提高系統(tǒng)的柔性;
8)通過對(duì)已經(jīng)完成的工作流實(shí)例的分析,找出存在的不足,進(jìn)而不斷改進(jìn)工作流程;
9)使工作內(nèi)容更加豐富,并且提高工作人員的業(yè)務(wù)能力,減少工作人員進(jìn)行單調(diào)乏味并且十分耗時(shí)的文檔查找工作。
采用工作流管理系統(tǒng)可以在最大程度上集成組織的現(xiàn)有信息資源,實(shí)現(xiàn)資源的充分利用。由于工作流管理系統(tǒng)具有較好的柔性和開發(fā)性,因此,可以保證信息系統(tǒng)能夠順利的擴(kuò)展以滿足不斷變化的市場(chǎng)環(huán)境。另外,工作流管理系統(tǒng)在工作流模型的基礎(chǔ)上進(jìn)行業(yè)務(wù)過程進(jìn)行,這就意味著信息系統(tǒng)已經(jīng)從過去沒有一個(gè)具體的可量化指標(biāo)的管理信息系統(tǒng),發(fā)展到了一個(gè)建立在工作流模型上(并且是可以利用BPR或者其他仿真工具進(jìn)行優(yōu)化后的模型),按照預(yù)先定義好的規(guī)則進(jìn)行執(zhí)行,并且對(duì)于執(zhí)行的結(jié)果隨時(shí)進(jìn)行監(jiān)控和評(píng)價(jià)的規(guī)范化階段。這種由過程建模—〉模型分析—〉過程優(yōu)化—〉執(zhí)行結(jié)果—〉統(tǒng)計(jì)分析—〉改進(jìn)業(yè)務(wù)過程—〉優(yōu)化運(yùn)作的實(shí)施方法為成功地實(shí)施信息系統(tǒng)奠定了堅(jiān)實(shí)的基礎(chǔ)。
5、工作流管理系統(tǒng)
工作流技術(shù)是當(dāng)今一項(xiàng)飛速發(fā)展的技術(shù),它最基本的特性就是它能夠結(jié)合人工和機(jī)器的行為,特別是能夠與應(yīng)用程序和工具進(jìn)行交互,從而完成業(yè)務(wù)過程的自動(dòng)化處理。
工作流是業(yè)務(wù)的自動(dòng)化處理過程,在這個(gè)過程中,根據(jù)預(yù)定義的規(guī)則將文檔、信息在過程參與者中傳遞,最終完成業(yè)務(wù)的處理。工作流管理系統(tǒng)(WFMS)是通過管理一序列工作行為以及與活動(dòng)步驟、相關(guān)人員、資源設(shè)備來提供業(yè)務(wù)處理程序上的自動(dòng)控制,它是通過計(jì)算機(jī)軟件來定義、管理和執(zhí)行工作流,計(jì)算機(jī)的執(zhí)行順序是由工作流邏輯的計(jì)算機(jī)描述來驅(qū)動(dòng)的。
工作流管理系統(tǒng)主要具備以下三個(gè)功能特征,如圖2:
工作流定義功能,主要是對(duì)業(yè)務(wù)處理過程的計(jì)算機(jī)定義,提供了一種或多種分析、建模、系統(tǒng)定義技術(shù),將一個(gè)現(xiàn)實(shí)世界的業(yè)務(wù)處理過程轉(zhuǎn)換成計(jì)算機(jī)可處理的定義;最終的定義叫作過程模型、過程模版或過程定義,可以表現(xiàn)為文本、圖形或自然語言符號(hào)。
運(yùn)行控制功能,對(duì)過程的定義進(jìn)行解釋,創(chuàng)建并控制過程的運(yùn)行實(shí)例,調(diào)度過程的各種行為步驟,調(diào)用適當(dāng)?shù)娜斯ず虸T應(yīng)用程序資源;工作流管理系統(tǒng)的核心部件就是工作流管理控制軟件(工作流引擎)。
運(yùn)行交互接口,提供與人員或IT應(yīng)用程序工具進(jìn)行交互接口來處理各種活動(dòng)步驟,交互接口對(duì)于活動(dòng)間的控制傳遞是必須的,如確定過程的狀態(tài),調(diào)用應(yīng)用程序工具,傳遞應(yīng)用程序數(shù)據(jù)等。
圖2WFMS的三個(gè)特征
6、工作流管理系統(tǒng)的分類
根據(jù)所實(shí)現(xiàn)的業(yè)務(wù)過程,工作流管理系統(tǒng)可分為四類:
1)管理型工作流(administrative workflow):在這類工作流中活動(dòng)可以預(yù)定義并且有一套簡單的任務(wù)協(xié)調(diào)規(guī)則,例如,大學(xué)里的課程選修,完成論文后的學(xué)位申請(qǐng)等。
2)設(shè)定型工作流(ad hoc workflow):與管理型工作流相似,但一般用來處理異?;虬l(fā)生機(jī)會(huì)比較小的情況,有時(shí)甚至是只出現(xiàn)一次的情況,這與參與的用戶有關(guān)。
3)協(xié)作型工作流(collaborative workflow):參與者和協(xié)作的次數(shù)較多。在一個(gè)步驟上可能反復(fù)發(fā)生幾次直到得到某種結(jié)果,甚至可能返回到前一階段。
4)生產(chǎn)型工作流(production workflow):實(shí)現(xiàn)重要的業(yè)務(wù)過程的工作流,特別是與業(yè)務(wù)組織的功能直接相關(guān)的工作流。與管理型工作流相比,生產(chǎn)型工作流一般應(yīng)用在大規(guī)模、復(fù)雜的和異構(gòu)的環(huán)境下,整個(gè)過程會(huì)涉及許多人員和不同的組織。
根據(jù)底層實(shí)現(xiàn)技術(shù),可將工作流產(chǎn)品分為三類:
1)以通訊為中心:以電子郵件為底層的通訊機(jī)制。這種類型的工作流管理系統(tǒng)適合于協(xié)作型工作流和不確定型工作流,而不適于生產(chǎn)型工作流。
2)以文檔為中心:基于文檔路由,它同外界應(yīng)用的交互能力有限。許多基于表的管理型工作流可以用以文檔為中心的工作流實(shí)現(xiàn)。
3)以過程為中心:這種工作流系統(tǒng)對(duì)應(yīng)生產(chǎn)型工作流。它們一般建立在數(shù)據(jù)庫之上,有自己專用的通信機(jī)制并且提供了同外部進(jìn)行交互的接口。
根據(jù)不同工作流系統(tǒng)所采用的任務(wù)項(xiàng)傳遞機(jī)制的不同,市場(chǎng)上的工作流產(chǎn)品又可以劃分為四類:
1)基于文件的工作流系統(tǒng):以共享文件的方式來完成任務(wù)項(xiàng)傳遞。這種類型產(chǎn)品開發(fā)得最早、發(fā)展最成熟、其產(chǎn)品品種較多。代表產(chǎn)品有FileNet的Visual WorkFlo、IBM的FlowMark、InConcert的InConcert。
2)基于消息的工作流系統(tǒng):通過用戶的電子郵件系統(tǒng)來傳遞文檔信息。這種類型的產(chǎn)品一般都提供與一種或多種電子郵件系統(tǒng)的集成接口。代表產(chǎn)品有Novell與FileNet合作開發(fā)的Ensemble、JetForm公司的InTempo、Keyfile公司的Keyflow。
3)基于Web的工作流系統(tǒng):通過WWW來實(shí)現(xiàn)任務(wù)的協(xié)作。這一類產(chǎn)品起步較晚(在95年以后),但是發(fā)展迅速,其市場(chǎng)前景十分看好。許多供應(yīng)商紛紛改進(jìn)原有產(chǎn)品或開發(fā)新產(chǎn)品以增加對(duì)Web的支持。代表產(chǎn)品有Action Technologies公司的ActionWorks Metro、Ultimus公司的Ultimus。
4)群件與套件系統(tǒng):雖然這一類產(chǎn)品與上面介紹的三種產(chǎn)品在任務(wù)傳遞方式上有很大程度的重疊,但是在這里卻有必要把它們單獨(dú)劃分成一類,因?yàn)檫@一類產(chǎn)品都需要依賴于自己系統(tǒng)的應(yīng)用基礎(chǔ)結(jié)構(gòu),包括消息傳遞、目錄服務(wù)、安全管理、數(shù)據(jù)庫與文檔管理服務(wù)等,它們本身就構(gòu)成了一個(gè)完整的應(yīng)用開發(fā)環(huán)境。代表產(chǎn)品有IBM/Lotus公司的Lotus Notes、Microsoft公司的Office與Exchange、Novell公司的GroupWise。
7、工作流管理系統(tǒng)的實(shí)施
工作流管理系統(tǒng)不同于ERP和普通的企業(yè)管理信息系統(tǒng),ERP與普通的企業(yè)管理信息系統(tǒng)是事務(wù)處理系統(tǒng),其主要目的是滿足企業(yè)業(yè)務(wù)操作功能,提高企業(yè)事務(wù)處理的效率和水平。從企業(yè)整體的業(yè)務(wù)流程和企業(yè)經(jīng)營目標(biāo)上看,事務(wù)處理系統(tǒng)一般局限于解決某個(gè)或者某些領(lǐng)域的問題;事務(wù)處理系統(tǒng)的另外一個(gè)局限性是它一般局限于解決組織內(nèi)部的具體操作問題,面向組織內(nèi)部功能,而不是面向市場(chǎng)和面向客戶的系統(tǒng)。工作流管理系統(tǒng)的著眼點(diǎn)是面向市場(chǎng)、面向客戶,其目標(biāo)是在整個(gè)企業(yè)的業(yè)務(wù)層提高企業(yè)的業(yè)務(wù)處理水平、強(qiáng)化企業(yè)的市場(chǎng)意識(shí)、提高對(duì)市場(chǎng)的應(yīng)變能力。
由于工作流管理系統(tǒng)與普通事務(wù)處理系統(tǒng)存在顯著的差別,工作流管理系統(tǒng)在實(shí)施方法上也不同于普通的事務(wù)處理系統(tǒng)。要實(shí)施工作流管理系統(tǒng)首先要在戰(zhàn)略層次上對(duì)經(jīng)營目標(biāo)進(jìn)行分析,確定戰(zhàn)略目標(biāo)和組織要求。工作流管理系統(tǒng)實(shí)施的層次結(jié)構(gòu),如圖3。
圖3 WFMS實(shí)施的層次結(jié)構(gòu)
在完成了戰(zhàn)略目標(biāo)分析和工作流實(shí)施戰(zhàn)略后,工作流管理系統(tǒng)才能夠進(jìn)入真正的實(shí)施階段。工作流管理系統(tǒng)在實(shí)際系統(tǒng)中的應(yīng)用一般分為3個(gè)階段,如圖4,即模型建立階段、模型實(shí)例化階段和模型行階段。模型建立階段通過利用工作流建模工具完成經(jīng)營過程模型的建立,將實(shí)際經(jīng)營過程轉(zhuǎn)化為計(jì)算機(jī)可處理的工作流模型。模型的實(shí)例化階段完成為每個(gè)過程設(shè)定運(yùn)行所需的參數(shù),并分配每個(gè)活動(dòng)執(zhí)行所需要的資源(包括資源、人員、應(yīng)用)。模型執(zhí)行階段完成經(jīng)營過程的執(zhí)行,在這個(gè)過程中重要的任務(wù)是完成人機(jī)交互和應(yīng)用的執(zhí)行,并對(duì)過程與活動(dòng)的執(zhí)行情況進(jìn)行監(jiān)控與跟蹤。
圖4 WFMS 實(shí)施的三個(gè)步驟
8、國內(nèi)外應(yīng)用現(xiàn)狀與不足
8.1 應(yīng)用現(xiàn)狀
目前工作流技術(shù)的研究正日益受到人們的重視,許多大學(xué)和研究機(jī)構(gòu)都開展了很多研究項(xiàng)目,取得了重多的研究成果,對(duì)工作流技術(shù)的發(fā)展做出了貢獻(xiàn)。
由于工作流應(yīng)用環(huán)境大多是在復(fù)雜的分布異構(gòu)環(huán)境中,如企業(yè)內(nèi)部網(wǎng)或因特網(wǎng),因此應(yīng)用最新的分布對(duì)象處理技術(shù)和Web技術(shù),實(shí)現(xiàn)工作流管理成為當(dāng)前研究的重點(diǎn)。有影響的工作流原型系統(tǒng)有:
1)美國佐治亞大學(xué)研制的Meteor系統(tǒng):該系統(tǒng)是一個(gè)支持多范型的工作流管理系統(tǒng),主要用于處理醫(yī)療保健應(yīng)用。多范型是指該系統(tǒng)能夠支持分布異構(gòu)環(huán)境下的企業(yè)內(nèi)和企業(yè)間的各種工作流。這些工作流可以是數(shù)據(jù)庫管理系統(tǒng)和分布式事務(wù)處理系統(tǒng)中的事務(wù),也可以是EDI等特殊應(yīng)用。Meteor系統(tǒng)可以在Web或CORBA環(huán)境下運(yùn)行。
2)美國普度大學(xué)開發(fā)的CORBAflow系統(tǒng):該系統(tǒng)提出了基于CORBA的體系結(jié)構(gòu),支持跨平臺(tái)的異構(gòu)分布系統(tǒng)集成,支持彈性ACID性質(zhì);擴(kuò)展了IDL語言以定義事務(wù)性工作流中的補(bǔ)償事務(wù)。
3)土耳其中東大學(xué)開發(fā)的METUFlow系統(tǒng):該系統(tǒng)提出了一種基于CORBA環(huán)境的工作流服務(wù),包括基于ACTA擴(kuò)展事務(wù)模型的工作流模型、塊結(jié)構(gòu)化定義語言、工作流調(diào)度管理和并發(fā)控制機(jī)制等。
工作流的許多概念來自于辦公自動(dòng)化、文檔管理、計(jì)算機(jī)支持協(xié)同工作(CSCW)等領(lǐng)域。至今約有300個(gè)稱為工作流工具的商品化軟件,但只有數(shù)十個(gè)是真正的WFMS軟件。一些著名的WFMS產(chǎn)品有:
1)IBM公司的FlowMark系統(tǒng)[9]該系統(tǒng)由對(duì)象數(shù)據(jù)庫管理系統(tǒng)ObjectStore支持。主要組件包括服務(wù)器、建立客戶器、運(yùn)行客戶器和程序執(zhí)行客戶器。服務(wù)器負(fù)責(zé)與數(shù)據(jù)庫交互及協(xié)調(diào)工作流執(zhí)行;建立客戶器提供用于設(shè)計(jì)工作流的圖形接口;運(yùn)行客戶器提供工作表方式的用戶接口;程序執(zhí)行客戶器提供API調(diào)用方式的應(yīng)用接口。
2)Action公司的ActionWorkflow系統(tǒng)該系統(tǒng)由微軟的SQL服務(wù)器或Lotus Notes支持,包含三個(gè)基本組件:①管理系統(tǒng)內(nèi)核用于集成和管理工作流事務(wù);②分析器提供設(shè)計(jì)工作流的專門工具;③應(yīng)用建立器用于將工作流定義轉(zhuǎn)化成可執(zhí)行的過程。此外,還提供輔助工具,如報(bào)表器用于查詢工作流的進(jìn)展?fàn)顟B(tài)。
3)Sigma圖象系統(tǒng)公司的OmniDesk系統(tǒng)它使用提供ODBC接口的數(shù)據(jù)庫。其中,路徑管理器用于工作流管理和負(fù)載平衡;路徑建立器用于定義路徑邏輯;表格建立器用于創(chuàng)建工作流接口。雖然OmniDesk系統(tǒng)主要是為圖象文檔管理設(shè)計(jì)的,但是也可以管理其他類型的工作流。
4)Wang公司的OPEN/workflow系統(tǒng)該系統(tǒng)建立在自含的數(shù)據(jù)庫引擎之上。系統(tǒng)分為數(shù)據(jù)庫服務(wù)、圖形過程建立器、集成工具箱、報(bào)表工具。數(shù)據(jù)庫服務(wù)提供基本的完整性、安全性、并發(fā)控制、恢復(fù)和管理功能;圖形過程建立器用于定義過程;集成工具箱提供應(yīng)用之間交互需要的API調(diào)用和通信服務(wù);報(bào)表工具如查詢建立器和報(bào)表建立器用于訪問有關(guān)過程執(zhí)行的信息。
8.2 工作流應(yīng)用技術(shù)的不足
實(shí)際上,大多數(shù)產(chǎn)品的開發(fā)由于沒有清楚地理解用戶的需求,而不能滿足用戶的迫切需要。許多工作流系統(tǒng)主要是解決共享和協(xié)作(某些問題仍未很好解決,如異構(gòu)平臺(tái)環(huán)境、多媒體數(shù)據(jù)),而像性能、可伸縮性、可靠性對(duì)于復(fù)雜應(yīng)用系統(tǒng)來說至關(guān)重要的問題,現(xiàn)有工作流軟件并沒有考慮。主要原因是,這些系統(tǒng)的建立不是基于在線事務(wù)處理(OLTP)技術(shù)和數(shù)據(jù)庫技術(shù),只是使用數(shù)據(jù)庫做底層存儲(chǔ),因而在這些領(lǐng)域缺乏技術(shù)成熟性和系統(tǒng)健壯性。
另外,由于已有的絕大多數(shù)WFMS產(chǎn)品和原型系統(tǒng)的設(shè)計(jì)是面向普通的辦公室應(yīng)用,因此存在以下不足:
1)工作流模型只能描述如辦公自動(dòng)化中電子郵件或文檔等簡單的工作流,而不能描述工程設(shè)計(jì)等復(fù)雜過程處理。
2)經(jīng)營業(yè)務(wù)流程往往是復(fù)雜的異構(gòu)環(huán)境,現(xiàn)有產(chǎn)品不能提供很好的互操作性。例如,在異構(gòu)環(huán)境中,IBM的FlowMark不提供API接口以支持一個(gè)工作流的輸出,作為下一個(gè)工作流的輸入。
3)一個(gè)工作流可能涉及到多個(gè)單位和車間,或多個(gè)工廠和企業(yè),例如,在虛擬制造應(yīng)用中,可能包含成百上千個(gè)用戶,覆蓋廣域網(wǎng)絡(luò)中的數(shù)十個(gè)場(chǎng)地,上百臺(tái)計(jì)算機(jī)系統(tǒng)。大多數(shù)現(xiàn)有工作流軟件只是設(shè)計(jì)為一種協(xié)作工具,適用于小群體之間業(yè)務(wù)的工作流,在體系結(jié)構(gòu)上存在缺陷,缺乏可伸縮性。
4)現(xiàn)代組織應(yīng)用要求系統(tǒng)具備非常高的可用性和健壯性。現(xiàn)有工作流軟件只適合于小團(tuán)體和輕負(fù)載,缺乏有效的后備機(jī)制,不具備強(qiáng)的故障恢復(fù)能力。
為了進(jìn)一步研究開發(fā)支持應(yīng)用集成的CIMS工作流管理技術(shù),我們認(rèn)為,需要解決以下關(guān)鍵技術(shù):
1)面向CIMS的工作流建模技術(shù)包括工作流模型和定義語言。如何采用彈性事務(wù)模型、分層事務(wù)模型和工程數(shù)據(jù)模型相結(jié)合的方法,設(shè)計(jì)出一種適合于CIMS工程應(yīng)用的工作流模型。
2)基于CIMS信息集成平臺(tái)的工作流管理系統(tǒng)體系結(jié)構(gòu)CORBA軟件總線提供了良好的平臺(tái)透明性和分布透明性,以及分布對(duì)象操作能力,如何充分利用CORBA軟件總線和信息集成平臺(tái),實(shí)現(xiàn)一個(gè)高效的工作流管理系統(tǒng)。 3)面向分布對(duì)象的工作流管理和執(zhí)行技術(shù)CORBA軟件總線系統(tǒng)提供了對(duì)象引用、啟動(dòng)和聯(lián)編機(jī)制。工作流管理與執(zhí)行機(jī)制需在此基礎(chǔ)上完成作為對(duì)象任務(wù)的創(chuàng)建、調(diào)度、執(zhí)行、提交或取消,保證工作流的正確性和可靠性。還需要考慮在CORBA軟件總線上增加新的公共服務(wù),如持久性對(duì)象倉儲(chǔ)服務(wù)、故障恢復(fù)服務(wù)等。
4)面向CIMS目標(biāo)產(chǎn)品的集成技術(shù)工作流管理系統(tǒng)是一種中間件技術(shù),適合于任何計(jì)算機(jī)分布處理系統(tǒng),在CIMS應(yīng)用集成涉及的有關(guān)系統(tǒng)中,如PDM、MRPII等,都需要這方面的集成技術(shù)。
參考文獻(xiàn)
[1] 林惠萍、范玉順、吳澄,“支持企業(yè)經(jīng)營過程重組的工作流仿真技術(shù)研究”,http://www.simflow.net
[2] 范玉順,《工作流管理技術(shù)基礎(chǔ)》,清華大學(xué)出版社,2001.4
[3] 陶冶、范玉順、羅海濱,“分布式工作流系統(tǒng)的可靠性研究”,http://www.simflow.net
[4] 羅海濱、范玉順、吳澄,“工作流技術(shù)綜述”,http://www.simflow.net
[5] 范玉順、吳澄,“基于工作流的CIMS應(yīng)用集成支持系統(tǒng)研究”,http://www.simflow.net
[6] 劉佚名、范玉順,“基于工作流的企業(yè)過程的建模和仿真技術(shù)研究”,http://www.simflow.net
[7] 范玉順、吳澄,“基于協(xié)調(diào)理論的工作流建模方法”,http://www.simflow.net
[8] 陶冶、范玉順、羅海濱,“提高分布式工作流管理系統(tǒng)的可擴(kuò)展性”,http://www.simflow.net
[9] 鮑震寧、范玉順,“企業(yè)組織模型結(jié)構(gòu)和建模方法研究”,http://www.simflow.net
[10] 羅海濱、范玉順、吳澄,“一種面向企業(yè)用戶的工作流模型”,http://www.simflow.net