第一篇:數(shù)據(jù)倉庫更新的新策略--工作流
數(shù)據(jù)倉庫更新的新策略--工作流
1.概述
數(shù)據(jù)倉庫作為一種新技術(shù),主要是為決策支持系統(tǒng)和OLAP應(yīng)用提供軟件架構(gòu)。它從異構(gòu)和分布式數(shù)據(jù)源中收集數(shù)據(jù),這些數(shù)據(jù)首先被聚合,然后按照OLAP所定義的組織標(biāo)準進行定制。數(shù)據(jù)倉庫的結(jié)構(gòu)能夠通過一種分層存儲的方式加以定義。這種方式涉及到的存儲形式包括從底層的數(shù)據(jù)源到高度的聚合數(shù)據(jù)(數(shù)據(jù)集市)。在這兩種存儲形式之間,按照OLAP程序的要求,還存在一些其他不同的存儲形式。其中之一就是對操作型數(shù)據(jù)的存儲,操作型數(shù)據(jù)是以單一和干凈的方式來表征數(shù)據(jù)源中的數(shù)據(jù)。企業(yè)級數(shù)據(jù)倉庫(CDW)則包含高度聚合的數(shù)據(jù),并且被組織成多維表的形式。從每個數(shù)據(jù)源中抽取的數(shù)據(jù)可以存儲在中間數(shù)據(jù)容器中。顯然,這種分層存儲方式只是一種邏輯上的表示方式,它體現(xiàn)了從數(shù)據(jù)源到數(shù)據(jù)集市的數(shù)據(jù)流動過程。所有這些存儲形式都不一定要具體實現(xiàn),如果確實需要的話,他們也只能形成同一數(shù)據(jù)庫的不同層面而已。
圖1顯示了一種典型的數(shù)據(jù)倉庫結(jié)構(gòu)。這只是一個邏輯視圖,它的具體實現(xiàn),不同廠家有自己不同的數(shù)據(jù)倉庫產(chǎn)品解決方案。數(shù)據(jù)抽取和數(shù)據(jù)清洗的實現(xiàn)與每個數(shù)據(jù)源有關(guān),對于不同的數(shù)據(jù)源提供有統(tǒng)一的或定制的工具。同樣,數(shù)據(jù)的一致性(多數(shù)據(jù)源清洗)既可以與數(shù)據(jù)集成(多數(shù)據(jù)源操作)分開也可以合并到數(shù)據(jù)集成中進行。高級別的數(shù)據(jù)聚合工作可以看成一個計算技術(shù)的集合,這個集合的范圍涵蓋從簡單的統(tǒng)計函數(shù)到高級的數(shù)據(jù)挖掘算法。對于不同的數(shù)據(jù)集市來說,數(shù)據(jù)定制技術(shù)是不同的。關(guān)鍵在于決策者想要看到的數(shù)據(jù)的詳盡程度。
數(shù)據(jù)倉庫更新是一個非常重要的過程,它決定了數(shù)據(jù)采集和數(shù)據(jù)聚合的實效性。確實,向決策者提供的數(shù)據(jù)的質(zhì)量與以下因素有關(guān)。首先,與數(shù)據(jù)倉庫系統(tǒng)在合理的時間內(nèi)將數(shù)據(jù)從數(shù)據(jù)源轉(zhuǎn)換到數(shù)據(jù)集市的能力有關(guān)。其次,與數(shù)據(jù)倉庫對數(shù)據(jù)源中信息發(fā)生變化的敏感程度有關(guān)。大部分的設(shè)計考慮主要集中在對數(shù)據(jù)結(jié)構(gòu)的選取和數(shù)據(jù)的更新技術(shù)上,這里的數(shù)據(jù)更新技術(shù)指的是對數(shù)據(jù)倉庫更新的優(yōu)化策略。
在對數(shù)據(jù)倉庫更新的理解方面在相關(guān)的文獻上存在著很大的誤區(qū)。確實,這個過程經(jīng)常被簡化為視圖維護問題或與數(shù)據(jù)導(dǎo)入混為一談。本文的目的之一就是指出數(shù)據(jù)
圖1 數(shù)據(jù)倉庫的體系結(jié)構(gòu)
倉庫的更新要比數(shù)據(jù)視圖的維護問題要復(fù)雜的多,也不同于數(shù)據(jù)導(dǎo)入過程。我們把數(shù)據(jù)更新過程定義為一個工作流,組成工作流的具體活動類型取決于數(shù)據(jù)抽取和數(shù)據(jù)清洗所應(yīng)用的產(chǎn)品。與其配套的觸發(fā)事件則與應(yīng)用的范圍和對數(shù)據(jù)刷新頻率的要求相關(guān)。
以下幾節(jié)將分別描述數(shù)據(jù)更新過程的任務(wù),并闡明在工作流中如何組織這些任務(wù)。第2節(jié)主要討論數(shù)據(jù)更新過程與數(shù)據(jù)導(dǎo)入及視圖維護的不同。第3節(jié)定義了工作流的標(biāo)準形式并結(jié)合一個工作流的例子邏輯展現(xiàn)了數(shù)據(jù)倉庫更新過程。第4節(jié)按照工作流的設(shè)計模式定義了數(shù)據(jù)倉庫更新過程的語義。第5節(jié)歸納了本文的主要思想,并涉及到一些實現(xiàn)方面的觀點
2.視圖維護,數(shù)據(jù)導(dǎo)入和數(shù)據(jù)刷新
數(shù)據(jù)倉庫中的數(shù)據(jù)更新過程通常容易和數(shù)據(jù)倉庫初始階段所作的數(shù)據(jù)導(dǎo)入或?qū)?shù)據(jù)倉庫中具體視圖的更新相混淆。這兩種想法都是錯誤的。下面幾段詳細闡述數(shù)據(jù)更新和數(shù)據(jù)導(dǎo)入,數(shù)據(jù)更新和視圖維護之間的區(qū)別和不同。
數(shù)據(jù)導(dǎo)入和數(shù)據(jù)更新
數(shù)據(jù)倉庫的數(shù)據(jù)導(dǎo)入過程存在于數(shù)據(jù)倉庫建立初期,是數(shù)據(jù)倉庫建立的關(guān)鍵階段,它主要完成對數(shù)據(jù)倉庫中內(nèi)容的初始計算。數(shù)據(jù)導(dǎo)入過程是一個全局過程,這個過程分為四個步驟(如圖2所示):1,準備;2,集成;3,高度聚合;4,定制。第一步由各個數(shù)據(jù)源完成,它主要包括數(shù)據(jù)抽取,數(shù)據(jù)清洗,可能還包括數(shù)據(jù)歸檔(在數(shù)據(jù)清洗前后)等階段。對歷史數(shù)據(jù)進行歸檔,其作用在兩個方面:一,在具用不同刷新頻率的數(shù)據(jù)源之間進行同步;二,用于一些特定的臨時查詢。第二步由數(shù)據(jù)的一致性處理和數(shù)據(jù)的集成處理組成。它包括對從異構(gòu)數(shù)據(jù)源中提取的數(shù)據(jù)進行一致性處理(多數(shù)據(jù)源清洗)和對從ODS(操作型數(shù)據(jù)庫)的基表(基視圖)中獲取的數(shù)據(jù)進行清洗等兩個部分。第三步由一些對派生于基視圖的聚合視的計算構(gòu)成。在操作型數(shù)據(jù)庫(ODS)中的數(shù)據(jù)是一些基本數(shù)據(jù),他們具有程度很低的聚合程度,而企業(yè)級數(shù)據(jù)倉庫(CDW)中存放的數(shù)據(jù)通常是用聚合函數(shù)統(tǒng)計過的高度聚合的數(shù)據(jù)。第四步由對用戶視進行派生和定制活動組成,最后生成數(shù)據(jù)集市。數(shù)據(jù)定制指的是根據(jù)用戶的需求形成不同的立方體,并向用戶展示不同的側(cè)面。
圖2 數(shù)據(jù)導(dǎo)入過程
數(shù)據(jù)導(dǎo)入階段的主要特點是它處于數(shù)據(jù)倉庫設(shè)計項目的最開始階段。在數(shù)據(jù)導(dǎo)入之前,對用戶來說,數(shù)據(jù)倉庫是不存在的。因此,在反映時間上就不存在什么限制。但是,相反,對數(shù)據(jù)源來說數(shù)據(jù)導(dǎo)入階段要求數(shù)據(jù)源一直可用。
描述數(shù)據(jù)導(dǎo)入階段的數(shù)據(jù)流是定義數(shù)據(jù)更新過程的基礎(chǔ),但是與之相對應(yīng)的工作流卻是不同的。數(shù)據(jù)更新的工作流是動態(tài)的,能夠跟蹤用戶的需求和檢測數(shù)據(jù)源的變化,而數(shù)據(jù)導(dǎo)入過程的工作流是靜態(tài)的,由用戶的當(dāng)前要求和當(dāng)前數(shù)據(jù)源的狀況所定義的。
數(shù)據(jù)更新過程和數(shù)據(jù)導(dǎo)入過程的主要區(qū)別有以下幾點:首先,對數(shù)據(jù)更新過程來說,組成其的各個活動(準備,集成,聚集和定制)之間完全是異步進行的,第二,就準備活動本身來說,其過程也可以是高度并行的,每個數(shù)據(jù)源都有自己的可用窗口和抽取策略。同步由數(shù)據(jù)集成活動來做。另外的一個不同之處在于數(shù)據(jù)源的可用性上。數(shù)據(jù)導(dǎo)入階段要求數(shù)據(jù)源長期可用,而數(shù)據(jù)更新階段對使用數(shù)據(jù)源的操作應(yīng)用程序的負載要求比較輕。它要求每一個數(shù)據(jù)源具有確定的存取頻率和一個嚴格限制的持續(xù)期。最后,對數(shù)據(jù)更新過程來說,對數(shù)據(jù)的存取有嚴格的反映時間限制,而對數(shù)據(jù)導(dǎo)入過程來說,要求就沒有那么嚴格。確實,對用戶來說,在初始數(shù)據(jù)導(dǎo)入前,數(shù)據(jù)倉庫是不存在的。因此,其計算時間則被包含在項目的設(shè)計期間內(nèi)。而在初始數(shù)據(jù)導(dǎo)入后,數(shù)據(jù)就變成可以看見的,應(yīng)當(dāng)滿足用戶對數(shù)據(jù)的使用,存取和刷新的要求。
視圖維護和數(shù)據(jù)更新
在數(shù)據(jù)更新過程期間,對數(shù)據(jù)變化的傳播是通過一系列獨立的活動來完成的。這些活動包含對存儲在ODS和CDW中的視圖的維護。視圖維護階段是指由于給定的數(shù)據(jù)源的改變而引起存儲在ODS和CDW中的一系列視圖的改變,這些改變導(dǎo)致視圖的更新。這個階段(視圖維護階段)是一個經(jīng)典的具體視圖維護問題,但是,在數(shù)據(jù)倉庫中,擴展到聚合視中的改變在數(shù)據(jù)源中并不一定發(fā)生,但是予處理結(jié)果是通過其他更新活動像數(shù)據(jù)清洗和多數(shù)據(jù)源數(shù)據(jù)一致性處理等來執(zhí)行的。
在數(shù)據(jù)庫界,對數(shù)據(jù)視圖維護的問題已經(jīng)進行了大量的研究。這個領(lǐng)域所做的主要工作被收集在[2]和[6]中。大部分的工作都集中到對一套具體的視圖的維護工作上,這套視圖派生于一套基本的關(guān)系表,當(dāng)基本關(guān)系被修改時便引起視圖的改變。視圖維護所涉及到的工作主要有:
● 自我維護性:自我維護性是針對這樣一套視圖集的:視圖集V對于基本關(guān)系的改變是自我維護的,指的是不需要查詢基本關(guān)系就可完成V中視圖的改變。(也就是說通過存儲在具體視中的信息和變化的實例就足以完成視圖的維護)
● 一致性和有效性更新轉(zhuǎn)換:對于每個單獨的視圖都有相應(yīng)的算法來調(diào)度更新轉(zhuǎn)換過程,但是,考慮到視圖間的相互依賴關(guān)系,及視圖間會導(dǎo)致可能的矛盾。出于這個目的,導(dǎo)入一些輔助視圖來促進更新轉(zhuǎn)換和加強自我維護性。
數(shù)據(jù)倉庫主要關(guān)注的是視圖集的自我維護性。存儲在數(shù)據(jù)倉庫中的視圖集必須是全局可自我維護的,這一點是大家都認同的。這樣做的原因是避免對操作型數(shù)據(jù)源中的常規(guī)活動負載過重。
像上節(jié)描述的一樣,對數(shù)據(jù)倉庫更新的研究主要集中在對具體視圖的更新轉(zhuǎn)換上。關(guān)于這個題目,已經(jīng)發(fā)表了很多文章。但是,很少有人致力于將數(shù)據(jù)更新過程作為一個整體(像前面定義的)來研究。我們認為視圖維護問題只是整個數(shù)據(jù)更新過程的一步,其它幾步包括數(shù)據(jù)清洗,數(shù)據(jù)一致,數(shù)據(jù)定制,如果需要的話還有數(shù)據(jù)歸檔。另一方面,抽取和清洗策略對不同數(shù)據(jù)源來說是不一樣的,就像數(shù)據(jù)更新轉(zhuǎn)換過程對不同的用戶視是不同的一樣。所以,數(shù)據(jù)倉庫更新過程不能僅限于視圖維護過程。
綜上所述。我們認為數(shù)據(jù)更新過程是一個復(fù)雜的系統(tǒng),它由一系列異步和并發(fā)活動構(gòu)成,當(dāng)然,這些活動必須是可監(jiān)控的。另外,數(shù)據(jù)更新過程也是一個基于事件驅(qū)動的系統(tǒng),是不斷跟蹤變化,動態(tài)反映數(shù)據(jù)源和用戶要求演變的系統(tǒng)。用戶,數(shù)據(jù)倉庫管理員和數(shù)據(jù)源管理員可以施加一些限制,例如,數(shù)據(jù)的刷新率,ODS和CDW的空間限制,對數(shù)據(jù)源的存取頻率等。對所有數(shù)據(jù)倉庫應(yīng)用,所有的數(shù)據(jù)倉庫用戶或整個數(shù)據(jù)倉庫生命周期來說,不存在簡單和同一的數(shù)據(jù)更新策略。
3.?dāng)?shù)據(jù)更新過程是一個工作流
工作流是一套相關(guān)活動的集合,這些活動既可是手動的,也可以是自動的。工作流的概念已經(jīng)在不同的領(lǐng)域得到應(yīng)用,像商業(yè)過程模型,企業(yè)操作模型和數(shù)據(jù)庫事物模型等。根據(jù)應(yīng)用的領(lǐng)域,活動和活動間的聯(lián)系可以使用相應(yīng)的說明語言來描述,像狀態(tài)圖,Petri nets或活動規(guī)則等。盡管對工作流的應(yīng)用和表示方式多種多樣,但是,大部分工作流用戶卻或多或少地傾向于接受Workflow Coalition對工作流所做的概念和說明。工作流系統(tǒng)一般具有高度的靈活性,有可遞歸分解和合成的活動,和對工作流過程進行動態(tài)重組等特性。對數(shù)據(jù)倉庫來說,這些特點是非常有用的。因為,不同的數(shù)據(jù)倉庫廠商所提供的產(chǎn)品是不同的,也就是說,組成數(shù)據(jù)倉庫的活動的功能和范圍由于產(chǎn)品的不同其差別是很大的,而這正是工作流所擅長的。
在下面幾小節(jié),我們將展示數(shù)據(jù)倉庫是如何被定義為工作流的。根據(jù)用戶的需求,數(shù)據(jù)源和數(shù)據(jù)倉庫的限制等要求,我們將提出不同的方案,并以此來說明將工作流引入數(shù)據(jù)倉庫的優(yōu)點。同時,我們將說明這些方案能夠全程跟蹤和監(jiān)控用戶需求和限制的任何變化,并完成相應(yīng)的更新操作。
3.1 數(shù)據(jù)更新過程的工作流
數(shù)據(jù)更新的目標(biāo)是反映數(shù)據(jù)源的變化,并將這些變化導(dǎo)入到數(shù)據(jù)倉庫中。這個導(dǎo)入和轉(zhuǎn)換行為可以通過一系列獨立的活動來完成(抽取,清洗,集成等)。按照用戶對數(shù)據(jù)更新過程的語義以及他對所獲取的數(shù)據(jù)的要求,這些活動可以以不同的方式進行組織。同時,這些活動的順序和它們執(zhí)行的上下文環(huán)境也定義了語義并影響質(zhì)量。順序和上下文環(huán)境來源于對視圖的分析,數(shù)據(jù)源的限制和用戶在質(zhì)量方面的要求三個方面。在下面幾節(jié)中,我們將闡述數(shù)據(jù)更新活動和他們是如何被組織成工作流的。然后,我們給出不同的工作流方案,并進一步說明數(shù)據(jù)更新是一個動態(tài)和演變的過程。最后,我們將概括不同的想法,并提出一個合理的數(shù)據(jù)更新方案。
數(shù)據(jù)更新活動
就數(shù)據(jù)流來說,數(shù)據(jù)更新過程類似數(shù)據(jù)導(dǎo)入過程。但是,數(shù)據(jù)導(dǎo)入過程是數(shù)據(jù)倉庫的大規(guī)模的數(shù)據(jù)導(dǎo)入,而數(shù)據(jù)更新只是捕獲數(shù)據(jù)源所發(fā)生的改變并將這些改變轉(zhuǎn)換到數(shù)據(jù)倉庫的各個存儲層次中。在準備階段,從每個數(shù)據(jù)源中抽取數(shù)據(jù),這些數(shù)據(jù)是自上次抽取以來,數(shù)據(jù)源所發(fā)生變化的數(shù)據(jù)。至于導(dǎo)入,數(shù)據(jù)應(yīng)在集成前被清洗和歸檔(可能的話)。數(shù)據(jù)集成階段主要是完成對來自多數(shù)據(jù)源的改變數(shù)據(jù)進行一致性處理,并將其導(dǎo)入到ODS中。聚合階段主要是利用這些數(shù)據(jù)變化重新對各層次聚合視進行增量計算。定制階段主要是將這些經(jīng)過概括的數(shù)據(jù)裝載到數(shù)據(jù)集市中。和數(shù)據(jù)導(dǎo)入階段一樣,這是一個邏輯的分解過程,其具體實現(xiàn)對不同的數(shù)據(jù)倉庫產(chǎn)品來說是不同的。這種邏輯視圖具有對數(shù)據(jù)更新過程的跟蹤能力。圖3顯示了數(shù)據(jù)更新過程的活動和相應(yīng)事件的一個樣例。
圖3 數(shù)據(jù)更新過程的一般工作流
活動協(xié)調(diào)
在工作流系統(tǒng)中,活動是由控制流調(diào)配的,這些控制流可能是過程提交提示,代理發(fā)布的電子郵件,臨時事件或其它觸發(fā)事件等。在數(shù)據(jù)更新過程中,活動的協(xié)調(diào)工作是通過一個范圍廣泛的事件類型來做的。
我們能夠定義幾種不同的事件類型,這些事件類型可以觸發(fā)和同步數(shù)據(jù)更新活動。它們可以是臨時事件,末端事件或其它用戶定義的事件。根據(jù)不同的更新策略,可以選取合適的事件類型集以取得正確的同步級別。
數(shù)據(jù)更新工作流的活動只有在它們被觸發(fā)時才可以執(zhí)行,觸發(fā)的條件依據(jù)輸入數(shù)據(jù)源的當(dāng)前狀況。例如,如果數(shù)據(jù)抽取是周期性觸發(fā)的,那么它實際上只有在數(shù)據(jù)源日志發(fā)生有效變化的時候才執(zhí)行。如果清洗過程是在數(shù)據(jù)抽取后立即觸發(fā)的,那么它實際上只在抽取過程已經(jīng)收集了數(shù)據(jù)源的變化數(shù)據(jù)后才執(zhí)行。因此,我們認為每個活動的輸入數(shù)據(jù)源的狀態(tài)是有效執(zhí)行這個活動的必須要考慮的條件之一。
在數(shù)據(jù)更新過程的工作流中,不同活動可能具有不同的起源和不同的語義,因此,數(shù)據(jù)更新策略和活動的實際行為是相互獨立的。然而,在操作級別,一些活動是可以合并的(例如,數(shù)據(jù)抽取和數(shù)據(jù)清洗)另外一些是可以分解的(如集成)。工作流系統(tǒng)的靈活性允許動態(tài)地裁剪數(shù)據(jù)更新活動和相關(guān)的協(xié)調(diào)事件。
另外,還有一種方式描述工作流和其觸發(fā)策略。確實,如果不考慮外部事件像臨時事件或不同活動的末端事件的話,我們可以把數(shù)據(jù)改變作為事件。因此,數(shù)據(jù)更新工作流的每一個輸入存儲源都可以考慮成一個事件隊列,由它來觸發(fā)相應(yīng)的活動。然而,為了能夠描述不同的更新策略,這種方法需要一種參數(shù)化的同步機制,以便在正確的時機觸發(fā)相應(yīng)的活動。有兩種方法可以作這個工作。一種是引入復(fù)合事件,例如可以將數(shù)據(jù)改變事件和臨時事件進行組合。另外一種是給數(shù)據(jù)存儲單元加鎖,并在一個活動或活動集決定提交后去鎖。但是,對某些需要長期同步機制的數(shù)據(jù)倉庫來說,后一種方式顯然是無效的。
工作流的角色
在數(shù)據(jù)更新工作流中主要涉及兩個角色:人為角色,主要定義要求,限制和策略;另外一種是計算機,主要處理活動。我們把人為角色分為用戶,數(shù)據(jù)倉庫管理員,和數(shù)據(jù)源管理員。把計算機分為數(shù)據(jù)源管理系統(tǒng),用于數(shù)據(jù)倉庫和數(shù)據(jù)集市的數(shù)據(jù)庫管理系統(tǒng),封裝和媒介等。對于只關(guān)注活動及其相關(guān)聯(lián)系的數(shù)據(jù)更新工作流來說,是不必需要角色的。3.2 定義數(shù)據(jù)更新策略
為了闡明不同的工作流策略,我們考慮使用下面這個例子。這個例子涉及三個國家的電信單據(jù)分別用S1,S2,S3三個關(guān)系表示。每個關(guān)系都有相同的模式定義:(#PC,date,duration,cost)。聚合視V的模式為(avg-duration,avg-cost,country)。V在數(shù)據(jù)倉庫中定義。視圖V提取最近6個月和上述三個關(guān)系相關(guān)的三個國家中每一個電話的平均通話時間和花費。我們假定視圖V的構(gòu)造遵循以前的解釋。在數(shù)據(jù)準備期間,包含在每個數(shù)據(jù)源中的最近6個月的數(shù)據(jù)被清洗(例如,所有的收費單元被轉(zhuǎn)換為歐元)。
然后,在數(shù)據(jù)集成階段,通過聯(lián)合每個數(shù)據(jù)源的數(shù)據(jù)和產(chǎn)生附加的屬性(country)來建造基本關(guān)系R,R的模式為(date,duration,cost,country)。最后,通過聚合計算產(chǎn)生視圖(圖4)。
圖4:更新策略的第一個案例
我們也能夠用同樣的數(shù)據(jù)源和類似的視圖定義另一個更新策略。這個策略鏡像的是每天的平均通話時間和花費而不是6個月的。這導(dǎo)致數(shù)據(jù)抽取,數(shù)據(jù)清洗,集成和轉(zhuǎn)換的頻率的改變。圖5給出了這樣一個可能的策略。數(shù)據(jù)源抽取的頻率是由數(shù)據(jù)源管理員指定的。數(shù)據(jù)源3是長期可用的。
圖5:更新策略的第二個案例
當(dāng)更新活動是一個長期活動或DWA想要在活動間加入校驗過程時,臨時事件或活動終止可以被用來對整個更新過程進行同步控制。通常,質(zhì)量要求也可施加一定的同步策略。例如,如果用戶想要最新的數(shù)據(jù),這意味著數(shù)據(jù)源的每一次更新都應(yīng)當(dāng)盡可能的反映到視圖中。因此,這就決定了同步的策略:數(shù)據(jù)源的每一次改變都觸發(fā)抽取,當(dāng)語義相關(guān)時觸發(fā)集成,在每個數(shù)據(jù)源提交后,轉(zhuǎn)換活動立即在集成活動后將相應(yīng)變化導(dǎo)入到視圖中,并且在數(shù)據(jù)集市中定制用戶視圖。
更新模式
數(shù)據(jù)更新過程存在不同的處理模式,主要模式類型有:
● 客戶驅(qū)動的數(shù)據(jù)更新
客戶驅(qū)動的數(shù)據(jù)更新模式指的是以用戶需求為條件所觸發(fā)的數(shù)據(jù)更新過程。它主要關(guān)注的是如何將數(shù)據(jù)從ODS轉(zhuǎn)換到數(shù)據(jù)倉庫中的聚合視圖中去。這種基于需求的策略既可以適用于所有的聚合視,也可以僅用于和日期查詢相關(guān)的數(shù)據(jù)刷新中。
● 數(shù)據(jù)源驅(qū)動的數(shù)據(jù)更新
數(shù)據(jù)源驅(qū)動的數(shù)據(jù)更新描述的是由于數(shù)據(jù)源發(fā)生變化而觸發(fā)的數(shù)據(jù)更新。這種更新主要涉及到數(shù)據(jù)準備階段。就數(shù)據(jù)源來說,我們可以利用數(shù)據(jù)源之間的獨立性來制定不同的準備策略。例如,一些數(shù)據(jù)源和清洗過程相關(guān),而另外一些卻不是這樣。一些數(shù)據(jù)源需要抽取數(shù)據(jù)的歷史記錄,而其它的沒有這個要求。對某些數(shù)據(jù)源來說,清洗過程可以在抽取期間的空閑時間做,對另外一些則可能在抽取后或基于這些變化的歷史來做。對不同的數(shù)據(jù)源來說,觸發(fā)抽取的事件也是不同的。可以定義不同的事件,像臨時事件(定期或固定時間),在檢測數(shù)據(jù)源發(fā)生改變后或基于集成過程的要求等。
● ODS驅(qū)動的數(shù)據(jù)更新
ODS驅(qū)動的數(shù)據(jù)更新指的是由數(shù)據(jù)倉庫系統(tǒng)自動監(jiān)控的數(shù)據(jù)更新過程。這部分主要涉及數(shù)據(jù)集成階段。它在一個同步點被觸發(fā),這個同步點定義在準備階段結(jié)束后。數(shù)據(jù)集成通常被考慮成一個整體,涉及到同一時刻所有的數(shù)據(jù)源改變。在這種情況下,它只能被一個外部事件觸發(fā),這個事件可以是臨時事件或最后一個數(shù)據(jù)源的準備階段結(jié)束事件。和每個數(shù)據(jù)源的準備階段的結(jié)束一起考慮的話,那么數(shù)據(jù)集成也可以被序列化,也就是說,一個數(shù)據(jù)源的清洗完成后就對其抽取進行集成。ODS也能監(jiān)控準備階段和聚合階段,主要是通過產(chǎn)生相關(guān)的事件,由這些事件觸發(fā)這些階段的活動。
在很簡單的情況下,前兩個方式中的任一個均可作為一種單獨的策略。在復(fù)雜的情況下,就需要有和數(shù)據(jù)源的數(shù)量或高級聚合視圖數(shù)量同樣多的策略。介于兩者之間,對于前面所說的四個階段,可能有與之相對應(yīng)的四個不同的策略。對于某些給定的用戶視圖,可能使用客戶驅(qū)動的策略(拉策略),而對于其它視圖則可能使用ODS驅(qū)動策略(推策略)。類似,一些數(shù)據(jù)源要求用拉策略,而其它的用推測略。
策略的選取既和語義參數(shù)有關(guān),也決定于執(zhí)行數(shù)據(jù)更新活動(抽取,清洗,集成)所能使用的工具。一些抽取工具也能在空閑時做清洗工作,而一些集成器也能立即將變化一直轉(zhuǎn)換到高級視圖中。在圖3所示的是數(shù)據(jù)更新的一個邏輯視圖,它顯示了主要的活動和觸發(fā)它們的潛在的事件類型。
4、數(shù)據(jù)更新過程的語義
正像我們在以前說明的方案中所展示的那樣,視圖的定義并不能有效地解決數(shù)據(jù)更新的語義問題。確實,用來定義視圖的查詢不能夠說明這個視圖是否建立在歷史數(shù)據(jù)上,這個歷史數(shù)據(jù)是如何采樣的,對于給定的數(shù)據(jù)源的變化是每小時還是每周進行集成。以及當(dāng)集成不同數(shù)據(jù)源的變化時,應(yīng)當(dāng)采用什么樣的數(shù)據(jù)時間戳。另外,視圖定義不包括定義在清洗過程中的具體的過濾條件,例如為特定屬性選取同樣的措施,對一些屬性值四舍五入,或刪除一些隱秘數(shù)據(jù)等。因此,即使基于相同的視圖定義,數(shù)據(jù)更新過程也會產(chǎn)生不同的結(jié)果,而這和外部參數(shù)有關(guān),這些參數(shù)必須獨立確定,和定義視圖的查詢無關(guān)。
視圖V在t時刻的查詢結(jié)果取決于兩個主要的參數(shù),這兩個參數(shù)和數(shù)據(jù)倉庫的數(shù)據(jù)更新策略有關(guān)。第一個參數(shù)是每個數(shù)據(jù)源的抽取性能。例如,數(shù)據(jù)源s1在發(fā)生改變時可以立即進行抽取,而s2的改變只在每個月的最后一個晚上被捕獲。這就決定了數(shù)據(jù)源變化的實效性,因此影響到數(shù)據(jù)的刷新率。另外,它也影響了數(shù)據(jù)的一致性,因為在視圖中可能產(chǎn)生時間差:計算的平均數(shù)可能將s1的最新刷新數(shù)據(jù)和s2的舊數(shù)據(jù)進行集成。第二個參數(shù)是計算視圖變化所需要的時間。
實際上,這兩個參數(shù)可以被重復(fù)多次,就像在數(shù)據(jù)源和數(shù)據(jù)視圖之間存在許多中間存儲器一樣。例如,考慮存儲準備階段結(jié)果的情況,則第一個參數(shù)刻畫了數(shù)據(jù)集成過程存取數(shù)據(jù)準備階段結(jié)果的時刻。因此,如果數(shù)據(jù)準備階段的每個結(jié)果只能在月末才可用的話,那么數(shù)據(jù)集成過程也只能在月末執(zhí)行,結(jié)果視圖將只在每個月末作出對數(shù)據(jù)源變化的反映。
另外一個參數(shù)則影響了視圖V的查詢結(jié)果。定義了包容在每個數(shù)據(jù)源中的數(shù)據(jù)的實現(xiàn)。例如,數(shù)據(jù)源s1可以在每個周末更新,而數(shù)據(jù)鄆s2在每個月末的前兩天更新。如果視圖V的一個查詢在一個月的第二個周末觸發(fā)的話,從這個月開始到現(xiàn)在與數(shù)據(jù)源s2有關(guān)的國家的電話的情況將不可能在視圖V中得到反映。所以,第二個參數(shù)的值決定了數(shù)據(jù)倉庫所反映的視圖狀態(tài)和現(xiàn)實世界中視圖狀態(tài)存在不同之處。因為這個參數(shù)是固定的,處于數(shù)據(jù)倉庫應(yīng)用程序的控制之外(它實際上是數(shù)據(jù)源操作應(yīng)用程序的一部分),我們將不會對它加以考慮。
上述討論已經(jīng)揭示了數(shù)據(jù)更新過程是如何依靠某些參數(shù),具體視圖選取的獨立性和這些參數(shù)是怎樣影響數(shù)據(jù)更新過程的語義的。它也揭示了建立一個與應(yīng)用要求(例如,數(shù)據(jù)刷新,查詢和視圖的計算時間,數(shù)據(jù)精度)相關(guān)的有效的更新策略所倚賴的不同參數(shù),這些參數(shù)和下列因數(shù)有關(guān):
● 數(shù)據(jù)源的限制(例如,可用的窗口數(shù),變化頻率)
● 數(shù)據(jù)倉庫系統(tǒng)的限制(例如,存儲空間限制,功能限制)
綜上所述,基于以上的樣例和討論,我門可以得出如下結(jié)論:
數(shù)據(jù)更新過程的操作語義可以被定義成為一個全部設(shè)計考慮的集合,這些考慮用來向用戶提供相關(guān)聯(lián)的數(shù)據(jù),并履行質(zhì)量控制的要求。
其中,這些考慮中一些來源于數(shù)據(jù)導(dǎo)入,其它則和數(shù)據(jù)更新本身相關(guān)。來源于數(shù)據(jù)導(dǎo)入的第一個設(shè)計考慮集中在視圖的定義和數(shù)據(jù)源和數(shù)據(jù)集市之間的數(shù)據(jù)流的構(gòu)成。第二個考慮是導(dǎo)入活動的語義即清洗規(guī)則,集成規(guī)則等。
和數(shù)據(jù)更新語義相關(guān)的的設(shè)計考慮是這樣一些因素,它們決定以下信息:
● 整個過程中每一個更新任務(wù)發(fā)生的時刻
● 不同更新任務(wù)的同步方式
● 與相應(yīng)任務(wù)相關(guān)的共享數(shù)據(jù)的可視化方式
這些考慮是通過以下定義來說明的:
● 按元任務(wù)進行的數(shù)據(jù)更新過程的分解(例如,某些確定數(shù)據(jù)源的清洗,來源于兩個不同數(shù)據(jù)源的兩個給定變化的局部集成和在一個統(tǒng)一任務(wù)中對另外一個數(shù)據(jù)源的檢測和清洗)
● 任務(wù)排序
● 觸發(fā)任務(wù)的事件,這些事件用來調(diào)整更新過程的頻率,不同的頻率,數(shù)據(jù)的刷新和精度的差別是相當(dāng)大的。
5、關(guān)于實現(xiàn)的幾點想法
就實現(xiàn)的問題來說,可以考慮不同的解決方案。數(shù)據(jù)更新過程依據(jù)工作流的概念性定義,自然導(dǎo)致采用在市面上通用的工作流系統(tǒng)的控制下的實現(xiàn)方式,如果這些系統(tǒng)提供各種事件類型和更新方案所需的所有的特點的話。另一個解決方案,我們在描述組成在一定操作語義下執(zhí)行的活動規(guī)則時已經(jīng)提到。我們選擇的基本原則是靈活性和活動規(guī)則的動態(tài)演化性。確實,更新策略不可能一下定義所有的東西,它需要不斷跟蹤用戶需求,這些需求可以導(dǎo)致具體視圖定義的改變或具體的品質(zhì)方面的改變。當(dāng)品質(zhì)方面的實際價值為了適應(yīng)數(shù)據(jù)倉庫反饋信息的變化或?qū)崿F(xiàn)這種變化的技術(shù)而有所減慢時,這種活動規(guī)則也必須能夠?qū)Υ诉M行演化。因此為了掌握數(shù)據(jù)倉庫的復(fù)雜性和演化性,提供一種靈活的技術(shù),它能夠滿足復(fù)雜性和演化性的要求,是非常重要的。而這正是活動規(guī)則所要提供的。在歐洲數(shù)據(jù)倉庫研究項目的DWG[5]的相關(guān)研究中已經(jīng)開發(fā)并發(fā)布了一個協(xié)議。但是,活動規(guī)則并不能用來替代工作流。工作流是更新過程的基本邏輯結(jié)構(gòu),而活動規(guī)則是工作流思想的具體操作實現(xiàn)。
6、結(jié)論
本文分析了數(shù)據(jù)倉庫應(yīng)用中的更新過程。闡明了數(shù)據(jù)更新過程不只局限于視圖維護過程,也不是數(shù)據(jù)導(dǎo)入古成。通過一個簡單的。例子,我們已經(jīng)說明數(shù)據(jù)更新過程能夠基本上被看作是一個工作流。我們定義了工作流的不同任務(wù)階段,展現(xiàn)了它們在不同更新方案中的組織方式,這些不同的更新方案導(dǎo)致不同的更新語義。我們也著重強調(diào)了不同的設(shè)計考慮對更新語義的影響。我們也說明了這些考慮是怎樣和一些品質(zhì)因素像數(shù)據(jù)刷新率和一些限制像數(shù)據(jù)源的可用性和可存取性相關(guān)的。
第二篇:數(shù)據(jù)倉庫總結(jié)
數(shù)據(jù)倉庫系統(tǒng)與傳統(tǒng)數(shù)據(jù)庫系統(tǒng)的區(qū)別
數(shù)據(jù)庫是面向事務(wù)的設(shè)計,數(shù)據(jù)倉庫是面向主題設(shè)計的。數(shù)據(jù)庫一般存儲在線交易數(shù)據(jù),數(shù)據(jù)倉庫存儲的一般是歷史數(shù)據(jù)。數(shù)據(jù)庫設(shè)計是盡量避免冗余,一般采用符合范式的規(guī)則來設(shè)計,數(shù)據(jù)倉庫在設(shè)計是有意引入冗余,采用反范式的方式來設(shè)計。數(shù)據(jù)庫是為捕獲數(shù)據(jù)而設(shè)計,數(shù)據(jù)倉庫是為分析數(shù)據(jù)而設(shè)計,它的兩個基本的元素是維表和事實表。數(shù)據(jù)倉庫,是在數(shù)據(jù)庫已經(jīng)大量存在的情況下,為了進一步挖掘數(shù)據(jù)資源、為了決策需要而產(chǎn)生的,它決不是所謂的“大型數(shù)據(jù)庫”。
數(shù)據(jù)挖掘與傳統(tǒng)分析工具不同的是數(shù)據(jù)挖掘使用的是基于發(fā)現(xiàn)的方法,運用模式匹配和其它算法決定數(shù)據(jù)之間的重要聯(lián)系。
數(shù)據(jù)挖掘的步驟
1.描述數(shù)據(jù)---計算統(tǒng)計變量(比如平均值、均方差等),再用圖表或圖片直觀的表示出來,進而可以看出一些變量之間的相關(guān)性。
2.歷史數(shù)據(jù)建立一個預(yù)言模型,然后再用另外一些數(shù)據(jù)對這個模型進行測試。
3.驗證你的模型
數(shù)據(jù)挖掘與傳統(tǒng)數(shù)據(jù)分析方法區(qū)別
(1)數(shù)據(jù)挖掘的數(shù)據(jù)源與以前相比有了顯著的改變;數(shù)據(jù)是海量的;數(shù)據(jù)有噪聲;數(shù)據(jù)可能是非結(jié)構(gòu)化的;(2)傳統(tǒng)的數(shù)據(jù)分析方法一般都是先給出一個假設(shè)然后通過數(shù)據(jù)驗證,在一定意義上是假設(shè)驅(qū)動的;與之相反,數(shù)據(jù)挖掘在一定意義上是發(fā)現(xiàn)驅(qū)動的,模式都是通過大量的搜索工作從數(shù)據(jù)中自動提取出來。即數(shù)據(jù)挖掘是要發(fā)現(xiàn)那些不能靠直覺發(fā)現(xiàn)的信息或知識,甚至是違背直覺的信息或知識,挖掘出的信息越是出乎意料,就可能越有價值。
在缺乏強有力的數(shù)據(jù)分析工具而不能分析這些資源的情況下,歷史數(shù)據(jù)庫也就變成了“數(shù)據(jù)墳?zāi)埂保锩娴臄?shù)據(jù)幾乎不再被訪問。也就是說,極有價值的信息被“淹沒”在海量數(shù)據(jù)堆中,領(lǐng)導(dǎo)者決策時還只能憑自己的經(jīng)驗和直覺。因此改進原有的數(shù)據(jù)分析方法,使之能夠智能地處理海量數(shù)據(jù),即演化為數(shù)據(jù)挖掘。
數(shù)據(jù)挖掘方法與過程
? ? ? 方法:決策樹 關(guān)聯(lián)規(guī)則 人工神經(jīng)網(wǎng)絡(luò)
粗糙集理論
遺傳算法
過程:1.對數(shù)據(jù)庫數(shù)據(jù)整理,抽取出用來完成特定挖掘目標(biāo)的數(shù)據(jù)集。2.選擇合適的挖掘方法和工具,在領(lǐng)域?qū)<抑笇?dǎo)下進行知識獲取研究3.對事物的發(fā)展進行預(yù)測
數(shù)據(jù)采集與處理:從數(shù)據(jù)倉庫中選取相關(guān)的數(shù)據(jù)集合。知識庫:指導(dǎo)數(shù)據(jù)挖掘和評價挖掘結(jié)果。
數(shù)據(jù)挖掘:對數(shù)據(jù)倉庫中提取的數(shù)據(jù)進行分析處理。
知識評價:是以興趣度作為衡量標(biāo)準來查找和選擇對最終決策活動友有益的的知識。
OLAP與數(shù)據(jù)挖掘(DM)的比較 相同之處:OLAP與DM都是數(shù)據(jù)庫(數(shù)據(jù)倉庫)上的分析工具;不同之處:(1)前者是驗證型的,后者是挖掘型的;(2)前者建立在多維視圖的基礎(chǔ)之上,強調(diào)執(zhí)行效率和對用戶請求命令的及時響應(yīng),而且其直接數(shù)據(jù)源一般是數(shù)據(jù)倉庫;后者建立在各種數(shù)據(jù)源的基礎(chǔ)上,重在發(fā)現(xiàn)隱藏在數(shù)據(jù)深層次的對人們有用的模式,一般并不過多考慮執(zhí)行效率和響應(yīng)速度。
(3)數(shù)據(jù)挖掘與OLAP不同,主要體現(xiàn)在它分析數(shù)據(jù)的深入和分析過程的自動化,自動化的含義是其分析過程不需要客戶的參與,這是它的優(yōu)點,也正是其不足。因為在實際中,客戶也希望參與到挖掘中來,例如只想對數(shù)據(jù)的某一子集進行挖掘,對不同抽取、集成水平的數(shù)據(jù)進行挖掘,或是根據(jù)自己的需要動態(tài)選擇挖掘算法等等。因此,OLAP與數(shù)據(jù)挖掘各有所長。
OLAP與OLTP的區(qū)別(1)OLTP主要面向公司職員;OLAP則主要面向公司領(lǐng)導(dǎo)者。(2)OLTP應(yīng)用主要是用來完成客戶的事務(wù)處理,其數(shù)據(jù)基礎(chǔ)是操作型數(shù)據(jù)庫,如民航訂票系統(tǒng)、銀行儲蓄系統(tǒng)等等,通常需要進行大量的更新操作,同時對響應(yīng)時間要求較高;而OLAP是以數(shù)據(jù)倉庫或數(shù)據(jù)多維視圖為基礎(chǔ)的數(shù)據(jù)分析處理,是針對特定問題的聯(lián)機數(shù)據(jù)訪問和分析,它一般不對倉庫數(shù)據(jù)作修改處理,而只是查詢,其應(yīng)用主要是對客戶當(dāng)前及歷史數(shù)據(jù)進行分析,輔助領(lǐng)導(dǎo)決策,其典型的應(yīng)用有對銀行信用卡風(fēng)險的分析與預(yù)測、公司市場營銷策略的制定等,主要是進行大量的查詢操作,對時間的要求不太嚴格。
OLTP
OLAP 面向人群
業(yè)務(wù)系統(tǒng)的操作、維護人員
管理、決策者 功能
日常操作處理
分析、決策輔助 實現(xiàn)方式
基于交易的處理系統(tǒng)
基于查詢的分析系統(tǒng) 應(yīng)用場合 面向生產(chǎn)應(yīng)用
面向特定主題 數(shù)據(jù)庫設(shè)計
實體-聯(lián)系模型
星形或雪花模型 數(shù)據(jù)
當(dāng)前的、最新的細節(jié)數(shù)據(jù)
歷史的、聚合的數(shù)據(jù) 響應(yīng)時間
對響應(yīng)時間要求非常高
查詢時間長
數(shù)據(jù)倉庫與數(shù)據(jù)集市的差別
(1)范圍不同:數(shù)據(jù)倉庫面向的是整個企業(yè),為整個企業(yè)提供所需的數(shù)據(jù);數(shù)據(jù)集市則面向各個部門。
(2)粒度不同:數(shù)據(jù)倉庫中的數(shù)據(jù)粒度非常??;數(shù)據(jù)集市中的數(shù)據(jù)主要是概括級的數(shù)據(jù)。
(3)數(shù)據(jù)組織方式不同
數(shù)據(jù)集市中數(shù)據(jù)的結(jié)構(gòu)通常被描述為星型結(jié)構(gòu)或雪花結(jié)構(gòu)。一個星型結(jié)構(gòu)包含兩個基本部分—一個事實表和各種支持維表。事實表描述數(shù)據(jù)集市中最密集的數(shù)據(jù)。在電話公司中,用于呼叫的數(shù)據(jù)是典型的最密集數(shù)據(jù);在銀行中,與賬目核對和自動柜員機有關(guān)的數(shù)據(jù)是典型的最密集數(shù)據(jù)。對于零售業(yè)而言,銷售和庫存數(shù)據(jù)是最密集的數(shù)據(jù)等等。
數(shù)據(jù)倉庫:是一個面向主題的、集成的、不可更新的且隨時間不斷變化的數(shù)據(jù)集合,用來支持管理人員的決策。數(shù)據(jù)倉庫的根本任務(wù):把信息加以整理歸納并及時提供給管理決策人員。主要作用:提供報表和圖表、支持多維分析、數(shù)據(jù)挖掘的基礎(chǔ)。
數(shù)據(jù)挖掘:(Data Mining)是從大量的、不完全的、有噪聲的、模糊的、隨機的實際應(yīng)用數(shù)據(jù)中,提取隱含在其中的、人們事先不知道的、但又是潛在有用的信息和知識的過程。
聚類分析:聚類(clustering)就是將數(shù)據(jù)對象集合進行分析,將數(shù)據(jù)集劃分為多個類或簇,使得同一類中的數(shù)據(jù)對象之間具有較高的相似度,而不同類之間的數(shù)據(jù)對象具有較大的差異度。將上述分析過程稱為??
粒度是指數(shù)據(jù)倉庫中記錄數(shù)據(jù)或?qū)?shù)據(jù)進行綜合時所使用的時間參數(shù),它決定了數(shù)據(jù)倉庫中所存儲的數(shù)據(jù)單元在時間上的詳細程度和級別。分割是指將數(shù)據(jù)分散到各自的物理單元中去以便能分別獨立處理,以提高數(shù)據(jù)處理效率。
數(shù)據(jù)分割后的數(shù)據(jù)單元稱為分片。
元數(shù)據(jù):元數(shù)據(jù)是數(shù)據(jù)倉庫數(shù)據(jù)本身信息的數(shù)據(jù)。不僅包括在數(shù)據(jù)倉庫建設(shè)過程中所產(chǎn)生的有關(guān)數(shù)據(jù)源定義、目標(biāo)定義、轉(zhuǎn)換規(guī)則等相關(guān)的關(guān)鍵數(shù)據(jù),而且還包括關(guān)于數(shù)據(jù)含義的商業(yè)信息。
OLTP:是傳統(tǒng)的關(guān)系型數(shù)據(jù)庫的主要應(yīng)用,主要面對基本的、日常的事務(wù)處理。
OLAP:是數(shù)據(jù)倉庫上的分析展示工具,它建立在數(shù)據(jù)多維視圖的基礎(chǔ)上。聯(lián)機分析處理。OLAM:OLAP與數(shù)據(jù)挖掘結(jié)合起來,發(fā)展出一種為數(shù)據(jù)挖掘服務(wù)的具有新型OLAP的數(shù)據(jù)倉庫,將更能適應(yīng)實際的需要。數(shù)據(jù)倉庫系統(tǒng)的四個層次體系結(jié)構(gòu):數(shù)據(jù)源 數(shù)據(jù)的存儲與管理 聯(lián)機分析處理
前端工具 數(shù)據(jù)倉庫設(shè)計需考慮的四種視圖:自頂向下視圖 數(shù)據(jù)源視圖 數(shù)據(jù)倉庫視圖 商務(wù)查詢視圖 數(shù)據(jù)倉庫設(shè)計
自上而下 自底而上
混合的方法
數(shù)據(jù)倉庫建模
數(shù)據(jù)倉庫通常采三層結(jié)構(gòu):底層:數(shù)據(jù)倉庫服務(wù)器 中間層:OLAP服務(wù)器 頂層:前端工具 ETL:是數(shù)據(jù)抽?。‥xtract)、轉(zhuǎn)換(Transform)、清洗(Cleansing)、裝載(Load)的過程。是構(gòu)建數(shù)據(jù)倉庫的重要一環(huán),用戶從數(shù)據(jù)源抽取出所需的數(shù)據(jù),經(jīng)過數(shù)據(jù)清洗,最終按照預(yù)先定義好的數(shù)據(jù)倉庫模型,將數(shù)據(jù)加載到數(shù)據(jù)倉庫中去。
神經(jīng)網(wǎng)絡(luò):神經(jīng)網(wǎng)絡(luò)是由許許多多的被稱為神經(jīng)元或網(wǎng)絡(luò)節(jié)點的基本單元構(gòu)成,而這些基本單元則模仿了人腦中的神經(jīng)元。將多個基本單元以某種適當(dāng)?shù)姆绞竭B接起來,就構(gòu)成了神經(jīng)網(wǎng)絡(luò)。
決策樹:又稱為判定樹,是一個類似于流程圖的樹型結(jié)構(gòu)。決策樹是一種簡單的知識表示方法,它將事例逐步分類成代表不同的類別。在決策樹的圖形表示中,矩形表示內(nèi)部結(jié)點,橢圓表示葉子結(jié)點,短線表示分枝,分枝上的標(biāo)注表示一次測試的輸出結(jié)果。
關(guān)聯(lián)規(guī)則:是數(shù)據(jù)挖掘的一個重要內(nèi)容,它反映了一個變量與其他變量之間的相互依存性和關(guān)聯(lián)性;其中,關(guān)聯(lián)是指在兩個或兩個以上變量取值之間所存在的某種規(guī)律性。關(guān)聯(lián)規(guī)則挖掘:是為了發(fā)現(xiàn)變量之間的這種依存性和關(guān)聯(lián)性的規(guī)則,并利用令人感興趣的規(guī)則來預(yù)測多個變量之間潛在的關(guān)聯(lián)或是通過其他變量來預(yù)測一個變量的存在。
文本數(shù)據(jù)挖掘:也稱文本挖掘,它是將文本信息源作為分析對象,利用智能算法,并結(jié)合文字處理技術(shù),分析大量非結(jié)構(gòu)化文本源,從中尋找信息的結(jié)構(gòu)、模型、模式等各種隱含的知識。
遺傳算法:是一種基于生物進化過程中自然選擇與遺傳機制的模擬算法,該算法是模擬達爾文主義“適者生存”思想的一種全局優(yōu)化方法,實質(zhì)是一種繁衍、檢測和評價的迭代算法。
? 數(shù)據(jù)分類的基本技術(shù)有:判定樹歸納、貝葉斯分類、貝葉斯網(wǎng)絡(luò)、神經(jīng)網(wǎng)絡(luò)等; ? 預(yù)測的方法主要有:線性的、非線性的、廣義線性回歸。
數(shù)據(jù)倉庫中的不同綜合級別,稱為“粒度”。粒度越大,表示細節(jié)程度越低,綜合程度越高。元數(shù)據(jù)(metadata):關(guān)于數(shù)據(jù)的數(shù)據(jù)。粗糙集:能夠在缺少關(guān)于數(shù)據(jù)先驗知識的情況下,只以考察數(shù)據(jù)的分類能力為基礎(chǔ),解決模糊或不確定數(shù)據(jù)的分析和處理問題。
用于從數(shù)據(jù)庫中發(fā)現(xiàn)分類規(guī)則的基本思想是將數(shù)據(jù)庫中的屬性分為條件屬性和結(jié)論屬性,對數(shù)據(jù)庫中的元組根據(jù)各個屬性不同的屬性值分成相應(yīng)的子集,然后對條件屬性劃分的子集與結(jié)論屬性劃分的子集之間上下近似關(guān)系生成判定規(guī)則。
對數(shù)據(jù)立方體的典型操作包括:切片、切塊以及旋轉(zhuǎn)等。多維數(shù)據(jù)模型:是為了滿足用戶從多角度多層次進行數(shù)據(jù)查詢和分析的需要而建立起來的基于事實和維的數(shù)據(jù)庫模型,其基本的應(yīng)用是為了實現(xiàn)OLAP(Online Analytical Processing)維(Dimension):是人們觀察數(shù)據(jù)的特定角度,是考慮問題時的一類屬性,屬性集合構(gòu)成一個維(時間維、地理維等)。
維的層次(Level):人們觀察數(shù)據(jù)的某個特定角度(即某個維)還可以存在細節(jié)程度不同的各個描述方面(時間維:日期、月份、季度、年)。維的成員(Member):維的一個取值,是數(shù)據(jù)項在某維中位置的描述。度量(Measure):多維數(shù)組的取值。
星型模式:是最常見的模型范式。這種模式的數(shù)據(jù)倉庫包含:一個大的事實表和一組小的維表。事實表:包含大批數(shù)據(jù)和不含冗余的中心表
維表:附屬表,每維一個表
雪花模式:是星型模式的變種,其中某些維表是規(guī)范化的,因而數(shù)據(jù)被進一步分解到附加的表中。
多維數(shù)據(jù)模型上的OLAP操作:有鉆取、切片和切塊、以及旋轉(zhuǎn)等。
鉆取:是改變維的層次,變換分析的粒度。它包括向下鉆取(Drill-down)和向上鉆取(Drill-up)/上卷(Roll-up)。Drill-up是在某一維上將低層次的細節(jié)數(shù)據(jù)概括到高層次的匯總數(shù)據(jù),或者減少維數(shù);而Drill-down則相反,它從匯總數(shù)據(jù)深入到細節(jié)數(shù)據(jù)進行觀察或增加新維。
切片和切塊:是在一部分維上選定值后,關(guān)心度量數(shù)據(jù)在剩余維上的分布。如果剩余的維只有兩個,則是切片;如果有三個或以上,則是切塊。
旋轉(zhuǎn):是變換維的方向,即在表格中重新安排維的放置。
OLAM產(chǎn)生的原因
一方面,分析工具OLAP功能雖強大,能為客戶端應(yīng)用程序提供完善的查詢和分析,但它也存在以下不足:
1)OLAP是一種驗證型分析工具,是由用戶驅(qū)動的。即在某個假設(shè)的前提下通過數(shù)據(jù)查詢和分析來驗證或否定這個假設(shè),這很大程度上受到用戶假設(shè)能力的限制。
2)OLAP分析事先需要對用戶的需求有全面而深入的了解,然而用戶的需求并不是確定的,難以把握。所以O(shè)LAP分析常常采用試湊法在大型數(shù)據(jù)庫或倉庫中搜索,不僅花時間,而且可能產(chǎn)生一些無用的結(jié)果。
3)即使搜索到了有用的信息,由于缺乏應(yīng)有的維度,從不同的視圖得到的結(jié)果可能并不相同,容易產(chǎn)生誤導(dǎo)。
另一方面,數(shù)據(jù)挖掘雖然可以使用復(fù)雜算法來分析數(shù)據(jù)和創(chuàng)建模型表示有關(guān)數(shù)據(jù)的信息,用戶也不必提出確切的要求,系統(tǒng)就能夠根據(jù)數(shù)據(jù)本身的規(guī)律性,自動地挖掘數(shù)據(jù)潛在的模式,或通過聯(lián)想,建立新的業(yè)務(wù)模型以輔助決策。但它也存在一些缺點:
1)DM是挖掘型分析工具,是由數(shù)據(jù)驅(qū)動的。用戶需要事先提出挖掘任務(wù)。但對于用戶來講,很多時候預(yù)先是不知道想挖掘什么樣的知識的。
2)由于數(shù)據(jù)庫或數(shù)據(jù)倉庫中存有大量數(shù)據(jù)和信息,用戶僅僅指出挖掘任務(wù),而不提供其他搜索線索,這樣DM工具就會遍歷整個數(shù)據(jù)庫,導(dǎo)致搜索空間太大。計算機將處于長時間的工作,而且結(jié)果中可能會生成很多無用信息。
3)即使挖掘出了潛在有價值的信息,但它究竟用來做什么分析用,用戶也可能不清楚。
兩種技術(shù)各存在不足,但同時也可以相輔相成。如果將OLAP同DM配合集成,一方面OLAP的分析結(jié)果給DM提供挖掘的依據(jù),引導(dǎo)DM的進行;另一方面,在數(shù)據(jù)挖掘的結(jié)果中進行OLAP分析,則OLAP分析的深度就可拓展。這樣用戶就可以靈活選擇所需的數(shù)據(jù)挖掘功能,并動態(tài)交換挖掘任務(wù),在數(shù)據(jù)倉庫的基礎(chǔ)上提供更有效的決策支持。鑒于OLAP與DM技術(shù)在決策分析中的這種互補性,促成了OLAM技術(shù)的形成。
數(shù)據(jù)倉庫、數(shù)據(jù)挖掘在電子商務(wù)中的應(yīng)用
1.控制商品庫存
對于零售業(yè),庫存銷量比是一個重要的效率指標(biāo)。通過使用數(shù)據(jù)倉庫,企業(yè)可以隨時跟蹤庫存,及時通過網(wǎng)上供貨商補充,實現(xiàn)了庫存商品的有效控制。比如美國沃瑪特連鎖店,數(shù)據(jù)倉庫規(guī)模從最初的6 萬億字節(jié)增加到現(xiàn)在的100 萬億字節(jié),實現(xiàn)了存貨少效益高的良性循環(huán),始終保持著行業(yè)領(lǐng)先。2.減少跳線率
對于航空、銀行等服務(wù)性行業(yè),由于行業(yè)競爭激烈,存在“跳線”的現(xiàn)象,即客戶從A 公司跳到B 公司,幾個月后又重新回到A 公司,導(dǎo)致企業(yè)資金浪費。采用數(shù)據(jù)倉庫后,進行數(shù)據(jù)挖掘,預(yù)測客戶跳線機率,在客戶跳線之前盡可能挽留,減少跳線率。3.客戶跟蹤
目前在電子商務(wù)網(wǎng)站中,84%的在線交易沒有跟蹤客戶;96%的在線交易不能提供符合客戶的個性化服務(wù);75%的在線交易無法辨別重復(fù)客戶;導(dǎo)致電子商務(wù)企業(yè)不能抓住已有的客戶,更不用談潛在客戶的發(fā)展,喪失了該部分重要的資源。隨著客戶個性化需求的逐步增加,電子商務(wù)企業(yè)更是無從招架。當(dāng)啟用數(shù)據(jù)倉庫后,網(wǎng)站能夠?qū)蛻舻男畔⒁约盀g覽頁面進行整理并存儲,當(dāng)客戶再次訪問后,數(shù)據(jù)倉庫就會為客戶提出相應(yīng)的擴展服務(wù),使顧客能夠更加信任該網(wǎng)站,進而提升了該企業(yè)的效益。4.聚類客戶
在電子商務(wù)中,通過客戶相似瀏覽行為和客戶的共同特征進行分析,深層次挖掘和分析企業(yè)的客戶、市場、銷售、服務(wù)與支信息,可以幫助電子商務(wù)的組織者及時了解客戶,盡可能滿足客戶需求,向客戶提供更適合的服務(wù)。
5.提供優(yōu)質(zhì)個性化服務(wù),提高客戶忠誠度在電子商務(wù)活動中,網(wǎng)站的內(nèi)容、標(biāo)題、獎勵方案、服務(wù)等方面都可能吸引客戶。由于電子商務(wù)網(wǎng)站的眾多,客戶可以很方便的在網(wǎng)站間切換,因此電子商務(wù)網(wǎng)站應(yīng)該能夠?qū)蛻粼L問信息進行挖掘,通過客戶的瀏覽行為,從而了解客戶的忠誠度、喜好及需求,快速調(diào)整WEB 頁面滿足客戶的需求。比如京東網(wǎng),通過分析客戶瀏覽的頁面,運用數(shù)據(jù)挖掘中的序列模式發(fā)現(xiàn)技術(shù)進行挖掘,可以把客戶需求的相關(guān)物品呈現(xiàn)出來,方便客戶挑選,6.提高點擊率,完善電子商務(wù)網(wǎng)站設(shè)計通過數(shù)據(jù)挖掘技術(shù),分析客戶的行為記錄和反饋行為,電子商務(wù)企業(yè)可以更加有效地優(yōu)化網(wǎng)站結(jié)構(gòu),提高網(wǎng)站的點擊率。例如通過關(guān)聯(lián)規(guī)則,針對客戶需求,調(diào)整站點結(jié)構(gòu),把客戶訪問過的有關(guān)聯(lián)的文件進行直接鏈接,從而使客戶很容易訪問想要的頁面,增加客戶再次訪問的概率。
7.決策信息服務(wù)
數(shù)據(jù)倉庫用于實現(xiàn)對決策主體數(shù)據(jù)的存儲和綜合,通過從源數(shù)據(jù)庫中抽取、清理、集成和轉(zhuǎn)換,提供標(biāo)準的報表和圖表;通過從多種角度構(gòu)建多維數(shù)據(jù)模型,采用聯(lián)機分析處理實現(xiàn)多維數(shù)據(jù)分析;進而挖掘出隱藏在數(shù)據(jù)背后的模式和信息,可以針對整個企業(yè)的狀況和未來發(fā)展做出比較完整、合理、準確的分析和預(yù)測,從而為企業(yè)提供了多方位的決策支持。
結(jié)論:由于電子商務(wù)領(lǐng)域擁有豐富的信息資源,為企業(yè)實施數(shù)據(jù)倉庫和數(shù)據(jù)挖掘技術(shù)提供了良好的基礎(chǔ);同時,數(shù)據(jù)倉庫和數(shù)據(jù)挖掘技術(shù)又為電子商務(wù)提供了有力的技術(shù)支持,加快了電子商務(wù)的發(fā)展和普及。在電子商務(wù)活動中,數(shù)據(jù)倉庫、數(shù)據(jù)挖掘技術(shù)已成為數(shù)據(jù)管理、信息處理領(lǐng)域最熱門的技術(shù)之一。通過對源數(shù)據(jù)的整理、歸納,它可以幫助決策者查找數(shù)據(jù)間的潛在關(guān)聯(lián),發(fā)現(xiàn)隱藏在數(shù)據(jù)背后的信息,不僅可以預(yù)測客戶的消費趨勢以及進一步的市場走向,而且可以指導(dǎo)電子商務(wù)企業(yè)提高網(wǎng)站運行效率,進一步改善企業(yè)客戶關(guān)系,提高銷售額,具有良好的發(fā)展和應(yīng)用前景。
第三篇:IBM數(shù)據(jù)倉庫解決方案
IBM數(shù)據(jù)倉庫解決方案
IBM 2000-09-23
數(shù)據(jù)倉庫是匯總商用信息后,進而支持數(shù)據(jù)挖掘、多維數(shù)據(jù)分析等當(dāng)今尖端技術(shù)和傳統(tǒng)的查詢及報表功能,這些對于企業(yè)在當(dāng)今激烈的商業(yè)競爭中保持領(lǐng)先是至關(guān)重要的。那么怎樣把這樣大量的數(shù)據(jù)轉(zhuǎn)換成可靠的、商用信息以便于決策支持呢?建立數(shù)據(jù)倉庫正被廣泛地公認為最好的轉(zhuǎn)換手段。
根據(jù)IDC的調(diào)查,使用數(shù)據(jù)倉庫的投資回報率平均超過400%,尤其是從小型數(shù)據(jù)倉庫開始實施的平均超過500%。
IBM早在90年代初期,就投入大量優(yōu)秀技術(shù)人員和資金開始了數(shù)據(jù)倉庫的研究,并啟動了Star-Brust大型科研項目。該項目主要就是為了攻克數(shù)據(jù)倉庫領(lǐng)域的一些技術(shù)難題,例如優(yōu)化星型連接(Star-join),實現(xiàn)多維分析。因此,IBM現(xiàn)在發(fā)布的數(shù)據(jù)倉庫產(chǎn)品都是經(jīng)過反復(fù)推敲和久經(jīng)考驗的,真正做到讓用戶買起來放心,用起來舒心?;趯?shù)據(jù)倉庫結(jié)構(gòu)的深刻理解和多年積累的經(jīng)驗,IBM設(shè)計了自己的數(shù)據(jù)倉庫結(jié)構(gòu)。它作為一種開發(fā)式結(jié)構(gòu),方便了用戶的產(chǎn)品選擇、實施和今后的擴展。
在數(shù)據(jù)抽取階段完成對各種數(shù)據(jù)源的訪問,數(shù)據(jù)轉(zhuǎn)換階段完成對數(shù)據(jù)的清洗、匯總和整合等,數(shù)據(jù)分布階段完成對結(jié)果數(shù)據(jù)存儲的分配。這三個階段通常緊密結(jié)合在一起,集成在一個產(chǎn)品中實現(xiàn)。例如,VisualWarehouse、DataJoiner、DataPropagator都跨越了這三個階段。其中,DataJoiner和VisualWarehouse可以訪問各種關(guān)系型和非關(guān)系型的數(shù)據(jù),關(guān)系型數(shù)據(jù)庫主要包括DB2數(shù)據(jù)庫家族、Oracle、Sybase和Informix,非關(guān)系型數(shù)據(jù)有VSAM。VisualWarehouse還可以進行數(shù)據(jù)映射的定義,以定期地抽取、轉(zhuǎn)換分布數(shù)據(jù)。DataPropagator采用數(shù)據(jù)復(fù)制的方式可避免對日常業(yè)務(wù)系統(tǒng)事物處理性能的影響。當(dāng)用戶有特殊需求時,可以通過編程接口編程實現(xiàn)或選擇第三方廠商(如ETI和ValityTechnology)的產(chǎn)品。
數(shù)據(jù)倉庫的存儲由DB2家族產(chǎn)品來完成,以保證數(shù)據(jù)倉庫始終高性能地運轉(zhuǎn),提供完整、準確的數(shù)據(jù),以便于將來的升級和擴展。若希望使用多維數(shù)據(jù)庫,則可選用第三方的產(chǎn)品,例如:Arbor軟件公司、Pilot軟件公司、PlanningSciences軟件公司。如果既想擁有多維數(shù)據(jù)庫的獨特功能,又要把數(shù)據(jù)存放在關(guān)系型數(shù)據(jù)庫中以便管理,則DB2OLAPServer是用戶的最佳選擇。
DataGuide通過描述性數(shù)據(jù)幫助用戶查找和理解數(shù)據(jù)倉庫中的數(shù)據(jù)。
其中數(shù)據(jù)的呈現(xiàn)由不同產(chǎn)品完成不同層次的分析要求。其中,Approach可進行查詢和統(tǒng)計分析,IntelligentDecisionServ С侄轡治觶琁ntelligentMiner用于數(shù)據(jù)挖掘。用戶也可選擇自己喜愛的第三方產(chǎn)品,這些第三方廠商包括:Andyne、Brio、BusinessObjects、Cognus、InformationAdvantage。
整個數(shù)據(jù)倉庫的管理工作可交給VisualWarehouse,ADSM是大型磁盤陣列管理的得力助手,DB2ECCforTME10可從一點集中管理各種關(guān)系型數(shù)據(jù)(DB2、Oracle、Sybase、Informix)。
以上各個階段的結(jié)構(gòu)都是按照IBMInformationWarehouse和IBMOpen-Blueprint的架構(gòu)統(tǒng)一設(shè)計的,因此相互之間結(jié)合得既緊密又非常開放,只要符合標(biāo)準的軟件就可結(jié)合在一起。
最后,為了幫助用戶快速實施,IBM可由IBMGlobalServices或IBMGlobal-Solution提供可靠的咨詢服務(wù)。這些服務(wù)也可從廣泛的第三方獲得。因此,在此架構(gòu)下,IBM提供給用戶的是一個完整的、靈活的、開放的解決方案。
IBMVisualWarehouse是IBM數(shù)據(jù)倉庫解決方案的重要組成部分,它主要由以下幾部分功能組成:數(shù)據(jù)訪問;數(shù)據(jù)轉(zhuǎn)換;數(shù)據(jù)分布;數(shù)據(jù)存儲;靠元數(shù)據(jù)查找和理解數(shù)據(jù);顯示、分析和發(fā)掘數(shù)據(jù);數(shù)據(jù)轉(zhuǎn)換過程的自動化及其管理。它縮短了復(fù)雜的海量數(shù)據(jù)與有洞察力的商務(wù)決策之間的差距,有助于公司更進一步了解其業(yè)務(wù)、市場、競爭對手和客戶。
IBM的VisualWarehouse的數(shù)據(jù)源可以是DB2家庭中的任一數(shù)據(jù)庫,也可以是Oracle、Sybase、Informix、SQLServer數(shù)據(jù)庫和IMS、VSAM文件系統(tǒng);存放數(shù)據(jù)倉庫的數(shù)據(jù)庫可以是DB2UDBforWindowsNT,OS/2,AIX/600,HP?UX,SunSolaris,SCO,SINIX和DB2/400,DB2forOS/390;VisualWarehouse的管理平臺為WindowsNT和OS/2;而且以上適用的平臺仍在不斷地擴展。下面,我們將從幾個用戶關(guān)心的方面來分析一下VisualWarehouse。
(1)元數(shù)據(jù)的存儲(MetaData)
VisualWarehouse建立在集成的元數(shù)據(jù)的倉庫之上,該元數(shù)據(jù)的倉庫提供了一個所有管理和操作功能的中心。數(shù)據(jù)倉庫的模型以元數(shù)據(jù)的形式存儲于該倉庫中,它定義了數(shù)據(jù)倉庫的結(jié)構(gòu)和內(nèi)容,用于對數(shù)據(jù)源進行抽取、過濾、轉(zhuǎn)換、映射后放入數(shù)據(jù)倉庫。這種元數(shù)據(jù)是以商業(yè)視圖被定義的,而且商業(yè)視圖可以在多個數(shù)據(jù)倉庫間輸入和輸出,大大方便了具有相同結(jié)構(gòu)數(shù)據(jù)倉庫的建造。
(2)數(shù)據(jù)倉庫的規(guī)?;瘮U展
VisualWarehouse很易于擴展,單個數(shù)據(jù)倉庫可支持非常大量的數(shù)據(jù),也可靠簡單地增加內(nèi)存、處理器升級和存儲設(shè)備擴容來支持更多的升級和用戶,訪問更多數(shù)據(jù)源。另外,我們還可以不同的主題同時實施多個部門級數(shù)據(jù)倉庫,最后再把它們整合到一起形成企業(yè)級的數(shù)據(jù)倉庫。
(3)開放的系統(tǒng)環(huán)境
VisualWarehouse提供了一個真正開往的系統(tǒng)環(huán)境,它不僅提供了數(shù)據(jù)倉庫的所有功能和組件,而且可以“即插即用”的方式與用戶喜歡的第三方軟件組合,以最少的費用快速開發(fā)出用戶所需的數(shù)據(jù)倉庫。
(4)規(guī)模化的體系結(jié)構(gòu)
VisualWarehouse提供了完整的分布式客戶機/服務(wù)器環(huán)境,它使得用戶可充分享受到“網(wǎng)絡(luò)計算”帶來的便利,而且適用于多種平臺。它包括四個組件:管理員、控制數(shù)據(jù)庫、客戶端管理員、代理。這些組件既可分布于幾個不同的服務(wù)器,也可都安裝在同一服務(wù)器上。
(5)VisualWarehouse的管理
VisualWarehouse的管理是由其客戶端管理員實現(xiàn)的,它的管理得以集中于 isualWarehouse中的觸發(fā)器、用戶自定義程序,元數(shù)據(jù)等。
(6)高效裝入
除了WindowsNT,VisualWarehouse的代理(Agent)現(xiàn)在可以運行于AIX和OS/2,這就帶來了針對位于這些平臺上數(shù)據(jù)中心的裝入性能的改善,因為數(shù)據(jù)無需再通過WindowsNT上的代理。另外,除了現(xiàn)有的基于SQL的目標(biāo)裝載,VisualWarehouse現(xiàn)在還提供用于文件傳輸和裝載過程管理的程序。
(7)處理OLAP
VisualWarehouse支持DB2OLAPServer上一種或多種星型圖表的全部映射或裝載。另外VisualWarehouse現(xiàn)在也支持指定和創(chuàng)建DB2OLAPServer以外生成的星型圖表初始化或引入關(guān)鍵碼。
(8)高端可升級性選項
現(xiàn)在,VisualWarehouse對抽取和轉(zhuǎn)變程序具有更完善的支持。VisualWarehouse利用這種支持給IBM的戰(zhàn)略基礎(chǔ)伙伴提供數(shù)據(jù)加工后的管理:ARBOR軟件公司和ETI。
(9)商務(wù)視圖建模改善
VisualWarehouse圖形查詢編制器得以擴展,目前除了支持常用的SQL語句還支持JOIN和GROUPBY語句,簡化了復(fù)雜的SQL聲明。
VisualWarehouse基于久經(jīng)考驗的獨創(chuàng)技術(shù),可以支持復(fù)雜業(yè)務(wù)分析過程的每一步驟,同現(xiàn)有應(yīng)用程序環(huán)境集成,轉(zhuǎn)換數(shù)據(jù),自動執(zhí)行數(shù)據(jù)倉庫處理,分析數(shù)據(jù),并為決策人員提供信息。VisualWarehouse是一種簡單易用、經(jīng)濟有效的數(shù)據(jù)中心和數(shù)據(jù)倉庫產(chǎn)品,可以處理部門中設(shè)計、實現(xiàn)和應(yīng)用方案時的相應(yīng)任務(wù)。其較低的維護成本和迅速的實現(xiàn)過程將使工作組迅速提高工作效率。
VisualWarehouse提供了完整的Web支持功能,允許從任何Web瀏覽器訪問任何數(shù)據(jù)。因為VisualWarehouse的信息目錄完全支持Web,用戶可以訪問可用數(shù)據(jù)的詳細信息,包括格式、通用性、擁有者和位置。
IBM的VisualWarehouse提供了強有力的工具以定義、建立、管理、監(jiān)控和維護一個商用信息系統(tǒng)環(huán)境??數(shù)據(jù)倉庫。但是,IBM并不滿足于此。為了更好地滿足用戶的需求,IBM設(shè)計了一個完整的解決方案。IBM將Dataguide和VisualWarehouse集成在一起并與Lotus、Approach和相應(yīng)平臺上的DB2UDB打包在一起,作為一個完整的解決方案提供給用戶。其中,Dataguide靠商用信息分類表支持商業(yè)需求,幫助用戶查找和理解數(shù)據(jù)倉庫中的商用信息。Lotus、Approach可幫助用戶分析信息并把它以圖表的方式表示出來。
IBM的VisualWarehouse系列軟件包用于幫助企業(yè)迅速建立、管理和分析數(shù)據(jù)倉庫和數(shù)據(jù)中心。VisualWarehouse系列包括VisualWarehouse、VisualWarehouseOLAP(聯(lián)機分析處理)、IBM及其貿(mào)易伙伴提供的補充產(chǎn)品。VisualWarehouse系列已得到擴展,通過與EvolutionaryTechnologiesInternational(ETI)和ValityTechnology的產(chǎn)品相結(jié)合,可以滿足復(fù)雜的數(shù)據(jù)提煉、純化和轉(zhuǎn)換需求。VisualWarehouse的Cognos和BusinessObjects版本也已經(jīng)分別集成于相應(yīng)公司的前端工具之中。這些版本提供了完整的業(yè)務(wù)智能解決方案,包括從數(shù)據(jù)訪問、分析到應(yīng)用。
VisualWarehouse產(chǎn)品系列集成了數(shù)據(jù)倉庫功能,單一軟件包中的集成化工具可以簡化數(shù)據(jù)倉庫和決策支持的整個過程。它提供了迅速建立小型企業(yè)或工作組數(shù)據(jù)倉庫并投入運行所需的一切。
現(xiàn)在,越來越多的用戶受益于VisualWarehouse,例如:INGRAM公司依靠IBM可視數(shù)據(jù)倉庫將原始數(shù)據(jù)轉(zhuǎn)變?yōu)橛袃r值的商用信息;RYDERSYSTEM、VOLTINFORMATIONSCIENCES和INTENTIA這三個可代表數(shù)據(jù)倉庫客戶群的系統(tǒng)集成商得出了一致結(jié)論:IBM的可視數(shù)據(jù)倉庫是一個強有力的、經(jīng)濟的、易于安裝和實施的數(shù)據(jù)倉庫。它提供支持商業(yè)決策的、一致的和固有的數(shù)據(jù)。另外,國內(nèi)用戶也在不斷增長,例如:上海莊臣有限公司等。
OLAP在IBM的商務(wù)智能中扮演著重要角色,IBM為此提供一個分析工具——DB2OLAPServer,深入最終用戶的業(yè)務(wù),對桌面上的數(shù)據(jù)進行實時操作。DB2OLAPServer是一套獨特的商務(wù)工具,能夠快速地分布傳統(tǒng)監(jiān)視和報告范圍之外的應(yīng)用程序數(shù)據(jù)。
IBMDB2OLAPServer是一種功能強大的工具,結(jié)合了業(yè)界領(lǐng)先的ARBORESSBASEOLAP功能以及DB2的可靠性、可管理性和訪問能力。ARBORESSBASE是OLAP市場領(lǐng)先的廠商。同其它OLAPAPI相比,有更多的前端工具和應(yīng)用程序利用了ESSBASEAPI,使其? 事實上的業(yè)界標(biāo)準。由于DB2OLAPServer包含了完整的ARBORESSBASEOLAP引擎,所有支持ESSBASE的應(yīng)用程序都可以同DB2OLAPServer協(xié)作,而不必加以修改。同大多數(shù)基于SQL的應(yīng)用程序結(jié)合時,DB2OLAPServer和VisualWarehouse將為前端用戶提供更多的前端工具和業(yè)務(wù)智能應(yīng)用程序選擇余地的優(yōu)勢,如今用戶可以享受更多種OLAP應(yīng)用程序的優(yōu)勢,如通過ARBOR的OLAP引擎集成預(yù)算功能,充分利用在相關(guān)技術(shù)上的投資,管理基本設(shè)施和DB2的數(shù)據(jù)。
通過集成IBM的VisualWarehouse和DB2OLAPServer(稱之為VisualWarehouseOLAP版本),這套解決方案將具有三方面的重要價值:
(1)完全、自動地把OLAP集成到數(shù)據(jù)倉庫,數(shù)據(jù)抽取和生成自動地由規(guī)則和數(shù)據(jù)源支持,直接進入DB2OLAPServer的立方體
(2)OLAP描述數(shù)據(jù)外部化
(3)一個中間數(shù)據(jù)存儲庫
DB2OLAPServer和ESSBASE產(chǎn)品最突出的方面在于它特別的分析能力和簡便的分布。OLAP系統(tǒng)更傾向于把勞動集中于獲得和清除數(shù)據(jù),使用VisualWarehouseOLAP版本能夠自動地創(chuàng)建和維護多維數(shù)據(jù)庫,大量減少手工維護并確保數(shù)據(jù)穩(wěn)定。
利用VisualWarehouseOLAP版本還有一項附加收益,就是在可視化數(shù)據(jù)倉庫上創(chuàng)建了一個中間信息倉庫。這個中間數(shù)據(jù)倉庫包含干凈、抽取的數(shù)據(jù)。用來在OLAP系統(tǒng)上裝載多維數(shù)據(jù)。一旦OLAP系統(tǒng)裝載并上線,或者作為干凈數(shù)據(jù)源來進行OLAP以外的分析比如查詢客房地址等,這些中間數(shù)據(jù)就可以廢棄。
VisualWarehouseOLAP版對于分析業(yè)務(wù)需求來說是一套很好的商務(wù)智能解決方案,它利用自動維護倉庫工具提供了強大的分析型數(shù)據(jù)的分析能力。
當(dāng)用戶的數(shù)據(jù)積累到一定數(shù)量時,這些數(shù)據(jù)的某些潛在聯(lián)系、分類、推導(dǎo)結(jié)果和待發(fā)現(xiàn)價值隱藏在其中,我們可以使用數(shù)據(jù)發(fā)掘工具幫助發(fā)現(xiàn)這些有價值的數(shù)據(jù),IBM在這方面的工具就是IntelligentMiner。IBMIntelligentMiner被選為業(yè)界最佳數(shù)據(jù)采集工具,贏得了DM讀者獎。除了數(shù)據(jù)倉庫和數(shù)據(jù)挖掘解決方案,IBM還在此基礎(chǔ)上開發(fā)了一系列行業(yè)解決方案及應(yīng)用程序。
1.IBM數(shù)據(jù)挖掘工具
IntelligentMiner通過其世界領(lǐng)先的獨有技術(shù),例如典型數(shù)據(jù)集自動生成、關(guān)聯(lián)發(fā)現(xiàn)、序列規(guī)律發(fā)現(xiàn)、概念性分類和可視化呈現(xiàn),它可以自動實現(xiàn)數(shù)據(jù)選擇、數(shù)據(jù)轉(zhuǎn)換、數(shù)據(jù)發(fā)掘和結(jié)果呈現(xiàn)這一整套數(shù)據(jù)挖掘操作。若有必要,對結(jié)果數(shù)據(jù)集還可以重復(fù)這一過程,直至得到滿意結(jié)果為止。
現(xiàn)在,IBM的IntelligentMiner已形成系列,它幫助用戶從企業(yè)數(shù)據(jù)資產(chǎn)中識別和提煉有價值的信息。它包括分析軟件工具IntelligentMinerforData和IBMIntelligentMinerForText,幫助企業(yè)選取以前未知的、有效的、可行的業(yè)務(wù)知識,如客戶購買行為,隱藏的關(guān)系和新的趨勢,數(shù)據(jù)來源可以是大型數(shù)據(jù)庫和企業(yè)內(nèi)部或Internet上的文本數(shù)據(jù)源。然后公司可以應(yīng)用這些信息進行更好、更準確的決策,獲得競爭優(yōu)勢。
(1)IntelligentMinerforData
IntelligentMinerforData可以包含傳統(tǒng)文件、數(shù)據(jù)庫、數(shù)據(jù)倉庫和數(shù)據(jù)中心中的隱含信息。這一產(chǎn)品的最新版本擁有改進的用戶界面,增強了并行性,提供新的平臺支持、統(tǒng)計功能、一種新的中樞凈價值預(yù)測技術(shù)以及優(yōu)化的算法。
IntelligentMinerforData幫助用戶充分利用傳統(tǒng)數(shù)據(jù)庫或普通文件中的結(jié)構(gòu)化數(shù)據(jù)。其采集算法已成功應(yīng)用于客戶及貿(mào)易伙伴之中,滿足市場分析、詐騙行為監(jiān)測、客戶聯(lián)系管理等業(yè)務(wù)領(lǐng)域的需求。系統(tǒng)支持的服務(wù)器平臺包括AIX和AIX/SP、OS/390、SUNSolaris、OS/400和WindowsNT,此外還將全面推出OS/2客戶機版本。
(2)InteligentMinerforText
IBM還擴展了采集解決方案的范圍,包含了文本數(shù)據(jù)源。IntelligentMinerforText允許企業(yè)從文本信息中獲取有價值的客戶信息。文本數(shù)據(jù)源可以是Web頁面、在線服務(wù)、傳真、電子郵件、LotusNotes數(shù)據(jù)庫、協(xié)定和專利庫。
IntelligentMinerforText擴展了IBM的數(shù)據(jù)采集功能,可以從文本文檔和數(shù)據(jù)源獲取信息。數(shù)據(jù)源可以包括客戶反饋、在線新聞服務(wù)、電子郵件和Web頁面。其功能包括識別文檔語言,建立?、用語或其它詞匯的詞典,提取文本的涵義,將類似的文檔分組,并根據(jù)內(nèi)容將文檔歸類。新版本中還包括一個全功能的先進文本搜索功能。系統(tǒng)支持的服務(wù)器平臺包括AIX和WindowsNT、OS/390和SUNSolaris。
IBMIntelligentMiner系列可以充分發(fā)揮您尋找相關(guān)信息的潛力,并幫助您花費最少的時間來搜索和瀏覽結(jié)果信息。此外,文本采集技術(shù)還可以適用于多種需要查看或研究文檔的用戶,如專利代理人、企業(yè)圖書管理員、公共關(guān)系人員、研究人員和學(xué)生。
2.行業(yè)解決方案
通過利用以上介紹的IBM數(shù)據(jù)倉庫和數(shù)據(jù)挖掘技術(shù),IBM為客戶開發(fā)了一系列行業(yè)解決方案及應(yīng)用程序,主要有以下幾種:
(1)DecisionEdgeforFinance——專門為金融行業(yè)設(shè)計的綜合解決方案。DecisionEdgeforFinance不僅僅是簡單的報告工具,它提供了行銷經(jīng)理所需的全部技術(shù),以制定戰(zhàn)略業(yè)務(wù)決策并開展行銷活動。
(2)DecisionEdgeforInsurance——端到端的解決方案,包括硬件、軟件、顧問和服務(wù),其設(shè)計目的是幫助保險業(yè)行銷經(jīng)理制定戰(zhàn)略業(yè)務(wù)決策并開展行銷活動。
(3)IBMDiscoverySeriesforBanking——為滿足“客戶至上”的銀行業(yè)需求而設(shè)計的應(yīng)用程序套件。
(4)IBMDiscoveryfortelecommunications——為電信行業(yè)提供完美的客戶服務(wù)的應(yīng)用程序套件。
(5)BusinessAnalysisSuiteforSAP——適用于下列公司:已經(jīng)安裝SAP事務(wù)處理系統(tǒng),并需要建立數(shù)據(jù)倉庫,以充分利用日常運作中收集的所有事務(wù)數(shù)據(jù)。
(6)Surf-Aid——數(shù)據(jù)采集應(yīng)用程序,用于分析Web站點利用率。
(7)InfoPrintBusinessIntelligenceSolution——允許企業(yè)將自定義消息、姓名及地址同圖形和條形碼相結(jié)合,向客戶提供有獨特個性的行銷資料。
(8)GlobalServicesBIOffering——包含不同角度(行業(yè)、業(yè)務(wù)功能、技術(shù))的戰(zhàn)略和規(guī)劃功能,以及幫助客戶理解和解決業(yè)務(wù)困難、管理數(shù)據(jù)倉庫項目、開發(fā)和實現(xiàn)先進分析功能的方法。
(9)InsuranceUnderwritingProfitabilityAnalysis-將數(shù)據(jù)倉庫和數(shù)據(jù)采集技術(shù)相結(jié)合,幫助保險業(yè)執(zhí)行人員處理保險業(yè)過程。
第四篇:java 工作流
Willow 由Huihoo Power開發(fā)詳細可到其中文主頁查看。
更多Willow信息
OpenWFE OpenWFE是一個開放源碼的Java工作流引擎。它是一個完整的業(yè)務(wù)處理管理套件:一個引擎,一個工作列表,一個Web界面和一個反應(yīng)器(存放自動代理)。它可以可以跟你的程序很好的給合。
更多OpenWFE信息
jBpm jBpm是一個靈活可擴展的工作流管理系統(tǒng)。作為 jBpm運行時server輸入的業(yè)務(wù)流程使用簡單強大的語言表達并打包在流程檔案中。jBmp將工作流應(yīng)用開發(fā)的便利性和杰出的企業(yè)應(yīng)用集成(EAI)能力結(jié)合了起來。jBmp包括一個Web應(yīng)用程序和一個日程安排程序。jBmp是一組J2SE組件,可以作為J2EE應(yīng)用集群部署。
更多jBpm信息
OpenEbXML OpenebXML項目致力于提供一個ebXML框架,主要支持不久將由 UN/CEFACT和OASIS發(fā)布的ebXML規(guī)范2.0版。
更多OpenEbXML信息
Werkflow Werkflow是一個靈活可擴展的基于流程和狀態(tài)的工作流引擎。它的目標(biāo)是滿足可以想象的所有工作流程,從企業(yè)級的業(yè)務(wù)流程到小范圍的用戶交互流程。通過使用可插拔和分層結(jié)構(gòu),可以方便地容納各種工作流語義。
更多Werkflow信息
OSWorkflow OSWorkflow是一個靈活的工作流引擎,設(shè)計成可嵌入到企業(yè)應(yīng)用程序中。它提供了許多的持久化API支持包括:EJB,Hibernate,JDBC和其它。OSWorkflow還可以與Spring集成。
更多OSWorkflow信息
wfmOpen WfMOpen是WfMC和OMG中所謂工作流設(shè)施(workflow facility)(工作流引擎)的J2EE實現(xiàn)。工作流通過擴展的XPDL描述。
更多wfmOpen信息
OFBiz OFBiz是一個非常著名的開源項目,提供了創(chuàng)建基于最新J2EE/XML規(guī)范和技術(shù)標(biāo)準,構(gòu)建大中型企業(yè)級、跨平臺、跨數(shù)據(jù)庫、跨應(yīng)用服務(wù)器的多層、分布式電子商務(wù)類WEB應(yīng)用系統(tǒng)的框架。OFBiz最主要的特點是OFBiz提供了一整套的開發(fā)基于Java的web應(yīng)用程序的組件和工具。包括實體引擎, 服務(wù)引擎, 消息引擎, 工作流引擎, 規(guī)則引擎等。更多OFBiz信息
ObjectWeb Bonita Bonita 是一個符合WfMC規(guī)范、靈活的協(xié)同工作流系統(tǒng)。對于各種動作如流程概念建模、定義、實例化、流程控制和用戶交互等提供了全面的集成圖形工具。100% 基于瀏覽器、使用SOAP和XML數(shù)據(jù)綁定技術(shù)的Web Services封裝了已有的工作流業(yè)務(wù)方法并將它們以基于J2EE的Web Service形式發(fā)布?;诨顒宇A(yù)測模型的第三代工作流引擎。更多ObjectWeb Bonita信息
Bigbross Bossa 速度非常快、輕量級的引擎,使用富有表達能力的Petri網(wǎng)定義工作流,不要求關(guān)系數(shù)據(jù)庫,使用簡單,能和Java應(yīng)用集成。事實上,它是按嵌入式設(shè)計的。更多Bigbross Bossa信息
XFlow XFlow運行于EJB和servlet容器中。
更多XFlow信息
Taverna Taverna項目的目標(biāo)是提供一種語言和軟件工具,方便在eScience中使用工作流和分布計算技術(shù)。
更多Taverna信息
Enhydra Shark Shark完全基于WfMC和OMG標(biāo)準,使用 XPDL作為工作流定義語言。流程和活動的存儲使用Enhydra DODS(一個開源OR映射工具)。
更多Enhydra Shark信息
PowerFolder PowerFolder是一個容易使用,容易安裝基于J2EE的工作流服務(wù)器,包括開發(fā)人員使用的基于web的studio。
更多PowerFolder信息
Open Business Engine Open Business Engine是一個開放源碼的Java工作流引擎,支持WfMC規(guī)范,包括接口1(XPDL)、接口2/3(WAPI)和接口5。OBE為活動的運行提供了一個可控的集中環(huán)境。OBE主要基于J2EE實現(xiàn)。
更多Open Business Engine信息
OpenWFE OpenWFE是一個開放源碼的Java工作流引擎。它包括可升級的三個組件:引擎、工作列表和Web界面。它的流程定義語言雖然使用XML格式,其靈感來源于 Scheme,一種Lisp方言。
更多OpenWFE信息
Freefluo Freefluo 是一個使用Web Service的工作流協(xié)同工具,可以處理WSDL的Web Service調(diào)用。支持兩種XML格式的工作流語言:IBM的WSFL和XScufl。Freefluo非常靈活,它的核心是不與任何工作流語言或執(zhí)行架構(gòu)關(guān)聯(lián)的可重用協(xié)同框架。Freefluo包括可執(zhí)行使用WSFL一個子集描述的工作流的運行庫。
更多Freefluo信息
Twiste Twister的目標(biāo)是提供新一代、易集成、應(yīng)用Java領(lǐng)域中最新成果、面向B2B的工作流解決方案。流程引擎基于BPEL業(yè)務(wù)流程規(guī)范和Web Service標(biāo)準。
更多Twiste信息
Con:cern con:cern工作流引擎基于擴展的案例(case)處理方法,流程由一組具有前后條件的活動組成。
更多Con:cern信息
JFlower JFlower是一個用Java開發(fā)的工作流引擎,可以通過Java插件來擴展。服務(wù)器可以
解析XML文檔來執(zhí)行任務(wù),檢查條件。會話數(shù)據(jù)保存在一個數(shù)據(jù)庫中,所以服務(wù)器是完全可伸縮的。
更多JFlower信息
JFolder JFolder(formerly PowerFolder)是一個工作流服務(wù)器和開發(fā)環(huán)境,它可以配置在任何J2EE服務(wù)器與數(shù)據(jù)庫。
更多JFolder信息
JAWE 基于Java的圖形化工作流編輯器。圖形化工作流編輯器。使用JAVA語言開發(fā),開放源碼。嚴格遵循WFMC規(guī)范。XPDL(XML Process Definition Language)WFMC的 XML 過程描述語言。工作流定義文件保存在本地的XML文件中
更多JAWE信息
Zebra Zebra是一個工作流引擎。原先的設(shè)計是為了填補商業(yè)開源工作流引擎的空白。它有一些不同于其它工作流系統(tǒng)的特點:
*所有工作流模型都可以在workflow patterns中描述
*一個易于使用的GUI designer
*一個持久層中間件
*OO設(shè)計
*一個基于Turbine的Web應(yīng)用程序
更多Zebra信息
ActiveBPEL ActiveBPEL引擎是一個健壯的運行時環(huán)境,它能執(zhí)行依據(jù)BPEL4WS或just BPEL1.1與WS-BPEL2.0規(guī)范編寫的業(yè)務(wù)流程。
更多ActiveBPEL信息
YAWL YAWL(Yet Another Workflow Language)一個開源工作流語言/處理系統(tǒng).它基于現(xiàn)有的工作流處理系統(tǒng)與工作流語言的一個精確分析.不像傳統(tǒng)的系統(tǒng),它提供對大部分工作流模式的直接支持.YAWL支持控制流透視圖,數(shù)據(jù)透視圖并且能與WSDL標(biāo)準的web服務(wù)相結(jié)合.更多YAWL信息
MOBE MidOffice BPEL Editor(MOBE)是一個開源平臺能夠讓執(zhí)行,監(jiān)控,調(diào)整,結(jié)束每個定義的過程和諧地結(jié)合起來.這個平臺的實現(xiàn)使用到J2EE技術(shù)與公共的標(biāo)準如:BPEL,XML與SOAP.更多MOBE信息
RUNA WFE RUNA WFE是一個基于JBOSS-JBPM引擎的開源工作流工作平臺它是一個跨平臺適用于商業(yè)流程處理的最終用戶解決方案,很容易與所有SQL數(shù)據(jù)庫管理系統(tǒng)相結(jié)合.更多RUNA WFE信息
micro-workflow micro-workflow框架適用于那些要在他們程序中分離控制與邏輯方面的開發(fā)者,所以這個框架可以使他們的流程相互獨立。這樣有利于代碼重復(fù)使用與代碼的完整性。更多micro-workflow信息
bexee bexee是一個BPEL執(zhí)行引擎并且是BPEL標(biāo)準的一個開源實現(xiàn).更多bexee信息
PXE PXE-Process eXecution Engine是一個模塊化的商業(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)準。本文針對工作流及其參考模型作簡單的介紹。
首先,先了解一下工作流的相關(guān)定義。
一、工作流相關(guān)定義
定義1 工作流(Workflow):工作流的概念定義很多,其中被廣泛引用的是工作流管理聯(lián)盟關(guān)于工作流的定義,該組織為工作流管理系統(tǒng)的相關(guān)術(shù)語、體系結(jié)構(gòu)及應(yīng)用編程接口等方而制定了一系列的業(yè)界標(biāo)準。工作流管理聯(lián)盟給出的工作流定義是:全部或者部分,由計算機支持或自動處理的業(yè)務(wù)過程,它已根據(jù)一系列過程規(guī)則、文檔、信息或任務(wù)能夠在不同的執(zhí)行者之間進行傳遞與執(zhí)行。工作流是指整個或部分經(jīng)營過程在計算機支持下的全自動化或半自動化。工作流是企業(yè)中各種流的載體,它帶動了信息流、物料流、資金流的流動,并決定了它們的流速和流量。通過工作流,考察信息、物料、資金等隨過程的變化情況,從而可以方便地對一些關(guān)鍵指標(biāo)進行跟蹤和計算。其文
檔、信息或任務(wù)可以遵循一組程序上的規(guī)則從一個參與者傳送到另一個參與者。
定義2 工作流管理:工作流管理(Workflow Management, WFM)是人與計算機共同工作的自動化協(xié)調(diào)、控制和通訊,在計算機化的業(yè)務(wù)過程上,通過在網(wǎng)絡(luò)上運行軟件,使所有命令的執(zhí)行都處于受控狀態(tài)。在工作流管理下,工作量可以被監(jiān)督,分派工作到不同的用戶達成平衡。
定義3 工作流管理系統(tǒng)(WFMS—Workflow Management System):工作流管理系統(tǒng)是這樣的一個系統(tǒng),詳細定義、管理并執(zhí)行工作流,系統(tǒng)通過運行一些軟件來執(zhí)行工作流,它運行在一個或多個工作流引擎上,這些引擎解釋對過程的定義,與工作流的參與者(包括人或軟件)相互作用,并根據(jù)需要調(diào)用其他的軟件工具或應(yīng)用。這些軟件的執(zhí)行順序由工作流邏輯的計算機表示形式(計算機化的業(yè)務(wù)規(guī)則——過程定義)驅(qū)動。總體來說,實際企業(yè)中運作的工作流管理系統(tǒng),是一個人與計算機結(jié)合的系統(tǒng)。
它的基本功能體現(xiàn)在幾個方面:
? 定義工作流,包括具體的活動、規(guī)則等。
? 遵循定義創(chuàng)建和運行實際的工作流。
? 監(jiān)察、控制、管理運行中的業(yè)務(wù),例如任務(wù)、工作量與進度的檢察等。
定義4工作流機:為工作流實例提供運行時期的執(zhí)行環(huán)境的軟件服務(wù)器或引擎。工作流機能處理:
? 解釋過程定義
? 控制過程實例—創(chuàng)建、激活、掛起、終止等
? 為過程的活動導(dǎo)航,可能要包含順序或者平行的操作、最后時間期限、對工作流相關(guān)數(shù)據(jù)進行解釋
? 參與者簽名和退出
? 確定任務(wù)項目,實現(xiàn)用戶意圖;提供接口,支持用戶交互
? 維護工作流控制數(shù)據(jù)和工作流相關(guān)數(shù)據(jù),在應(yīng)用程序間或者用戶間傳遞工作流相關(guān)數(shù)據(jù)
? 提供調(diào)用外部程序的接口,連接所有工作流相關(guān)數(shù)據(jù)
? 提供控制、管理和審查功能
工作流機可以控制過程集、子過程、或通過對象類型的范圍、及其屬性定義好運行范圍的實例。在一個由多個工作流機構(gòu)成的工作流執(zhí)行服務(wù)器中,要把過程進行劃分,分配給工作流機??梢园凑者^程類型來劃分,某個工作流機負責(zé)控制相應(yīng)類型過程;按照功能進行劃分,某個工作流機負責(zé)控制過程的一些部分,這些部分所需要的用戶或者資源,都在此工作流機的控制范圍內(nèi)。也可以按照其他的一些機制來劃分。
定義5 業(yè)務(wù)過程(business process):就是活動的集合,這些活動均關(guān)聯(lián)于特定的托付事項(commitment),為過程的產(chǎn)出增值。相對于“工作流”,業(yè)務(wù)過程是一個更一般化的統(tǒng)稱,而工作流這個詞,則已經(jīng)不能僅從字面含義或原理上去理解,它已經(jīng)被賦予了更深一層的特定含義——專指基于信息技術(shù)規(guī)劃、運作、管理的業(yè)務(wù)過程。
定義6 自動與協(xié)調(diào):“自動”(automate)是工作流的一個特征,但這主要是指它自動進行的特征,而不是說沒有人的參與。工作流實際上是一個人與計算機協(xié)調(diào)的混合過程,在一個實際的工作流中,通??傆行┎襟E是人完成的。協(xié)調(diào)是工作流管理的一個目標(biāo)或者特征,這包括了人與人、人與計算機,計算機軟件之間等多種層面的含義。
定義7 監(jiān)察與控制:監(jiān)察(Monitoring)與控制(Contorl)是工作流系統(tǒng)的重要功能與特征。這不僅包括對正在發(fā)生的業(yè)務(wù)過程(工作流),還包括它的定義或改
變(比如BPR的過程)。這是工作流系統(tǒng)帶給我們的明顯好處之一。定義8 標(biāo)準化:工作流的概念被明確提出并得到重視的同時,人們就認識到了“標(biāo)準化”在其中的重要性,有關(guān)工作流的標(biāo)準開發(fā)和推廣,基本是與“工作流”的開發(fā)和推廣同步進行的。在這方面目前的權(quán)威性機構(gòu),是“工作流管理聯(lián)盟”(Workflow Management Coalition, WfMC)。它成立于1993年8月,目前已擁有 130 余個成員,成員包括工作流產(chǎn)品的供應(yīng)者、應(yīng)用者,有關(guān)大學(xué)和研究機構(gòu)和個人,是一個國際性的非贏利組織。定義9 工作流與重規(guī)劃:從邏輯上,對工作流的關(guān)注和研究可以看作是對業(yè)務(wù)過程重規(guī)劃(BPR)的一種深化。BPR的觀點,要求我們將眼光投向?qū)嶋H業(yè)務(wù)進行的過程,但這個過程應(yīng)當(dāng)是什么樣的,怎樣分析、構(gòu)造?工作流就是一個具體的、操作性的答案,它可以令我們從神秘的、難以預(yù)測和控制的“頭腦風(fēng)暴式”的“藝術(shù)的”業(yè)務(wù)過程創(chuàng)造,變成解析的、技術(shù)的、可控制和預(yù)測的工程化過程,如此,才真正體現(xiàn)出
re-engineering 中 engineering 的意義。
工作流與 BPR 的概念,已經(jīng)被幾乎所有的研究者聯(lián)系在一起研究和應(yīng)用。在這個領(lǐng)域有一個非常活躍的組織,即國際工作流與重規(guī)劃協(xié)會(Workflow And
Reengineering International Association, WARIA)。
工作流管理系統(tǒng)是一個真正的“人—機”系統(tǒng),用戶是系統(tǒng)中的基本角色,是直接的任務(wù)分派對象,他或她可以直接看到計算機針對自己列出的“任務(wù)清單”,跟蹤每一項任務(wù)的狀態(tài),或繼續(xù)一項任務(wù),而不必從一個模塊退出,進入另一個模塊,搜索相應(yīng)任務(wù)的線索。前者是面向功能或?qū)ο蟮?,而后者是直接面向用戶的。這樣,用戶的任務(wù)
分派和任務(wù)的完成狀態(tài),可以被最大程度地計算機化和受到控制。
現(xiàn)在的典型工作流產(chǎn)品是客戶—服務(wù)軟件。而日益增長的重要途徑是通過萬維網(wǎng)界面,它可以令客戶或遠程的職員更好地參與。工作流的定義經(jīng)常是借助于圖形化
工具,依照業(yè)務(wù)過程實例的情況定義相應(yīng)工作的安排。
二、目標(biāo)領(lǐng)域
使用工作流管理系統(tǒng)的目的之一是作為企業(yè)應(yīng)用系統(tǒng)集成(EAI)的平臺。在當(dāng)前大部分企業(yè)級IT架構(gòu)中,各種各樣的異構(gòu)(heterogeneous)應(yīng)用和數(shù)據(jù)庫運行在企業(yè)內(nèi)網(wǎng)中。在這些系統(tǒng)被應(yīng)用到組織時,都有一個清晰的目標(biāo)。例如,客戶管理、文檔管理、供應(yīng)鏈、訂單、支付、資源計劃等等。讓我們稱這些系統(tǒng)為專門應(yīng)用(dedicated applications)。每一個專門應(yīng)用都包含它們所支持業(yè)務(wù)流程的領(lǐng)域知識。這些專門應(yīng)用中的自動化流程,被拼裝到企業(yè)中更大的非自動化流程中。每當(dāng)一個這樣的專門應(yīng)用安裝并投入使用,都會帶來涉及其他多個應(yīng)用的新功能需求。企業(yè)應(yīng)用系統(tǒng)集成(EAI)就是通過使用多個專門應(yīng)用滿足軟件新需求的方法。有時,這只需要在兩個應(yīng)用之間提供數(shù)據(jù)通訊的通道。專門應(yīng)用將很多業(yè)務(wù)流程硬編碼在軟件中??梢赃@么說,在你購買專門應(yīng)用時,你是購買了一組固定的自動化業(yè)務(wù)流程。而工作流管理系統(tǒng)是不必事先知道問題域的相關(guān)信息的。工作流系統(tǒng)將業(yè)務(wù)流程描述作為輸入并管理流程實例的執(zhí)行,這使得它比專門應(yīng)用更靈活(當(dāng)然你也要花精力編寫業(yè)務(wù)流程的規(guī)格化描述)。這就是為什么說工作流系統(tǒng)和專門系統(tǒng)是相互補充的。工作流系統(tǒng)可以用來管理全局的業(yè)務(wù)流程。如果專門應(yīng)用支持你所需要的業(yè)務(wù)流程,那么使用專門應(yīng)用。在此討論的工作流系統(tǒng)的第一種使用方式就是:結(jié)合所有的專門應(yīng)用,使用工作流系統(tǒng)構(gòu)建一個EAI平臺。
工作流系統(tǒng)能夠發(fā)揮很大價值的第二個使用方式是:協(xié)助涉及多人相關(guān)任務(wù)工作流軟件的開發(fā)。為了達到這個目的,大部分工作流系統(tǒng)都有一個方便的機制,來生成執(zhí)行任務(wù)的表單。對于專注于ISO 或者CMM認證的組織,采用這種方式使用工作流系統(tǒng)能夠顯著提高生產(chǎn)率。不用將過程用文字的形式寫在紙上,工作流系統(tǒng)使你通過
流程定義建模實現(xiàn)過程的自動化(如使用基于Web的應(yīng)用)。
工作流系統(tǒng)的第三種使用方式是:將工作流引擎嵌入到其他應(yīng)用中。在前面我們談到,專門應(yīng)用將指定問題域相關(guān)的業(yè)務(wù)流程固化在軟件中。開發(fā)專門應(yīng)用的公司也可以將工作流引擎嵌入到他們的軟件中。在這里,工作流引擎只是作為一個軟件組件,對于應(yīng)用的最終用戶是不可見的。將工作流引擎嵌入到應(yīng)用中的主要原因是為了重用
(不重復(fù)發(fā)明輪子)和應(yīng)用軟件的可維護性。
三、工作流參考模型
WfMC定義的工作流參考模型包括若干基本部件和5個基本接口(部件之間的箭頭表示部件之間的接口),如圖1所示。工作流執(zhí)行服務(wù)器周圍的接口是 WAPI(Workflow APIs),通過這些接口可以訪問工作流系統(tǒng)的服務(wù),這些接口還控制工作流控制軟件與其他系統(tǒng)組件間的交互。在5個接口中的許多功能,都是被2個或更多個接口同時擁有的,因此WAPI可以看作是統(tǒng)一的服務(wù)接口,可以交叉使用這5個接口來支持工作流管理功能,而不是單獨的使用其中某個接口。
首先,我們粗況的了解一下參考模型中的基本部件,然后再對這些基本部件進行簡單分析。
(1)過程定義:負責(zé)給出工作流程的定義,并以一定的數(shù)據(jù)格式提供給工作流引擎解釋。
(2)工作流執(zhí)行服務(wù):工作流管理系統(tǒng)的核心,提供了過程實例執(zhí)行的運行環(huán)境。工作流執(zhí)行服務(wù)借助于一個或多個工作流引擎,激活并解釋工作流流程定義,用來創(chuàng)建、管理、執(zhí)行工作流實例。并同外部的應(yīng)用程序進行交互,完成工作流過程實例的創(chuàng)建執(zhí)行與管理職能。
(3)管理和監(jiān)視工具:負責(zé)監(jiān)控工作流的執(zhí)行,對工作流管理系統(tǒng)中過程實例的狀態(tài)進行監(jiān)控與管理,如用戶管理、角色管理、審計管理、資源控制等。
(4)工作流客戶應(yīng)用:執(zhí)行者訪問工作流的界面,活動參與者通過這樣的應(yīng)用程序參加工作流活動,獲取自己的任務(wù)。
(5)工作流引擎:過程定義的解釋器,它是工作流執(zhí)行服務(wù)的核心。
(6)被調(diào)應(yīng)用程序:工作流執(zhí)行服務(wù)在過程實例的運行過程中,調(diào)用的、用以對應(yīng)用數(shù)據(jù)進行處理的程序。在過程定義中包含這種應(yīng)用程序的詳細信息如類型、地
址信息等。
(7)其他工作流執(zhí)行服務(wù):在大型的工作流管理系統(tǒng)中,工作流可能需要多個工作流引擎共同完成,甚至需要其他異質(zhì)的工作流執(zhí)行服務(wù)來輔助完成,這涉及到工
作流管理系統(tǒng)之間的互聯(lián)。
其中過程定義通常包括一些獨立的活動步驟,相關(guān)的計算機和用戶通過一系列的活動步驟操作或制定規(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(工作流機協(xié)作接口):工作流管理系統(tǒng)之間的互操作接口。
(5)接口5(管理和監(jiān)視接口):工作流服務(wù)和工作流管理工具之間的接口。
在實際的應(yīng)用中,很多商用和開源的工作流系統(tǒng)都沒有嚴格遵照這個標(biāo)準,或者說沒有統(tǒng)一。一個原因是WfMC的標(biāo)準對于很多細節(jié)沒有明確說明,在實現(xiàn)時各個系統(tǒng)出現(xiàn)了各自的實現(xiàn)。另一個原因是,工作流系統(tǒng)與業(yè)務(wù)系統(tǒng)關(guān)系密切,受業(yè)務(wù)系統(tǒng)的限制或約束太大,因此支持不同業(yè)務(wù)的工作流在細節(jié)上差異很大,標(biāo)準不易統(tǒng)一,做
一個通用的工作流系統(tǒng)難度比較大。
3.1過程定義
1過程定義工具(Process Definition Tools)
過程定義是用來創(chuàng)建一個計算機可以處理的形式的過程描述??赡芤孕问竭^程定義語言、對象關(guān)系模型、簡單的系統(tǒng)、腳本、或者在參與者間進行信息傳遞的路徑集為基礎(chǔ)。工作流定義工具,可能作為工作流產(chǎn)品的一部分、也可能作為業(yè)務(wù)過程分析產(chǎn)品的一部分來提供給用戶,作為業(yè)務(wù)過程分析產(chǎn)品一部分,會有其他的組件來負責(zé)處理業(yè)務(wù)過程的分析或者模型,這時,必須要有兼容的轉(zhuǎn)換格式,與運行時期的工作流軟件進行過程定義的相互轉(zhuǎn)換。有許多不同的工具可以用來分析、建模、描述業(yè)務(wù)過程;這樣的工具有很大的不同從非正式的(鉛筆和紙)到成熟的、十分專業(yè)。工作流模型不關(guān)心這些工具的特性,也不關(guān)心在過程建立時期他們是如何交互的。在以前指出過,這些工具可以作為工作流產(chǎn)品的一部分來提供,或者一個單獨的產(chǎn)品,例如BPR工具集。
有的工作流產(chǎn)品提供了其自己的過程定義工具,從而過程定義一般是保留在工作流產(chǎn)品范圍內(nèi)的,并且可能或者不能被讀/寫信息的編程接口所訪問。而使用單獨的過程定義和執(zhí)行服務(wù)器產(chǎn)品,過程定義能夠在不同的產(chǎn)品間進行轉(zhuǎn)換,并可以被其他產(chǎn)品訪問。
設(shè)計活動和最后的過程模型輸出,稱為過程定義。在運行時期過程定義可以被工作流機解釋。
過程分析工具、建模工具和定義工具,都要有在一個組織結(jié)構(gòu)中模擬過程的能力(盡管這不是工作流參考模型規(guī)定必須有的)。如果組織模型集成到了這些工具中,那么過程定義將包含組織相關(guān)對象。這些都是與系統(tǒng)相關(guān)的控制數(shù)據(jù),例如角色:活動者間的關(guān)系,可能會在過程執(zhí)行期間被引用。工作流定義轉(zhuǎn)換(接口 1)
在建?;蚨x工具與運行時期工作流管理軟件間的接口,被稱為過程定義導(dǎo)入/導(dǎo)出接口。這個接口的特點是:轉(zhuǎn)換格式和API調(diào)用,從而支持過程定義信息間的互相轉(zhuǎn)換。這個接口也支持已完成的過程定義間的互相轉(zhuǎn)換,或過程定義的一部分。例如,過程定義的改變或者活動中屬性的改變。
使用標(biāo)準的過程定義格式有很多好處:
首先,把建立階段與運行時期環(huán)境進行了分離,可以使用一個建模工具來產(chǎn)生過程定義,這個過程定義可以作為很多個不同工作流運行時期產(chǎn)品的輸入。從而用戶
可以單獨地選擇建模工具和工作流運行時期產(chǎn)品。
其次,可以為幾個工作流機輸出過程定義,這幾個工作流機合作來構(gòu)成分布式的工作流執(zhí)行服務(wù)器。
WFMC在此部分作了以下兩個方面的工作:
(1)提出了一個元模型,可以用來表示過程定義中的對象、對象間的關(guān)系和屬性。這個元模型為不同的產(chǎn)品間的過程定義相互轉(zhuǎn)換奠定了基礎(chǔ),并形成了一套轉(zhuǎn)換
格式。
(2)工作流系統(tǒng)間或工作流系統(tǒng)與過程定義產(chǎn)品間的API調(diào)用,提供了公共的方法來訪問工作流過程定義。訪問可能是讀、讀/寫或者只寫操作,并且操作標(biāo)準對
象集合(在元模型中定義的對象集合),或者產(chǎn)品自己的對象集合。
3基本元模型(A Basic Meta-Model)
WFMC開發(fā)了一個過程定義的元模型。元模型中定義了基本的對象類型集,來滿足簡單的過程定義相互轉(zhuǎn)換。或者有開發(fā)者具體擴展,或者在增加的功能中定義另
外的一致性級別來增加更多的對象類型。
需要為下邊的類型定義特殊的屬
性:
工作流類型定義(Workflow Type Definition)
? 工作流過程名
? 版本號
? 過程開始/結(jié)束條件
? 安全、審查、控制數(shù)據(jù)
活動(Activity)
? 活動名
? 活動類型
? 進入動作和離開動作
? 其他約束
轉(zhuǎn)移條件(Transition Conditions)
? 執(zhí)行條件
工作流相關(guān)數(shù)據(jù)(Workflow relevant data)
? 數(shù)據(jù)名與路徑
? 數(shù)據(jù)類型
角色(Role)
? 名稱與組織實體
? 應(yīng)用程序調(diào)用(Invoked Application)
? 類型和名稱
? 執(zhí)行參數(shù)
? 本地或者訪問路徑
在分布式工作流服務(wù)器中,可能要在過程定義時,為每個工作流機分配活動,可以作為活動的一個附加屬性。過程定義能影響安全性與管理。定義的交換格式,要支持符號命名方案,這些符號可以映射到工作流執(zhí)行服務(wù)器中的實際名稱與地址。這種映射可以使用動態(tài)地址定位機制來實現(xiàn)(例如,目錄服務(wù)器),也可以使用其他的外部過程定義機制實現(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)該提供命令操作表,和操作的對象、屬性,包括:
建立會話(Session Establishment)
? 連接/斷開參與系統(tǒng)間的會話
工作流定義操作(Workflow Definition Operationis)
? 從過程定義庫或者其他資源中,獲得工作流過程的名稱列表
? 選擇工作流過程定義,為更多的對象級操作提供會話句柄
? 讀/寫上層工作流過程定義對象
工作流定義對象操作(Workflow Definition Object Operations)
? 創(chuàng)建、恢復(fù)、刪除工作流定義中的對象
? 恢復(fù)、設(shè)置、刪除對象的屬性
3.2工作流執(zhí)行服務(wù)
1什么是工作流執(zhí)行服務(wù)器
由一個或多個工作流機構(gòu)成的軟件服務(wù)器,用來創(chuàng)建、管理、執(zhí)行工作流實例。應(yīng)用程序可能會通過WAPI來與這個服務(wù)交互。
在模型中,過程與活動控制邏輯間有一個邏輯上的分離,活動控制邏輯構(gòu)成工作流執(zhí)行服務(wù)器;過程與應(yīng)用工具間、與終端用戶任務(wù)間也有一個邏輯上的分離,應(yīng)用工具和任務(wù)建立起對每個相關(guān)活動的處理。這種邏輯上的分離,為制定更多的行業(yè)標(biāo)準提供了機會,也為在工作流程序中集成用戶具體的應(yīng)用工具提供了機會。
使用下邊兩個接口中的一個,就可以使工作流機訪問外部資源:
客戶端應(yīng)用程序接口(The client application interface),通過這個接口工作流機可以與任務(wù)表處理器交互,代表用戶資源來組織任務(wù)。然后由任務(wù)表處理器負責(zé),從任務(wù)表中選擇、推進任務(wù)項。由任務(wù)表處理器或者終端用戶來控制應(yīng)用工具的活動。
應(yīng)用程序調(diào)用接口(The invoked application interface),允許工作流機直接激活一個應(yīng)用工具,來執(zhí)行一個活動。典型的是調(diào)用以后臺服務(wù)為主的應(yīng)用程序,沒有用戶接口;當(dāng)執(zhí)行活動要用到的工具,需要與終端用戶交互,通常是使用客戶端應(yīng)用程序接口來調(diào)用那個工具,這樣可以為用戶安排任務(wù)時間表提供更多的靈活性。
在分布式的工作流執(zhí)行服務(wù)器中,每個工作流機控制過程執(zhí)行的一部分,并與這部分過程中的活動所要用到的用戶、應(yīng)用工具進行交互。在分布式的執(zhí)行服務(wù)器中有公共的名稱空間與管理范圍的,從而過程定義、用戶/應(yīng)用程序的名稱在一致的標(biāo)準下被處理。分布式工作流系統(tǒng),在工作流機間采用特殊的協(xié)議和信息轉(zhuǎn)換格式,來同步工作流機的操作、過程交換和活動控制信息。也許工作流相關(guān)數(shù)據(jù)也要在工作流機間進行傳遞。在單一的工作流執(zhí)行服務(wù)器中,這些操作都是由開發(fā)商自己定義的。
在工作流機間需要一個標(biāo)準的交換格式,來實現(xiàn)異種產(chǎn)品間的調(diào)用。使用接口4,執(zhí)行服務(wù)器可以把活動或者子過程轉(zhuǎn)移到另外一個(異種)執(zhí)行服務(wù)器中執(zhí)行。在工作流參考模型中,這被稱作“工作流機交互(Workflow Engine Interchange)”。
2過程和活動狀態(tài)變遷(Process and Activity Transitions)
工作流執(zhí)行服務(wù)可以看作是一個狀態(tài)變遷機器,過程或者活動的實例在響應(yīng)外部事件、工作流機負責(zé)的控制判斷后,其狀態(tài)發(fā)生改變。
下圖描述了過程實例的基本狀態(tài)變遷方案:
在上圖中,發(fā)生狀態(tài)轉(zhuǎn)移(用箭頭表示)來響應(yīng)WAPI的命令;過程定義中的轉(zhuǎn)移條件滿足,也可能發(fā)生狀態(tài)轉(zhuǎn)移。
初始化(Initiated)—過程實例被創(chuàng)建,包括與過程狀態(tài)相關(guān)的日期、工作流相關(guān)數(shù)據(jù),但是過程還沒有滿足條件,不能執(zhí)行。
運行(Running)—過程實例已經(jīng)執(zhí)行,過程中的活動如果條件滿足就可以執(zhí)行。
激活(Active)—過程中的一個或者多個活動已經(jīng)被執(zhí)行。
掛起(Suspended)—過程實例被靜止,并且過程中的活動不能執(zhí)行,直到過程返回到運行狀態(tài)。
結(jié)束(Completed)— 過程實例滿足結(jié)束條件;所有的完成后操作都將被執(zhí)行(例如記錄日志、或者統(tǒng)計信息),并且銷毀過程實例。
終止(Terminated)— 過程實例在正常結(jié)束前被停止;所有的完成后操作都將被執(zhí)行(例如記錄錯誤信息、或者恢復(fù)數(shù)據(jù)),并且銷毀過程實例。
活動是不能被中斷的,例如工作流執(zhí)行服務(wù)器一旦開始了一個活動,就不能掛起或者終止這個活動。這就意味著,只有在所有運行中的活動結(jié)束后,并且過程返回到運行狀態(tài),才能對過程執(zhí)行掛起、重啟、終止等命令。另外,可能需要把幾個活動放在一起作為“原子單元”,這些原子單元要執(zhí)行就全部被執(zhí)行完,如果中途出現(xiàn)異常則返回到開始點,重新執(zhí)行。可中斷活動的處理辦法和原子活動單元的重新啟動能力,需要進一步的考慮,這超出了WFMC的初期工作范圍。
忽略那些額外的復(fù)雜事物,活動實例的基本狀態(tài)和轉(zhuǎn)移如下圖:
一個活動的基本狀態(tài)有:
初始化—過程實例中的活動已經(jīng)被創(chuàng)建,但是還沒有激活(例如,活動的進入條件沒有滿足),并且沒有任務(wù)需要處理。
激活 —創(chuàng)建好的任務(wù),分配這個活動來處理。
掛起—活動實例被靜止,并直到活動返回到初始化狀態(tài),才能為其分配任務(wù)。
結(jié)束 —活動實例執(zhí)行完成。
當(dāng)然,一個產(chǎn)品也可以實現(xiàn)一些其他的狀態(tài)類型,或者使用不同基本狀態(tài)和轉(zhuǎn)移來代表上圖中的狀態(tài)和轉(zhuǎn)移。參考模型沒有指定工作流系統(tǒng)的內(nèi)部行為,但是狀態(tài)
轉(zhuǎn)移闡明了,API命令集的影響范圍的基本觀點。工作流應(yīng)用編程接口與數(shù)據(jù)交換(Workflow Application programming Interface & Interchange)
WAPI可以被看作是一套由工作流執(zhí)行服務(wù)器支持的API調(diào)用和數(shù)據(jù)交換集合,這個集合在在工作流執(zhí)行服務(wù)器的邊界處,負責(zé)與其他資源交互。盡管結(jié)構(gòu)中涉及到了WAPI中的5個接口,但是每一個接口中的許多功能都是公共的(即,同時被2個或者多個接口共同擁有)。
WAPI的主要功能由API調(diào)用組成。同時在WFMC也定義了接口間的,數(shù)據(jù)轉(zhuǎn)換格式,例如過程定義。工作流控制,工作流相關(guān)數(shù)據(jù)和工作流應(yīng)用數(shù)據(jù)
工作流執(zhí)行服務(wù)器維護內(nèi)部控制數(shù)據(jù),來確定過程實例或活動實例的狀態(tài),并支持其他內(nèi)部狀態(tài)信息。這種內(nèi)部控制數(shù)據(jù)不能被訪問,也不能進行轉(zhuǎn)換。但是有些信息內(nèi)容是要對外提供的,來響應(yīng)某些特殊操作(例如,查詢過程狀態(tài)等)。同種工作流執(zhí)行服務(wù)器可能在工作流機間交換這些信息,通過使用具體的內(nèi)部對話。
工作流控制數(shù)據(jù)—由工作流管理系統(tǒng)和(或)工作流機管理的內(nèi)部數(shù)據(jù)。
工作流管理系統(tǒng)使用工作流相關(guān)數(shù)據(jù)來判斷轉(zhuǎn)移條件是否滿足,并選擇下一個要執(zhí)行的活動。這些數(shù)據(jù)能被工作流應(yīng)用程序訪問,這些數(shù)據(jù)也需要通過工作流執(zhí)行軟件在活動間傳遞。當(dāng)在同種環(huán)境下進行操作時,如果過程的執(zhí)行要在2個或者多個工作流中進行,那么這些數(shù)據(jù)就要在工作流機間進行傳遞;這個過程可能需要名稱映射
或者數(shù)據(jù)轉(zhuǎn)化。
工作流相關(guān)數(shù)據(jù)—工作流管理系統(tǒng)用來判斷過程中狀態(tài)轉(zhuǎn)移是否可以執(zhí)行的數(shù)據(jù)。過程實例中的每個活動中可能都需要進行數(shù)據(jù)操作。因此,工作流模型必須能夠在所有的處理活動間的“情形數(shù)據(jù)”交換。在一些環(huán)境中,可能需要情形數(shù)據(jù)在不同的工具數(shù)據(jù)格式間進行轉(zhuǎn)換,例如,把文檔從一種格式轉(zhuǎn)成另外一種格式。(有的系統(tǒng)中,數(shù)據(jù)轉(zhuǎn)換是工作流執(zhí)行服務(wù)器來完成的;有的系統(tǒng)中直接把數(shù)據(jù)轉(zhuǎn)換定義成過程中的一個活動來執(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ù)會在工
作流機間進行傳遞,來保證活動的正常執(zhí)行。
應(yīng)用程序與其需要用到的工作流相關(guān)或應(yīng)用程序數(shù)據(jù)間的關(guān)系,會在工作流定義中說明。在一些情況下,可能是隱含關(guān)系(例如,在一些系統(tǒng)中情形數(shù)據(jù)會作為活動導(dǎo)航的一部分,傳遞到下一個活動中),然而在其他情況下(例如訪問共享對象存儲),就需要明確定義對象的名字和應(yīng)用程序的訪問路徑。在參考模型中,把前一種情況
稱為“直接數(shù)據(jù)交換”,后一種稱為“間接數(shù)據(jù)交換”。數(shù)據(jù)交換(Data Interchange)
工作流相關(guān)數(shù)據(jù)和應(yīng)用程序數(shù)據(jù)的交換,都需要訪問WAPI,來支持在3個運行時期功能中的協(xié)同工作:
? 任務(wù)表處理器(Interface 2)
? 應(yīng)用程序調(diào)用(Interface 3)
? 工作流機交換(Interface 4)
本節(jié)講述數(shù)據(jù)交換的基本原理;提出了API命令集,包括從工作流機中接收/返回工作流相關(guān)數(shù)據(jù)的具體調(diào)用;并為直接數(shù)據(jù)交換和間接數(shù)據(jù)交換定義了,與上述
API命令集不同的命令集。
由Email驅(qū)動的工作流系統(tǒng)是一種典型的應(yīng)用程序數(shù)據(jù)的直接交換,這樣的系統(tǒng)中,應(yīng)用程序數(shù)據(jù)物理地在活動間進行傳遞。這種情況下,不需要明確定義活動與應(yīng)用程序數(shù)據(jù)間的關(guān)系;應(yīng)用程序數(shù)據(jù)作為標(biāo)準工作流活動導(dǎo)航的一部分進行傳遞,并且在應(yīng)用程序調(diào)用時在本地直接與程序相關(guān)。需要在活動間提供數(shù)據(jù)格式轉(zhuǎn)換時,應(yīng)用程序需要定義與之相關(guān)的數(shù)據(jù)類型,可以作為一個屬性來定義(這個屬性信息可能存放在軟件執(zhí)行環(huán)境中,或者能被整個工作流執(zhí)行服務(wù)器訪問,例如地址目錄)。這樣,使用同種工作流應(yīng)用程序構(gòu)造的系統(tǒng),就能夠根據(jù)每個應(yīng)用程序所定義的數(shù)據(jù)類型進行數(shù)據(jù)轉(zhuǎn)換。需要采用一些協(xié)議來傳遞和保存數(shù)據(jù)類型信息,例如使用 X.400 對象標(biāo)識符,或者Internet mail MIME機制。
一些類型的工作流系統(tǒng)(例如,使用共享文檔存儲實現(xiàn)的),在活動間不能從物理上傳遞應(yīng)用程序數(shù)據(jù)。在這些系統(tǒng)中,應(yīng)用程序要使用適當(dāng)?shù)脑L問路徑才能進行數(shù)據(jù)訪問。這樣,必須要有統(tǒng)一的訪問路徑命名方案,必須是有效的訪問權(quán)限,并且由激活的過程實例來控制訪問權(quán)限。在這種情況下,如果需要,在建模時,數(shù)據(jù)格式轉(zhuǎn)換
也可以作為一個活動。
同種系統(tǒng)中可能使用私有的對象命名協(xié)定和訪問權(quán)限,但是異種系統(tǒng)需要一個公共的方案。在異種系統(tǒng)中,在過程定義時必須包含對應(yīng)用程序數(shù)據(jù)對象存儲的訪問
路徑,或者在活動間的導(dǎo)航必須包含訪問路徑的傳遞。
同種工作流產(chǎn)品進行協(xié)調(diào)工作,其必須采用相同的應(yīng)用程序數(shù)據(jù)交換方法,或者通過一個網(wǎng)關(guān)機制進行協(xié)作,網(wǎng)關(guān)機制通過適當(dāng)?shù)膮f(xié)議,可以在兩種不同的數(shù)據(jù)交換方法間進行映射,也可以處理對象命名與數(shù)據(jù)類型轉(zhuǎn)換的不同。以后還需要對這部分進行細化,但有可能制定一個交換標(biāo)準,來包含上述的兩種情況。
工作流應(yīng)用程序或相關(guān)數(shù)據(jù)交換的方法,都是通過3個接口來處理的;下邊列出了這3個接口:
客戶端應(yīng)用程序接口—工作流相關(guān)數(shù)據(jù)可以包含在任務(wù)中。工作流相關(guān)數(shù)據(jù)也可以通過共享的對象存儲形式來間接傳遞。
應(yīng)用程序調(diào)用接口—依靠應(yīng)用程序調(diào)用接口進行數(shù)據(jù)轉(zhuǎn)換,可能需要在調(diào)用服務(wù)中把數(shù)據(jù)包含在具體應(yīng)用程序協(xié)議中。激活的工作流應(yīng)用程序可以使用,讀/寫工作
流相關(guān)數(shù)據(jù)的API,或者用這些API來構(gòu)造通用應(yīng)用程序代理。
工作流機協(xié)作接口—與客戶端應(yīng)用程序接口相似,盡管在不同的系統(tǒng)中支持不同的應(yīng)用程序數(shù)據(jù)交換方法,但是網(wǎng)關(guān)功能的使用,需要在兩種方法間進行映射,也
要處理名稱問題。
3.3工作流客戶應(yīng)用:
1工作流客戶端應(yīng)用程序(Workflow Client Applications)
任務(wù)表處理器是在需要調(diào)用人類資源的活動時用來與終端用戶進行交互的軟件。任務(wù)表處理器可以作為工作流產(chǎn)品的一部分提供給用戶,也可以由用戶自己開發(fā)。在其他情況中,工作流可能要與普通的辦公系統(tǒng)進行集成,例如Email,來為終端用戶提供一個統(tǒng)一的任務(wù)管理系統(tǒng)。這就要求在工作流執(zhí)行服務(wù)器與工作流客戶端應(yīng)用程序
間有一個非常靈活的通信機制,來構(gòu)建各種可能遇到的運行系統(tǒng)。在工作流模型中,通過客戶端應(yīng)用程序與工作流機間的定義良好的接口進行交互。在這個接口中包含任務(wù)表—由工作流機分配給用戶的任務(wù)序列。最簡單的情況是,工作流機訪問任務(wù)表,來把任務(wù)分配給用戶;任務(wù)表處理器訪問任務(wù)表,向任務(wù)表中添加任務(wù)項。有許多不同的產(chǎn)品來實現(xiàn)任務(wù)表的交互。
任務(wù)表中任務(wù)項的激活(例如,啟動應(yīng)用程序,連接工作流相關(guān)數(shù)據(jù)),可能是由工作流客戶端應(yīng)用程序或者終端用戶控制的。在工作流客戶端應(yīng)用程序與工作流執(zhí)行服務(wù)器間定義了一系列的方法,用來向任務(wù)表中添加任務(wù)項、從任務(wù)表中刪除完成的活動、激活臨時掛起的活動,等。
任務(wù)表處理器也可以調(diào)用應(yīng)用程序,或者直接調(diào)用,或者由終端用戶調(diào)用。通常希望,任務(wù)表處理器的應(yīng)用程序調(diào)用范圍能夠受到運行環(huán)境的限制,盡管這樣會給
模型帶來通用性的限制,但這種情況是一直存在的。
與任務(wù)表相關(guān)的部分活動的數(shù)據(jù),是任務(wù)表處理器用來調(diào)用應(yīng)用程序所必須的信息。當(dāng)應(yīng)用程序數(shù)據(jù)是強類型時,在任務(wù)表處理器中要存放一個聯(lián)接,用來實現(xiàn)程序的調(diào)用。在其他情況中,在任務(wù)表處理器與工作流機間要進行完全的應(yīng)用程序名稱和地址信息的交換;這時,工作流客戶端應(yīng)用程序也可能實現(xiàn)一些應(yīng)用程序調(diào)用接口(接
口3)中的功能,來獲得必要的信息。
任務(wù)表中可能要包含一個過程中的幾個不同實例的相關(guān)任務(wù),或者包含幾個不同過程中的一個共同活動項。一個任務(wù)表處理器可能要與幾個不同的工作流機、幾個不同的工作流執(zhí)行服務(wù)器進行交互。(按照每個產(chǎn)品的實現(xiàn),為每個過程單獨維護一個物理上分開的任務(wù)表,或者任務(wù)表處理器把幾個不同的任務(wù)表聯(lián)合到一起,呈現(xiàn)給終端
用戶)
因此,客戶端工作流應(yīng)用程序與工作流機間的接口必須十分靈活,來滿足下邊的幾方面功能的實現(xiàn)多樣性:
? 過程和活動表示符
? 資源名和地址
? 數(shù)據(jù)引用和數(shù)據(jù)結(jié)構(gòu)
? 可選擇的通訊機制 工作流客戶端應(yīng)用程序接口(接口 2)
滿足上述需求的方法,在標(biāo)準API集后,可以為從工作流應(yīng)用程序到工作流機和任務(wù)表的訪問提供一致的形式,而不管產(chǎn)品的實現(xiàn)特性。
API與其參數(shù)可以映射到幾個不同的通信機制上,來適應(yīng)各種不同的工作流實現(xiàn)模型。
WFMC在其文檔中,分開發(fā)布API規(guī)范;下邊是對客戶端應(yīng)用程序API使用的一個概述,分成幾個不同的功能。提供了對單獨或者多個過程活動實例的操作命令,就像任務(wù)表一樣。
建立會話(Session Establishment)
? 連接/斷開參與系統(tǒng)間的會話
工作流定義操作(Workflow Definition Operations)
? 對工作流過程定義名稱或者屬性的恢復(fù)/查詢功能
過程控制功能(Process Control Functions)
? 創(chuàng)建/開始/結(jié)束一個過程實例
? 掛起/喚醒一個過程實例
? 在過程實例或活動實例中強制一個狀態(tài)發(fā)生改變
? 查詢過程實例或活動實例的屬性
過程狀態(tài)功能(Process Status Functions)
? 打開/關(guān)閉過程實例或活動實例的查詢,設(shè)置過濾標(biāo)準
? 獲取過程實例或活動實例的詳細信息
? 獲取具體過程或活動的詳細信息
任務(wù)表/任務(wù)項處理功能(Worklist/Workitem Handling Functions)
? 打開/關(guān)閉任務(wù)表查詢,設(shè)置過濾標(biāo)準
? 獲取任務(wù)表中的項目
? 通知選擇/重分配/結(jié)束一個任務(wù)項
? 查詢?nèi)蝿?wù)項屬性
過程管理功能(Process Supervisory Functions)
? 改變過程定義或者它的實例的運行狀態(tài)
? 改變某種類型的所有過程實例或活動實例的狀態(tài)
? 為某種類型的所有過程實例或活動實例的屬性賦值
? 終止所有過程實例
數(shù)據(jù)處理功能(Data Handling Functions)
? 恢復(fù)/返回工作流相關(guān)或應(yīng)用程序數(shù)據(jù)
應(yīng)用程序調(diào)用(Application Invocation)
? 上邊對功能的概括,為支持任務(wù)表處理器對應(yīng)用程序調(diào)用提供了基礎(chǔ)。應(yīng)用程序調(diào)用功能的一些命令是與客戶端應(yīng)用程序環(huán)境相關(guān)的。
? 有些產(chǎn)品可以只實現(xiàn)全部WAPI的一部分;以后會給出進一步的考慮,定義一致性級別,來滿足市場中不同的產(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)境中。這就需要,能夠處理在所有平臺下和網(wǎng)絡(luò)環(huán)境中進行調(diào)用的邏輯,并需要能使用公共格式和編碼進行應(yīng)用數(shù)據(jù)或相關(guān)數(shù)據(jù)傳遞的方法。
然而,許多工作流系統(tǒng)能夠使用了更多受限制的應(yīng)用程序,特別是那些采用強制數(shù)據(jù)類型和直接與應(yīng)用程序相連的系統(tǒng)。在其他情況中,應(yīng)用程序?qū)Σ僮鞯恼{(diào)用,可能是通過標(biāo)準的交換機制來實現(xiàn)的,例如OSI TP協(xié)議或者X.400。一些實現(xiàn)使用了“應(yīng)用程序代理(Application Agent)”,把這些在在標(biāo)準接口之后的各種方法包含在工作流執(zhí)行服務(wù)器中。也有可能開發(fā)“Workflow enabled”應(yīng)用工具,這種工具使用標(biāo)準的API集來與工作流執(zhí)行服務(wù)器進行通信,來接收應(yīng)用程序數(shù)據(jù)、信號和響應(yī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)用程序代理,可以直接使用這個結(jié)構(gòu)。
在簡單的情況中,工作流機在本地處理應(yīng)用程序調(diào)用,使用過程定義中的信息來確定,活動的性質(zhì)、將要調(diào)用的應(yīng)用程序的類型和所需的數(shù)據(jù)。被調(diào)用的應(yīng)用程序可能存儲在工作流機中,或者與工作流機一同存儲在相同的平臺下,或者存放在一個獨立的網(wǎng)絡(luò)訪問的平臺中;過程定義中有足夠的應(yīng)用程序類型和尋址信息(工作流機的特殊需求),來實現(xiàn)應(yīng)用程序調(diào)用。在這種情況下,應(yīng)用程序命名與尋址的協(xié)定是處于工作流機與過程定義之間的。
應(yīng)用程序調(diào)用API的詳細語法、語義作為WFMC規(guī)范的一部分給出。操作覆蓋了一些不同的基本接口,包括上表中的一部分,其中一些操作是同步的,一些是異步的。API的操作可以是單線程的,也可以是多線程的,后者使用活動ID來區(qū)分線程。下邊是應(yīng)用程序調(diào)用可以使用的一些命令概括:
創(chuàng)建會話(Session Establishment)
? 連接/斷開應(yīng)用程序會話
活動管理功能(Activity Management Functions)
? 開始活動
? 掛起/恢復(fù)/放棄活動
? 活動完成通知
? 信號事件
? 查詢活動屬性
數(shù)據(jù)處理功能(Data Handling Functions)
? 提供工作流相關(guān)數(shù)據(jù)
? 提供應(yīng)用程序數(shù)據(jù)或數(shù)據(jù)地址
更復(fù)雜的情況,異種工作流機間的協(xié)同工作,可能需要在工作流機間傳遞應(yīng)用程序調(diào)用信息,或者作為運行時期數(shù)據(jù)交換的一部分,或者通過在過程定義階段后導(dǎo)
入過程定義來實現(xiàn)。
3.5其他工作流執(zhí)行服務(wù):
WFMC的一個主要目標(biāo)是,為不同開發(fā)商的工作流系統(tǒng)產(chǎn)品,相互間能夠進行無逢傳遞任務(wù)項,定義標(biāo)準。
工作流產(chǎn)品的特性變化多樣。在WFMC的協(xié)同工作標(biāo)準中,沒有強迫開發(fā)商必須提供一個只面向用戶需求的產(chǎn)品或者只考慮協(xié)同工作。
WFMC把焦點聚集到,開發(fā)多種不同的協(xié)同工作框架,這些框架可以操作一系列標(biāo)準的協(xié)調(diào)工作,從簡單的任務(wù)傳遞到整個工作流系統(tǒng)的協(xié)同工作(包括過程定義轉(zhuǎn)換、工作流相關(guān)數(shù)據(jù)交換、通用的界面等)。簡單的協(xié)同工作,WFMC的協(xié)同工作定義將在最初就能支持;而復(fù)雜的協(xié)同工作,還需要進一步的研究。
盡管可以開發(fā)一個非常復(fù)雜的協(xié)同工作框架,由許多個工作流機構(gòu)成個執(zhí)行服務(wù)器,但是這種框架不會在近期實現(xiàn),因為這需要所有的工作流機都可以解釋一個公共的過程定義和共享公共的工作流控制數(shù)據(jù)集,事實上是維護異種工作流機間的一個共享過程視圖。現(xiàn)階段更現(xiàn)實的目標(biāo)是,能夠在運行時期傳遞過程的某些部分,來支持不
同的執(zhí)行服務(wù)器運行。
WFMC定義了4個協(xié)同工作模型:鏈鎖式,子過程嵌套,P2P(Peer-to-Peer),相似同步,包含多種協(xié)同工作能力級別
3.6管理和監(jiān)視工具:
WFMC規(guī)范的最后關(guān)注的是為管理和監(jiān)視功能開發(fā)公共的接口標(biāo)準,這樣一個開發(fā)商的產(chǎn)品就可以用來管理其他工作流機的運行。通過公共的接口,幾個不同的工
作流執(zhí)行服務(wù)器可以共享,管理和監(jiān)視功能。
盡管,過程狀態(tài)命令在接口定義中已經(jīng)描述了,但一致認為,在某些行業(yè)中需要,進行全部狀態(tài)監(jiān)視和提取信息的功能。WFMC提出的接口,是要讓用戶能夠得到工作流運行狀態(tài)的完整視圖,無論是什么樣的工作流系統(tǒng);同時,也希望能提供一套全面的功能集,進行系統(tǒng)管理,包括安全性、控制和權(quán)限。
接口中包含WAPI集中的一些具體命令,來操作管理和監(jiān)視功能。另外,進一步的討論,期望能夠確定在什么范圍內(nèi),這個接口可以使用現(xiàn)有的協(xié)議(如CMIP、SNMP),來設(shè)置、恢復(fù)管理狀態(tài)和統(tǒng)計信息(定義在開放MIB中——Management Information Base)
“工作流” 已經(jīng)成為了一個事實存在的概念和名詞,可是到了2007年依然找不到?jīng)]有能夠明確的定義,在互連網(wǎng)上,我們隨便在GOOGLE或百度上搜索,找到關(guān)于工作流的內(nèi)容及定義可以說是百家爭鳴,是標(biāo)準、是引擎、是技術(shù)、解決方案、是思想、是架構(gòu)。。到底是什么?
工作流到底是什么呢,對于從事做計算機軟件設(shè)計的人而言,它是一項技術(shù)、是我們?yōu)槲覀兊目蛻籼峁┙鉀Q方案框架的一部分;對于從事企業(yè)信息化管理的人而言,它是一種思想,是我們降低用戶的IT運維成本的一種方法;對于從事軟件開發(fā)的人而言,它是一個架構(gòu),是我們?nèi)绾卫贸墒旆€(wěn)定的接口和組件低成本的開發(fā)出適應(yīng)用戶流程變化的應(yīng)用程序。總而言之,工作流通過技術(shù)的手段,融入管理思想、為管理提供“人、事、物、流程、時間、條件”等多維管理能力,幫助用戶實現(xiàn)管理目標(biāo)。
既然今天談的是“工作流”技術(shù),那文章的重點就是占在技術(shù)的角度來討論工作流,我們可以從以下幾個方面來探討工作流。
1、為什么要使用工作流技術(shù)
對于這個問題我們可以從軟件企業(yè)的解決方案策略、用戶運維的成本上及企業(yè)信息化規(guī)劃等幾個角度來考慮這個問題。
首先從解決方案提供者的角度來說,我們的CIO/CTO面臨的一個很大的壓力是在于我們?yōu)橛脩籼峁┑慕鉀Q方案滯后于我們的用戶的商業(yè)策略,我們用戶總是在變化中發(fā)展,商業(yè)策略面臨著市場、競爭對手的壓力而改變,而我們提供的解決方案卻不能夠快速適應(yīng)這樣的變化。工作流技術(shù)使這樣的一種解決方案成為可能,同時工作流技術(shù)也為用戶企業(yè)實現(xiàn)企業(yè)戰(zhàn)略執(zhí)行提供了實現(xiàn)的平臺。
從IT運維的角度來說,目前很多IT公司面臨了一種CTO(總體擁有成本)成本比例的變化趨勢。因為大部分IT企業(yè)或IT部門的IT基礎(chǔ)架構(gòu)的現(xiàn)狀,使我們用戶運行維護的成本在逐步的升高,研發(fā)新能力的成本在逐步壓縮,但我們的IT投資始終會變緩,特別是IT運行維護的成本在總體擁有成本中的比例。意味著IT企業(yè)和IT部門利益的空間將越來越小,其實我們身邊的很多案例里就有很多IT企業(yè)被某些項目拖累致倒閉的現(xiàn)象。工作流技術(shù)可以脫離開發(fā)環(huán)境而設(shè)計業(yè)務(wù)流程的特性讓企業(yè)IT運行維護成本大大的降低,從而提高了IT企業(yè)和IT部門的利益空間。
從企業(yè)信息規(guī)劃的角度來說,可以回顧前些年的ERP、進銷存、CRM等系統(tǒng),大部分是管事的,系統(tǒng)主要是記錄數(shù)據(jù)及其關(guān)聯(lián)關(guān)系等,是靜態(tài)為主的,但隨著社會的發(fā)展與競爭格局的變化,企業(yè)的策略越來越需要能隨需而動,生產(chǎn)管理活動也始終是“人”參與的活動,很多時候人需要激勵、參與、滿足、約束、被管理等等才能很好達到管理目標(biāo)。因此新一代管理系統(tǒng)中協(xié)同性、靈活性、擴展性需求相當(dāng)重要,工作流是提供協(xié)同性、靈活性、擴展性的最佳工具。
2、工作流用在哪里
毫五疑問,工作流技術(shù)是軟件技術(shù),用在軟件設(shè)計領(lǐng)域,工作流分為業(yè)務(wù)型工作流和狀態(tài)型工作流,業(yè)務(wù)型工作流大部分是要用在管理軟件設(shè)計領(lǐng)域,為管理軟件提供靈活性、擴展性、協(xié)同性等特質(zhì)。幫助企業(yè)實現(xiàn)戰(zhàn)略管理目標(biāo)。
常用的工作流應(yīng)用場景:
企業(yè)辦公自動化系統(tǒng)
IT服務(wù)管理系統(tǒng)
客戶服務(wù)管理系統(tǒng)
物流攬收調(diào)度系統(tǒng)
設(shè)備運維管理系統(tǒng)
質(zhì)量考核監(jiān)督系統(tǒng)
采購系統(tǒng)。。
3、如何使用工作流及哪些人使用
很多時候工作流是一個看不見摸不著的東西,存在于我們的業(yè)務(wù)管理系統(tǒng)軟件中,至于如何使用、哪些人使用可以從幾個方面說明。
工作流引擎是系統(tǒng)功能,是軟件本身去使用的,工作流架構(gòu)是包含工作流引擎使用、接口調(diào)用、業(yè)務(wù)系統(tǒng)應(yīng)用框架的,是開發(fā)人員使用的,開發(fā)人員在工作流架構(gòu)上設(shè)計開發(fā)包含工作流技術(shù)的不同業(yè)務(wù)領(lǐng)域的軟件系統(tǒng)。
工作流平臺一般是包含流程設(shè)計工具的,由企業(yè)流程管理用戶去使用,通過工作流平臺提供的流程管理工具將企業(yè)的戰(zhàn)略和制度轉(zhuǎn)化為執(zhí)行語言。
軟件系統(tǒng)普通用戶使用的則僅僅是包含企業(yè)戰(zhàn)略執(zhí)行語言的業(yè)務(wù)管理系統(tǒng)。
4、工作流技術(shù)的選型
關(guān)于工作流技術(shù)的選型,對于從事IT工作的人員來說是一個需要非常慎重選擇,在這里做些簡單的闡述,工作流技術(shù)分為兩種。一種是業(yè)務(wù)流程型的,比如我們的一些事件處理、服務(wù)流程、物流攬收調(diào)度、合同審批、設(shè)計審核等,需要工作流引擎根據(jù)各種表單的內(nèi)容來人機交互來自動管理這個過程;另一種是狀態(tài)機型的,根據(jù)一件事情的狀態(tài)變化而自動進行處理,如工業(yè)控制,電路控制管理等。常用于一些工業(yè)自動化控制系統(tǒng)等。
我們經(jīng)常聽到有人說工作流引擎可以很快的就配置出一個業(yè)務(wù)系統(tǒng)出來,自定義表單,自定義流程,自定義報表等等,很快就給用戶提供一個完整的業(yè)務(wù)系統(tǒng),其實這樣的想法是非常理想的,我們在開發(fā)我們的業(yè)務(wù)系統(tǒng)的時候我們會發(fā)現(xiàn)我們的業(yè)務(wù)系統(tǒng)不僅僅是功能的實現(xiàn),它將面臨著各個方面的需求,包括性能,并發(fā)處理能力、易用性、一致性及個性化等等,當(dāng)工作流引擎只能滿足60%的需求時,我們的團隊將為另外的40%需求付出多少成本。因此在工作流的選型上很重要的一點就是它對于二次開發(fā)的支持,及接口的友好特性,同時它能支持我們在工作流基礎(chǔ)上設(shè)計思路上的延續(xù)性。
因此工作流技術(shù)的選型不但要考慮工作流引擎本身功能的完整性和穩(wěn)定性,工作流架構(gòu)的擴展性、易用性及適應(yīng)能力,還需要考慮工作流涉及開發(fā)人員、企業(yè)管理實施人員、企業(yè)用戶的習(xí)慣和易用性等。純粹的工作流的產(chǎn)品意義并不大,關(guān)鍵是否能很好的幫助企業(yè)實現(xiàn)管理目標(biāo)。
5、工作流技術(shù)的應(yīng)用
E8.Net工作流平臺融入了新一代管理軟件關(guān)注的重點思想,所有功能模塊應(yīng)用將權(quán)限體系、工作流引擎體系、表示邏輯體系、管理控制邏輯體系、擴展及個性化接口體系充分結(jié)合,從架構(gòu)的設(shè)計上優(yōu)化企業(yè)個性化業(yè)務(wù)系統(tǒng)實施成本,并通過流程管理工具,為企業(yè)實施個性化的企業(yè)流程,通過記錄、監(jiān)督、跟蹤、回訪、分析企業(yè)日常事務(wù),持續(xù)改善企業(yè)管理流程,E8.Net工作流平臺開源的開發(fā)架構(gòu)設(shè)計過程中充分分析了管理行為中人的特性,基于E8開發(fā)的企業(yè)流程應(yīng)用系統(tǒng)提供了事中監(jiān)督、事后回訪、全程跟蹤的體系架構(gòu),E8工作流引擎功能設(shè)計中也充分考慮了流程和環(huán)節(jié)模型特性、環(huán)節(jié)行為人群體特性和中國特色,流轉(zhuǎn)過程中基于權(quán)限體系提供了人為因素中“主動/被動”異常的解決思路,解決快速實施企業(yè)業(yè)務(wù)流程需求的同時,又提供了人性“非理想”狀態(tài)下的異常解決方案和防范控制解決方案。
工作流技術(shù)在協(xié)同辦公中的實現(xiàn)
http://004km.cn 2008年10月28日 17:04 比特網(wǎng)ChinaByte
一、協(xié)同辦公(OA)系統(tǒng)簡介
協(xié)同辦公(OA)系統(tǒng)是一套兼具企業(yè)信息門戶、知識管理、工作流管理、人力資源管理、客戶與合作伙伴管理、項目管理、財務(wù)管理、資產(chǎn)管理功能的協(xié)同商務(wù)平臺,協(xié)同辦公(OA)系統(tǒng)是一個數(shù)字化的企業(yè)應(yīng)用環(huán)境,真正讓公司所有的信息都在一個平臺上管理,解決信息孤島問題。協(xié)同辦公系統(tǒng)本身具有的網(wǎng)狀結(jié)構(gòu),為企業(yè)打通所有的信息節(jié)點,讓企業(yè)管理者輕松穿梭在客戶、員工、文檔等所有的信息節(jié)點上,因為協(xié)同辦公系統(tǒng)為您提供了一張信息網(wǎng),只要您找到這張信息網(wǎng)中的某個節(jié)點,您就可以輕松的以這個節(jié)點為中心把企業(yè)的整個信息網(wǎng)都提取出來。
同時,協(xié)同辦公(OA)系統(tǒng)可以與后臺的ERP軟件集成在一起,將所有利益相關(guān)者、企業(yè)部門、不同應(yīng)用系統(tǒng)的信息整合到統(tǒng)一的渠道,并提供統(tǒng)一的界面給用戶操作和提取信息,從而實現(xiàn)業(yè)務(wù)處理和信息獲取與共享的一體化,達到內(nèi)部協(xié)同和外部協(xié)同,為每一個用戶提供一個完全的個性化門戶,用戶在這個個性化的門戶中管理日常的所有事務(wù)。
二、工作流管理簡介
由于工作流預(yù)先定義的特性,已設(shè)定的請求可以很容易的遵守相應(yīng)的規(guī)則和實際操作情況。企業(yè)可以確信所有的請求都是根據(jù)規(guī)則和手續(xù)來輸入和批準的,從而保證企業(yè)運作的規(guī)范化和透明化。上海泛微軟件公司的協(xié)同辦公(OA)系統(tǒng)中實現(xiàn)的工作流e-Workflow管理可以對內(nèi)部以及外部業(yè)務(wù)處理采取電子化管理方式管理,工作流管理是提高組織效率的有效工具。
e-Workflow提供強大的自定義功能,支持企業(yè)復(fù)雜的工作流設(shè)置。企業(yè)可對工作流的組成因素包括流程完成需要的階段、每個階段的負責(zé)人、流轉(zhuǎn)條件,直至相對底層的表單和字段進行自定義,使得工作流的定義完全與企業(yè)的政策和實際運營相符合,而不必進行復(fù)雜的二次開發(fā)。
e-Workflow同時也提供了可定制的瀏覽和報告的功能,用戶可以對工作流的關(guān)鍵信息進行任意的定義以獲得特定的報表。e-Workflow的特性可以使用戶獲得非常靈活和豐富的統(tǒng)計報告以對相關(guān)的決策作出支持。
三、工作流管理實現(xiàn)基本功能
1定義任意形式的工作流程
e-Workflow強大的自定義功能可以滿足企業(yè)對復(fù)雜工作流程的定義,包括文檔流程和表單流程e-Workflow 與 e-HRM結(jié)合對于人員在組織結(jié)構(gòu)中的地位和角色將是工作流設(shè)計的基礎(chǔ)。
2工作流執(zhí)行
可設(shè)定的對工作流的執(zhí)行包括提交、批準、退回、拒絕、代理、重新打開、歸檔等,e-Workflow會根據(jù)路由的判定條件和當(dāng)前節(jié)點的執(zhí)行操作設(shè)置工作流的下一目標(biāo)節(jié)點。
固定流程和自由流程的結(jié)合
原則上是固定流程,應(yīng)該一步步走下去,但是在某個節(jié)點,加入一個自由流程審批人可以選定下一步的審批人,然后再按照預(yù)定的流程走下去。
如:申請者-部門經(jīng)理-出納-財務(wù)經(jīng)理,對于大一點的公司,有多個出納,哪個出納在崗,就讓哪個出納審,那么就可以把出納那步設(shè)成自由流程,當(dāng)部門經(jīng)理審批完后,會自動列出所有的出納,部門經(jīng)理選擇其中的一個出納然后提交。
4表單數(shù)據(jù)自動生成
表單的有些數(shù)據(jù),不希望由人工輸入獲得,e-Workflow可以根據(jù)被計算字段、原始數(shù)據(jù)和計算方法自動得出目標(biāo)字段數(shù)據(jù),并可以此作為下一路由選擇的判斷條件。
5跟蹤和回溯
e-Workflow保留工作流流轉(zhuǎn)過程中的所有信息以供查詢。對于文檔型的審批,可以保持痕跡。這樣審批人能夠一目了然知道原稿和審批稿的區(qū)別。監(jiān)控和管理
對于某個模板產(chǎn)生的單據(jù),可以設(shè)定監(jiān)督人和管理人,這樣既使他沒有審批權(quán),也可以看到該單據(jù),同時發(fā)送催辦信息。當(dāng)某個單據(jù)因為某種原因需要臨時更改流程時,監(jiān)督和管理人可以修改流程,以避免單據(jù)的積壓提高工作效率
7自動提醒
對于請求的不同狀況,例如新的請求到達、待處理請求、超時未處理請求、客戶聯(lián)系計劃、請求遞交被處理狀況等,系統(tǒng)都設(shè)定了多種提醒功能以確保請求的處理不致延誤。
8流程自動激活
e-Workflow的一個強大之處就是在于它可以讓系統(tǒng)在運作的過程中自動觸發(fā)請求,并且還可以根據(jù)前一個請求的實際狀況對下一個觸發(fā)的請求進行智能選擇。
9自動更新數(shù)據(jù)庫
e-Workflow在信息流轉(zhuǎn)的過程中,會自動更新系統(tǒng)原有的相關(guān)數(shù)據(jù)庫,這是 e-Workflow 另一個重要的特性體現(xiàn),通過數(shù)據(jù)自動更新,避免了二次手工錄入帶來的工作效率低下和失誤的情況,真正實現(xiàn)企業(yè)管理和運營的電子化。
10分支選擇流
根據(jù)上一步的選擇,選擇不同的分支進行流程執(zhí)行。如:如果上一步是總經(jīng)理審批的,會選擇一個分支進行流轉(zhuǎn)。如上一步是副總審批的選擇另外一個分支進行流轉(zhuǎn)。
11條件流轉(zhuǎn)
以請款單為例:金額小于3000元,審批流程是:普通員工-部門經(jīng)理。如果金額大于3000元的審批流程是:普通員工-部門經(jīng)理-總經(jīng)理,那么在流程定義的時候,需要根據(jù)單據(jù)的填寫值進行判斷,系統(tǒng)自動選擇流程。
12傳閱、歸檔等的并發(fā)流
如有一個流程:申請者-副總經(jīng)理的一張單子,申請者需要提交副總審批的一張單子,不需要部門經(jīng)理審批,但是需要讓部門經(jīng)理知曉,稱為傳閱的并發(fā)流。同理有歸檔或者其它的并發(fā)流。這種并發(fā)流的特點是一個流程的執(zhí)行過程中,會產(chǎn)生另外的的流程,互不影響。
13流程門戶定義
通過與企業(yè)信息門戶的結(jié)合,e-Workflow實現(xiàn)流程定義的門戶化,根據(jù)不同的信息門戶設(shè)定不同的流程。
四、小結(jié)
工作流技術(shù)的出現(xiàn)和迅速發(fā)展為企業(yè)先進制造戰(zhàn)略的實施提供了重要的技術(shù)支持。本文提出了分布式工作流建模工具的設(shè)計框架,以 SOA設(shè)計模式,通過三層結(jié)構(gòu)的方式很好的實現(xiàn)了工作流建模工具、邏輯、數(shù)據(jù)、視圖的分離,使得系統(tǒng)在可擴展性、可靠性與實用性方面都大大提高。以此為原型開發(fā)的泛微e-Workflow工作流管理系統(tǒng)很好的配合了工作流引擎的設(shè)計。在實際中的初步應(yīng)用表明該系統(tǒng)通過分析企業(yè)不同類的經(jīng)營過程,采用有向圖的方法對現(xiàn)實的企業(yè)活動進行形式化描述,并嚴格定義組成有向圖的各類元素的行為特征,從而明確建立企業(yè)經(jīng)營過程到工作流模型的映射機制.使其與企業(yè)現(xiàn)有應(yīng)用結(jié)合形成一個完整的過程體系。責(zé)任編輯:胡艷麗 工作流管理技術(shù)介紹
2009-11-25 作者:葛志春 來源:希賽網(wǎng)
摘 要:本文主要對工作流技術(shù)的起源,工作流的概念,研究的技術(shù)的內(nèi)容及工作流管理系統(tǒng)作了深入的介紹;并對工作流技術(shù)在國內(nèi)外的應(yīng)用現(xiàn)狀及不足作了深入的分析。
關(guān)鍵詞:工作流、表單
1、工作流技術(shù)應(yīng)用背景
傳統(tǒng)的計算機管理信息系統(tǒng)的主要功能有三個:即信息處理、事務(wù)處理與決策支持。信息傳遞和信息處理構(gòu)成了企業(yè)和行政管理部門的業(yè)務(wù)工作內(nèi)容之一,也是計算機信息系統(tǒng)的主要功能之一,它是企業(yè)和行政管理部門進行事務(wù)處理和決策支持的基礎(chǔ)。
當(dāng)PC機沒有作為信息處理工具而出現(xiàn)的時候,紙張是進行日常業(yè)務(wù)活動不可取代的載體。這種傳統(tǒng)的紙張為載體的信息傳遞與處理方式的效率很低,需要花費相當(dāng)?shù)娜肆?、物力來完成信息的處理、組織、存儲以及查詢檢索,同時這種方式降低了對客戶需求的響應(yīng)速度,給企業(yè)和行政管理部門的生產(chǎn)經(jīng)營都帶來了及不利的影響。在計算機得到了廣泛普及、計算機應(yīng)用水平日益提高的情況下,企業(yè)與行政管理單位的工作人員希望能夠以一種無紙化的、計算機使能的工作環(huán)境來開展日常業(yè)務(wù)工作。一些企業(yè)和行政管理部門因此建立了相應(yīng)的文件、表單傳遞系統(tǒng)(Forms-routing applications)用來實現(xiàn)日常表單處理的電子化與自動化。這種簡單的文件、電子表單系統(tǒng)可以看作是工作流應(yīng)用的雛形。
企業(yè)的經(jīng)營過程是由一系列相關(guān)的任務(wù)組成的;這些任務(wù)按照企業(yè)的管理規(guī)章與業(yè)務(wù)流程串行或并行的執(zhí)行,最終完成企業(yè)的經(jīng)營目標(biāo)。自從進入工業(yè)化時代以來,有關(guān)過程的組織管理與流程的優(yōu)化工作就一直在進行,它是企業(yè)管理的主要研究內(nèi)容之一。只不過在沒有引入計算機信息系統(tǒng)的支持以前,這些工作是由人工來完成的。隨著市場經(jīng)濟的發(fā)展,市場競爭的日益激烈,企業(yè)要求其業(yè)務(wù)過程能夠進行快速重組;業(yè)務(wù)過程的不斷變化也相應(yīng)要求信息系統(tǒng)能夠快速重組。這樣,單靠人工對企業(yè)過程進行重組和傳統(tǒng)的面向功能的信息化計算機系統(tǒng)已經(jīng)不能適應(yīng)現(xiàn)代企業(yè)的發(fā)展。因此,企業(yè)希望有一種能夠?qū)崿F(xiàn)企業(yè)快速業(yè)務(wù)流程重組和業(yè)務(wù)過程自動化的軟件系統(tǒng)。在計算機網(wǎng)絡(luò)技術(shù)和分布式數(shù)據(jù)庫技術(shù)迅速發(fā)展、多機協(xié)同工作技術(shù)日臻成熟的基礎(chǔ)上于20世紀80年代中期開始提出了工作流的概念。工作流技術(shù)的提出與發(fā)展為企業(yè)更好的實現(xiàn)這些經(jīng)營目標(biāo)提供了先進的手段。
隨著經(jīng)營業(yè)務(wù)的展開企業(yè)的物理位置逐漸分散、部門間的協(xié)作日益頻繁;決策過程的分散性也日益明顯,對日常業(yè)務(wù)活動詳細信息的需求也日益提高。因此,企業(yè)又要求信息系統(tǒng)必須具有分布性、異構(gòu)性、自治性。在這種大規(guī)模的分布式應(yīng)用環(huán)境下高效地運轉(zhuǎn)相關(guān)的任務(wù),并且對執(zhí)行的任務(wù)進行密切監(jiān)控已成為一種發(fā)展趨勢。在這種技術(shù)背景下,工作流管理系統(tǒng)也有最初的創(chuàng)建無紙化辦公環(huán)境,轉(zhuǎn)而成為同化企業(yè)復(fù)雜信息環(huán)境、實現(xiàn)業(yè)務(wù)流程自動化的必要工具。這樣的一個轉(zhuǎn)變,把工作流技術(shù)帶入了一個嶄新的發(fā)展階段,使得人們從更深的層次、更廣的領(lǐng)域上對工作流展開了研究。
1993年工作流技術(shù)的標(biāo)準化組織工作流管理聯(lián)盟(Workflow Manangement Coalition 簡稱:WfMC).的成立標(biāo)志著工作流技術(shù)在計算機應(yīng)用領(lǐng)域之中被明確的劃分出了自己的一席之地,相應(yīng)的概念與術(shù)語也得到了人們的承認。在全球范圍內(nèi),對工作流的技術(shù)研究以及相關(guān)的產(chǎn)品開發(fā)了進入了更為繁榮的階段。
2、工作流定義
工作流是從英文單詞Workflow翻譯而來的。Work表示工作或任務(wù);Flow則表示流動、流程或者流量。Flow反映了一種變化及變化的過程,本身意義比較抽象,但是當(dāng)它與某一個具體過程相聯(lián)系時就有了具體的含義,如電流、水流、氣流。在經(jīng)營管理與生產(chǎn)組織中Flow也有重要的意義,如表示物料傳輸過程的物料流、表示資金流動的資金流、反映信息處理和傳遞過程的信息流,同樣還有價值流、決策流、控制流等概念。依此,用活動及活動之間變化的過程表示的業(yè)務(wù)流程就是工作流。
十幾年來,不同的研究者和產(chǎn)品供應(yīng)商從不同的角度給出了工作流的定義,但到目前為止,對于工作流仍沒有統(tǒng)一的定義。下面列舉了一些有代表性的定義,可以使我們對工作流的一些基本特征有一定的理解。
WfMC的定義:工作流是一類能夠完全或者部分自動執(zhí)行的經(jīng)營過程,根據(jù)一系列過程規(guī)則,文檔、信息或任務(wù)能夠在不同的執(zhí)行者之間傳遞、執(zhí)行。
Forrester Report的定義:日常的業(yè)務(wù)處理或協(xié)同工作能按預(yù)先定義好的規(guī)則和過程進行流動,并且這一流動過程能被跟蹤和監(jiān)控。
Giga Group的定義:工作流是經(jīng)營過程中可運轉(zhuǎn)的部分,包括任務(wù)的順序以及由誰來執(zhí)行它,支持任務(wù)的信息流、評價與控制任務(wù)的跟蹤、報告機制。
IBM Almaden Research Center的定義:工作流是經(jīng)營過程中的一種計算機化的表示模型,定義了完成整個過程所需用的各種參數(shù)。這些參數(shù)包括對過程中每一個單獨步驟的定義、步驟間的執(zhí)行順序、條件以及數(shù)據(jù)流的建立、每一步驟由誰負責(zé)以及每個活動所需要的應(yīng)用程序。
Amit Sheth 的定義:工作流是涉及到多任務(wù)協(xié)調(diào)執(zhí)行的活動,這些任務(wù)分別由不同的處理實體完成。一項任務(wù)定義了需要做的某些工作,它可以以各種形式來進行定義,包括在文件或電子郵件中的文本描述、一張表格、一條信息以及一個計算機程序。用來執(zhí)行任務(wù)的處理實體可以是人,也可以是計算機系統(tǒng)(如:郵遞員、一個應(yīng)用程序、一個數(shù)據(jù)庫管理系統(tǒng))。
以上這些定義,雖然表述方式略有不同,但是基本上都說明了這樣一個問題,即工作流是業(yè)務(wù)過程的一個計算機實現(xiàn),而工作流管理系統(tǒng)則是這一實現(xiàn)的軟件環(huán)境。使用工作流作為業(yè)務(wù)過程的實現(xiàn)技術(shù)首先要求工作流系統(tǒng)能夠反映業(yè)務(wù)過程的如下幾個問題:即業(yè)務(wù)過程是什么(有哪些活動、任務(wù)組成,也就是結(jié)構(gòu)上的定義)、怎么做(活動間的執(zhí)行條件、規(guī)則以及所交互的信息,也就是控制流與信息流的定義)、有誰來做(人或計算機程序,也就是組織角色的定義)、做的怎樣(通過工作流管理系統(tǒng)對執(zhí)行過程進行監(jiān)控)。因此,可以說工作流是一種反映業(yè)務(wù)流程的計算機化的模型,它是為了在先進計算機環(huán)境支持下實現(xiàn)經(jīng)營過程集成與經(jīng)營過程自動化而建立的可由工作流管理系統(tǒng)執(zhí)行的業(yè)務(wù)系統(tǒng)。
3、工作流技術(shù)研究的主要內(nèi)容
工作流技術(shù),在初期主要由工作流產(chǎn)品供應(yīng)商推動其發(fā)展。隨著工作流產(chǎn)品在實際應(yīng)用中不斷取得良好的效果而得到了人們?nèi)找娴闹匾?,并且到了迅速發(fā)展。相對于工作流產(chǎn)品的繁榮,工作流相關(guān)理論研究則顯得滯后。在過去很長一段時間里,有關(guān)工作流技術(shù)方面的研究主要有商品化的工作流產(chǎn)品供應(yīng)商所領(lǐng)導(dǎo)。本著把工作流產(chǎn)品推向市場的目的,這些供應(yīng)商大多把研究的注意力放在工作流管理產(chǎn)品的開發(fā)實施方面。目前在工作流設(shè)計方法學(xué),工作流概念模型等方面還沒有形成一套比較成熟的理論和方法。在工作流理論與實施技術(shù)方面,研究的主要內(nèi)容包括:
工作流管理系統(tǒng)體系結(jié)構(gòu);
工作流模型與工作流定義語言;
工作流的事務(wù)特性;
研究如何實現(xiàn)高級事務(wù)處理技術(shù)與工作流管理技術(shù)的結(jié)合,用定義良好的模型語義與恢復(fù)機制來提高工作流系統(tǒng)的正確性與可靠性,從而能夠更好的支持復(fù)雜的業(yè)務(wù)過程;
工作流實現(xiàn)技術(shù):包括面向?qū)ο蠹夹g(shù)、異構(gòu)分布式計算技術(shù)、圖形化用戶界面、消息通信、數(shù)據(jù)庫、WEB等在內(nèi)的與工作流系統(tǒng)的設(shè)計實現(xiàn)有關(guān)的各項技術(shù)及方法;
工作流的仿真與分析方法;
基于工作流的應(yīng)用集成與互操作技術(shù);
研究異構(gòu)應(yīng)用系統(tǒng)的集成以及不同工作流系統(tǒng)之間的互操作問題;
工作流與經(jīng)營過程的重組:研究如何通過工作流系統(tǒng)的實施支持快速的實現(xiàn)經(jīng)營過程重組;
工作流技術(shù)的其他應(yīng)用:研究如何將工作流技術(shù)在不同的領(lǐng)域進行運用,包括在CIMS中的應(yīng)用。
上述主要研究課題可以歸納為三個方面(如圖1):第一方面是工作流的理論基礎(chǔ),包括工作流管理系統(tǒng)的體系、模型與定義語言(工作流的建模方法、工作流模型的形式化表示、工作流定義語言)等的研究。這一部分是工作目前相對來說比較薄弱,還有許多問題需要進一步研究。第二方面是工作流的實現(xiàn)技術(shù),包括工作流的事務(wù)特性、各種先進軟件技術(shù)的應(yīng)用、工作流仿真。這方面研究工作的目標(biāo)是提高工作流管理系統(tǒng)的性能,尤其是提高工作流管理系統(tǒng)可靠性及其在處理大規(guī)模復(fù)雜的且具有并行業(yè)務(wù)的流程方面的能力。第三方面是工作流技術(shù)的應(yīng)用,包括工作流實施技術(shù)在不同應(yīng)用領(lǐng)域的應(yīng)用(如在企業(yè)經(jīng)營過程重組、并行過程、敏捷制造)方法、應(yīng)用軟件集成等。這幾方面研究的目標(biāo)是發(fā)揮工作流管理系統(tǒng)的優(yōu)勢,為解決具體應(yīng)用領(lǐng)域內(nèi)的問題提供有向?qū)崿F(xiàn)手段。
圖1:工作流技術(shù)研究內(nèi)容
4、研究工作流的意義
工作流技術(shù)的應(yīng)用將給組織單位帶來巨大的效益。首先,采用工作流管理將使組織單位改變傳統(tǒng)的按照功能來配置人員的組織結(jié)構(gòu),變成按照要實現(xiàn)的主要業(yè)務(wù)流程來配置組織結(jié)構(gòu),這樣可以大大縮短主要業(yè)務(wù)過程的處理時間,提高對市場的響應(yīng)能力。其次,組織結(jié)構(gòu)的改變將大大減少在組織內(nèi)部不必要的的物料、信息的傳遞時間。當(dāng)然,整個組織結(jié)構(gòu)的調(diào)整首先需要調(diào)整傳統(tǒng)的以部門為單位的做法,變成以項目來組織生產(chǎn)和人員的工作方法,如:一個人可能同時從屬于多個項目。應(yīng)用工作流管理系統(tǒng)主要可以取得如下好處:
1)提高管理的規(guī)范化程度;
2)更好地與上下游單位形成快速響應(yīng)市場的供應(yīng)鏈網(wǎng)絡(luò);
3)降低業(yè)務(wù)過程的整個處理時間,如在辦公自動化環(huán)境中,通過更好的規(guī)劃工作流程,并行執(zhí)行相互獨立的活動,減少文檔的傳遞時間;
4)降低管理成本,如避免不必要的重復(fù)的工作,提高工作人員的工作效率;
5)改進工作質(zhì)量,如自動完成某個任務(wù)所需要的相關(guān)信息。在客戶服務(wù)中,能夠快速方便的訪問所有相關(guān)數(shù)據(jù)和工作流程,從而大大提高客戶服務(wù)質(zhì)量;
6)在工作人員之間更好的均衡負荷,如在工作人員缺勤的情況下,自動柔性分配替代人員;
7)通過在工作流模型中加入可預(yù)計的故障的處理策略來提高系統(tǒng)的柔性;
8)通過對已經(jīng)完成的工作流實例的分析,找出存在的不足,進而不斷改進工作流程;
9)使工作內(nèi)容更加豐富,并且提高工作人員的業(yè)務(wù)能力,減少工作人員進行單調(diào)乏味并且十分耗時的文檔查找工作。
采用工作流管理系統(tǒng)可以在最大程度上集成組織的現(xiàn)有信息資源,實現(xiàn)資源的充分利用。由于工作流管理系統(tǒng)具有較好的柔性和開發(fā)性,因此,可以保證信息系統(tǒng)能夠順利的擴展以滿足不斷變化的市場環(huán)境。另外,工作流管理系統(tǒng)在工作流模型的基礎(chǔ)上進行業(yè)務(wù)過程進行,這就意味著信息系統(tǒng)已經(jīng)從過去沒有一個具體的可量化指標(biāo)的管理信息系統(tǒng),發(fā)展到了一個建立在工作流模型上(并且是可以利用BPR或者其他仿真工具進行優(yōu)化后的模型),按照預(yù)先定義好的規(guī)則進行執(zhí)行,并且對于執(zhí)行的結(jié)果隨時進行監(jiān)控和評價的規(guī)范化階段。這種由過程建模—〉模型分析—〉過程優(yōu)化—〉執(zhí)行結(jié)果—〉統(tǒng)計分析—〉改進業(yè)務(wù)過程—〉優(yōu)化運作的實施方法為成功地實施信息系統(tǒng)奠定了堅實的基礎(chǔ)。
5、工作流管理系統(tǒng)
工作流技術(shù)是當(dāng)今一項飛速發(fā)展的技術(shù),它最基本的特性就是它能夠結(jié)合人工和機器的行為,特別是能夠與應(yīng)用程序和工具進行交互,從而完成業(yè)務(wù)過程的自動化處理。
工作流是業(yè)務(wù)的自動化處理過程,在這個過程中,根據(jù)預(yù)定義的規(guī)則將文檔、信息在過程參與者中傳遞,最終完成業(yè)務(wù)的處理。工作流管理系統(tǒng)(WFMS)是通過管理一序列工作行為以及與活動步驟、相關(guān)人員、資源設(shè)備來提供業(yè)務(wù)處理程序上的自動控制,它是通過計算機軟件來定義、管理和執(zhí)行工作流,計算機的執(zhí)行順序是由工作流邏輯的計算機描述來驅(qū)動的。
工作流管理系統(tǒng)主要具備以下三個功能特征,如圖2:
工作流定義功能,主要是對業(yè)務(wù)處理過程的計算機定義,提供了一種或多種分析、建模、系統(tǒng)定義技術(shù),將一個現(xiàn)實世界的業(yè)務(wù)處理過程轉(zhuǎn)換成計算機可處理的定義;最終的定義叫作過程模型、過程模版或過程定義,可以表現(xiàn)為文本、圖形或自然語言符號。
運行控制功能,對過程的定義進行解釋,創(chuàng)建并控制過程的運行實例,調(diào)度過程的各種行為步驟,調(diào)用適當(dāng)?shù)娜斯ず虸T應(yīng)用程序資源;工作流管理系統(tǒng)的核心部件就是工作流管理控制軟件(工作流引擎)。
運行交互接口,提供與人員或IT應(yīng)用程序工具進行交互接口來處理各種活動步驟,交互接口對于活動間的控制傳遞是必須的,如確定過程的狀態(tài),調(diào)用應(yīng)用程序工具,傳遞應(yīng)用程序數(shù)據(jù)等。
圖2WFMS的三個特征
6、工作流管理系統(tǒng)的分類
根據(jù)所實現(xiàn)的業(yè)務(wù)過程,工作流管理系統(tǒng)可分為四類:
1)管理型工作流(administrative workflow):在這類工作流中活動可以預(yù)定義并且有一套簡單的任務(wù)協(xié)調(diào)規(guī)則,例如,大學(xué)里的課程選修,完成論文后的學(xué)位申請等。
2)設(shè)定型工作流(ad hoc workflow):與管理型工作流相似,但一般用來處理異常或發(fā)生機會比較小的情況,有時甚至是只出現(xiàn)一次的情況,這與參與的用戶有關(guān)。
3)協(xié)作型工作流(collaborative workflow):參與者和協(xié)作的次數(shù)較多。在一個步驟上可能反復(fù)發(fā)生幾次直到得到某種結(jié)果,甚至可能返回到前一階段。
4)生產(chǎn)型工作流(production workflow):實現(xiàn)重要的業(yè)務(wù)過程的工作流,特別是與業(yè)務(wù)組織的功能直接相關(guān)的工作流。與管理型工作流相比,生產(chǎn)型工作流一般應(yīng)用在大規(guī)模、復(fù)雜的和異構(gòu)的環(huán)境下,整個過程會涉及許多人員和不同的組織。
根據(jù)底層實現(xiàn)技術(shù),可將工作流產(chǎn)品分為三類:
1)以通訊為中心:以電子郵件為底層的通訊機制。這種類型的工作流管理系統(tǒng)適合于協(xié)作型工作流和不確定型工作流,而不適于生產(chǎn)型工作流。
2)以文檔為中心:基于文檔路由,它同外界應(yīng)用的交互能力有限。許多基于表的管理型工作流可以用以文檔為中心的工作流實現(xiàn)。
3)以過程為中心:這種工作流系統(tǒng)對應(yīng)生產(chǎn)型工作流。它們一般建立在數(shù)據(jù)庫之上,有自己專用的通信機制并且提供了同外部進行交互的接口。
根據(jù)不同工作流系統(tǒng)所采用的任務(wù)項傳遞機制的不同,市場上的工作流產(chǎn)品又可以劃分為四類:
1)基于文件的工作流系統(tǒng):以共享文件的方式來完成任務(wù)項傳遞。這種類型產(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來實現(xiàn)任務(wù)的協(xié)作。這一類產(chǎn)品起步較晚(在95年以后),但是發(fā)展迅速,其市場前景十分看好。許多供應(yīng)商紛紛改進原有產(chǎn)品或開發(fā)新產(chǎn)品以增加對Web的支持。代表產(chǎn)品有Action Technologies公司的ActionWorks Metro、Ultimus公司的Ultimus。
4)群件與套件系統(tǒng):雖然這一類產(chǎn)品與上面介紹的三種產(chǎn)品在任務(wù)傳遞方式上有很大程度的重疊,但是在這里卻有必要把它們單獨劃分成一類,因為這一類產(chǎn)品都需要依賴于自己系統(tǒng)的應(yīng)用基礎(chǔ)結(jié)構(gòu),包括消息傳遞、目錄服務(wù)、安全管理、數(shù)據(jù)庫與文檔管理服務(wù)等,它們本身就構(gòu)成了一個完整的應(yīng)用開發(fā)環(huán)境。代表產(chǎn)品有IBM/Lotus公司的Lotus Notes、Microsoft公司的Office與Exchange、Novell公司的GroupWise。
7、工作流管理系統(tǒng)的實施
工作流管理系統(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)一般局限于解決某個或者某些領(lǐng)域的問題;事務(wù)處理系統(tǒng)的另外一個局限性是它一般局限于解決組織內(nèi)部的具體操作問題,面向組織內(nèi)部功能,而不是面向市場和面向客戶的系統(tǒng)。工作流管理系統(tǒng)的著眼點是面向市場、面向客戶,其目標(biāo)是在整個企業(yè)的業(yè)務(wù)層提高企業(yè)的業(yè)務(wù)處理水平、強化企業(yè)的市場意識、提高對市場的應(yīng)變能力。
由于工作流管理系統(tǒng)與普通事務(wù)處理系統(tǒng)存在顯著的差別,工作流管理系統(tǒng)在實施方法上也不同于普通的事務(wù)處理系統(tǒng)。要實施工作流管理系統(tǒng)首先要在戰(zhàn)略層次上對經(jīng)營目標(biāo)進行分析,確定戰(zhàn)略目標(biāo)和組織要求。工作流管理系統(tǒng)實施的層次結(jié)構(gòu),如圖3。
圖3 WFMS實施的層次結(jié)構(gòu)
在完成了戰(zhàn)略目標(biāo)分析和工作流實施戰(zhàn)略后,工作流管理系統(tǒng)才能夠進入真正的實施階段。工作流管理系統(tǒng)在實際系統(tǒng)中的應(yīng)用一般分為3個階段,如圖4,即模型建立階段、模型實例化階段和模型行階段。模型建立階段通過利用工作流建模工具完成經(jīng)營過程模型的建立,將實際經(jīng)營過程轉(zhuǎn)化為計算機可處理的工作流模型。模型的實例化階段完成為每個過程設(shè)定運行所需的參數(shù),并分配每個活動執(zhí)行所需要的資源(包括資源、人員、應(yīng)用)。模型執(zhí)行階段完成經(jīng)營過程的執(zhí)行,在這個過程中重要的任務(wù)是完成人機交互和應(yīng)用的執(zhí)行,并對過程與活動的執(zhí)行情況進行監(jiān)控與跟蹤。
圖4 WFMS 實施的三個步驟
8、國內(nèi)外應(yīng)用現(xiàn)狀與不足
8.1 應(yīng)用現(xiàn)狀
目前工作流技術(shù)的研究正日益受到人們的重視,許多大學(xué)和研究機構(gòu)都開展了很多研究項目,取得了重多的研究成果,對工作流技術(shù)的發(fā)展做出了貢獻。
由于工作流應(yīng)用環(huán)境大多是在復(fù)雜的分布異構(gòu)環(huán)境中,如企業(yè)內(nèi)部網(wǎng)或因特網(wǎng),因此應(yīng)用最新的分布對象處理技術(shù)和Web技術(shù),實現(xiàn)工作流管理成為當(dāng)前研究的重點。有影響的工作流原型系統(tǒng)有:
1)美國佐治亞大學(xué)研制的Meteor系統(tǒng):該系統(tǒng)是一個支持多范型的工作流管理系統(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)境下運行。
2)美國普度大學(xué)開發(fā)的CORBAflow系統(tǒng):該系統(tǒng)提出了基于CORBA的體系結(jié)構(gòu),支持跨平臺的異構(gòu)分布系統(tǒng)集成,支持彈性ACID性質(zhì);擴展了IDL語言以定義事務(wù)性工作流中的補償事務(wù)。
3)土耳其中東大學(xué)開發(fā)的METUFlow系統(tǒng):該系統(tǒng)提出了一種基于CORBA環(huán)境的工作流服務(wù),包括基于ACTA擴展事務(wù)模型的工作流模型、塊結(jié)構(gòu)化定義語言、工作流調(diào)度管理和并發(fā)控制機制等。
工作流的許多概念來自于辦公自動化、文檔管理、計算機支持協(xié)同工作(CSCW)等領(lǐng)域。至今約有300個稱為工作流工具的商品化軟件,但只有數(shù)十個是真正的WFMS軟件。一些著名的WFMS產(chǎn)品有:
1)IBM公司的FlowMark系統(tǒng)[9]該系統(tǒng)由對象數(shù)據(jù)庫管理系統(tǒng)ObjectStore支持。主要組件包括服務(wù)器、建立客戶器、運行客戶器和程序執(zhí)行客戶器。服務(wù)器負責(zé)與數(shù)據(jù)庫交互及協(xié)調(diào)工作流執(zhí)行;建立客戶器提供用于設(shè)計工作流的圖形接口;運行客戶器提供工作表方式的用戶接口;程序執(zhí)行客戶器提供API調(diào)用方式的應(yīng)用接口。
2)Action公司的ActionWorkflow系統(tǒng)該系統(tǒng)由微軟的SQL服務(wù)器或Lotus Notes支持,包含三個基本組件:①管理系統(tǒng)內(nèi)核用于集成和管理工作流事務(wù);②分析器提供設(shè)計工作流的專門工具;③應(yīng)用建立器用于將工作流定義轉(zhuǎn)化成可執(zhí)行的過程。此外,還提供輔助工具,如報表器用于查詢工作流的進展?fàn)顟B(tài)。
3)Sigma圖象系統(tǒng)公司的OmniDesk系統(tǒng)它使用提供ODBC接口的數(shù)據(jù)庫。其中,路徑管理器用于工作流管理和負載平衡;路徑建立器用于定義路徑邏輯;表格建立器用于創(chuàng)建工作流接口。雖然OmniDesk系統(tǒng)主要是為圖象文檔管理設(shè)計的,但是也可以管理其他類型的工作流。
4)Wang公司的OPEN/workflow系統(tǒng)該系統(tǒng)建立在自含的數(shù)據(jù)庫引擎之上。系統(tǒng)分為數(shù)據(jù)庫服務(wù)、圖形過程建立器、集成工具箱、報表工具。數(shù)據(jù)庫服務(wù)提供基本的完整性、安全性、并發(fā)控制、恢復(fù)和管理功能;圖形過程建立器用于定義過程;集成工具箱提供應(yīng)用之間交互需要的API調(diào)用和通信服務(wù);報表工具如查詢建立器和報表建立器用于訪問有關(guān)過程執(zhí)行的信息。
8.2 工作流應(yīng)用技術(shù)的不足
實際上,大多數(shù)產(chǎn)品的開發(fā)由于沒有清楚地理解用戶的需求,而不能滿足用戶的迫切需要。許多工作流系統(tǒng)主要是解決共享和協(xié)作(某些問題仍未很好解決,如異構(gòu)平臺環(huán)境、多媒體數(shù)據(jù)),而像性能、可伸縮性、可靠性對于復(fù)雜應(yīng)用系統(tǒng)來說至關(guān)重要的問題,現(xiàn)有工作流軟件并沒有考慮。主要原因是,這些系統(tǒng)的建立不是基于在線事務(wù)處理(OLTP)技術(shù)和數(shù)據(jù)庫技術(shù),只是使用數(shù)據(jù)庫做底層存儲,因而在這些領(lǐng)域缺乏技術(shù)成熟性和系統(tǒng)健壯性。
另外,由于已有的絕大多數(shù)WFMS產(chǎn)品和原型系統(tǒng)的設(shè)計是面向普通的辦公室應(yīng)用,因此存在以下不足:
1)工作流模型只能描述如辦公自動化中電子郵件或文檔等簡單的工作流,而不能描述工程設(shè)計等復(fù)雜過程處理。
2)經(jīng)營業(yè)務(wù)流程往往是復(fù)雜的異構(gòu)環(huán)境,現(xiàn)有產(chǎn)品不能提供很好的互操作性。例如,在異構(gòu)環(huán)境中,IBM的FlowMark不提供API接口以支持一個工作流的輸出,作為下一個工作流的輸入。
3)一個工作流可能涉及到多個單位和車間,或多個工廠和企業(yè),例如,在虛擬制造應(yīng)用中,可能包含成百上千個用戶,覆蓋廣域網(wǎng)絡(luò)中的數(shù)十個場地,上百臺計算機系統(tǒng)。大多數(shù)現(xiàn)有工作流軟件只是設(shè)計為一種協(xié)作工具,適用于小群體之間業(yè)務(wù)的工作流,在體系結(jié)構(gòu)上存在缺陷,缺乏可伸縮性。
4)現(xiàn)代組織應(yīng)用要求系統(tǒng)具備非常高的可用性和健壯性。現(xiàn)有工作流軟件只適合于小團體和輕負載,缺乏有效的后備機制,不具備強的故障恢復(fù)能力。
為了進一步研究開發(fā)支持應(yīng)用集成的CIMS工作流管理技術(shù),我們認為,需要解決以下關(guān)鍵技術(shù):
1)面向CIMS的工作流建模技術(shù)包括工作流模型和定義語言。如何采用彈性事務(wù)模型、分層事務(wù)模型和工程數(shù)據(jù)模型相結(jié)合的方法,設(shè)計出一種適合于CIMS工程應(yīng)用的工作流模型。
2)基于CIMS信息集成平臺的工作流管理系統(tǒng)體系結(jié)構(gòu)CORBA軟件總線提供了良好的平臺透明性和分布透明性,以及分布對象操作能力,如何充分利用CORBA軟件總線和信息集成平臺,實現(xiàn)一個高效的工作流管理系統(tǒng)。 3)面向分布對象的工作流管理和執(zhí)行技術(shù)CORBA軟件總線系統(tǒng)提供了對象引用、啟動和聯(lián)編機制。工作流管理與執(zhí)行機制需在此基礎(chǔ)上完成作為對象任務(wù)的創(chuàng)建、調(diào)度、執(zhí)行、提交或取消,保證工作流的正確性和可靠性。還需要考慮在CORBA軟件總線上增加新的公共服務(wù),如持久性對象倉儲服務(wù)、故障恢復(fù)服務(wù)等。
4)面向CIMS目標(biāo)產(chǎn)品的集成技術(shù)工作流管理系統(tǒng)是一種中間件技術(shù),適合于任何計算機分布處理系統(tǒng),在CIMS應(yīng)用集成涉及的有關(guān)系統(tǒng)中,如PDM、MRPII等,都需要這方面的集成技術(shù)。
參考文獻
[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)的可擴展性”,http://www.simflow.net
[9] 鮑震寧、范玉順,“企業(yè)組織模型結(jié)構(gòu)和建模方法研究”,http://www.simflow.net
[10] 羅海濱、范玉順、吳澄,“一種面向企業(yè)用戶的工作流模型”,http://www.simflow.net