關於訊光 產品介紹 專刊分享 下載專區 討論專區 成功案例 線上範例 人才中心
關於訊光
產品介紹
專刊分享
下載專區
討論專區
成功案例
線上範例
人才中心
首頁 > 專刊分享 > 新一代的IT系統革命 - EEP2006 WF


新一代的IT系統革命 - EEP2006 WF 訊光科技
發表日期:2007/9/12     瀏覽次數:7841
EEP2006 AJAX的靈活應用

              

 

Andy Kao


 

前言
 

  Workflow Management System(工作流程管理系統),市場上流行至少5到8年,初期大都用來解決企業文件流通與簽核的問題,由於無法與MIS系統ERP相互整合,所以近年來,國際大廠紛紛標榜與ERP結合的Workflow,這已經是現代應用軟體的標準配備,也是企業電子化的必備功能。也因為此,國內外的軟體廠商也漸漸對這個未來趨勢投入不少研發能量,目前大都是以現成的Workflow 工具與ERP或套裝軟體結合為主,市場與應用的情況也逐漸讓國內企業能夠適應而漸漸成熟,但多數的Workflow系統大都是獨立於資訊系統之外,企業必須額外讓現有的資訊系統與Workflow整合,往往花費很多整合與開發的時間。為此,我們除了完全以企業實務應用為角度外,結合微軟最新發展的Windows Workflow Foundation為核心引擎,並繼承上一代訊光所發展的Fast Flow傳統易學易用的優點,重新整合新的工作流程觀念與符合WFMC(Workflow Management Coalition)的定義標準,打造一個能滿足多數企業需求且又兼具彈性與易用的工作流工具系統。
 

 

      現有Workflow 軟體的限制

 

早期市面上的Workflow 有幾個特性與限制,簡單說明如下:

 

1. 完全以表單或單據去思考工作流程,這個角度原則上沒有什麼不對,但在單據流動的過程中,不同角色(各部門)會有一些差異(欄位與表單表現方式不同),對傳統不是以Workflow 引擎的系統就很棘手。

2. 同上,那些表單與單據與MIS或ERP系統的資料關係完全沒有關連,造成資源重覆浪費,有時會發生雙軌作業,讓企業疲於奔命,效率大為降低。

3. 表單的作過於封閉與複雜,有些流程表單的作工具與市面上流行的工具有所差異,造成學習困難與一定的封閉性,開發的速度也不夠快,在流程中的單據資訊也很難去透明化與揭露資訊。

4. 國際大廠的Workflow工具,功能上差異不大,但在易用度上與國內的Workflow流程工具還是複雜許多,另外就是中文化的問題,多數的國外工具都有少許的中文與多語的問題存在,當然國際大廠的產品好處就是彈性與深入度,但在技術支援與學習上就會有些困難存在,尤其是彈性會讓Workflow預設架構過於簡單,啟動Workflow工程將耗時費力。

5. 異常處理對Workflow來說是件非常重要的事,因為所有基層的單據在處理後,會停在哪一個作業活動或哪一個角色(用戶)上,必須要有一個機制來專門處理,並發出警告,當然大部分的Workflow工具也慢慢都有這些功能,只是在流程中進行的單據資訊與資料系統間的整合是困難的,因為大部分的Workflow工具是與資料庫系統無關的,很難與你現有的資料庫做整合,如要整合就必須特別設計ㄧ些介面程式來輔助,開發效益不是很高。
 

 

      企業為何須要Workflow軟體

 

  企業為何要Workflow系統呢?我們可不能告訴企業,因為那是潮流,那是趨勢,當然也不是每個企業都需要Workflow,因為Workflow對小企業而言是多此一舉的,Workflow就是單據在流動,如果企業的人少,每個人都身兼數職,導入Workflow的架構就是造成自己輸入單據,又呈給自己審核,搞不好別人簽完後,又丟給自己為待辦,如此反而大大降低企業效率,還不如使用傳統的軟體來得適用些,以目前的情況看來,筆者評估在20~30個工作站以上的企業比較可能可以採用Workflow的架構。以下我們分別來說明企業為何要使用Workflow為架構的MIS系統。

 

1. 自動化資訊流

Workflow主要就是解決企業表單與單據的流動,這種流動在20年前,都是紙上作業,公司有一套制度在流動並簽核各式表單,到了現代,資訊系統已可完全取代人工表單,各種資料都存放在資料庫與Web網頁上,但為了讓管理者掌控資訊,須採用人工簽核,另一方面也是為了因應主管可能不懂也不會使用電腦,於是便成了電腦列印表單,主管們在該表單上簽字並流動,因為必須依賴人為的呈送,所以企業必須讓所有員工與管理者熟習這一套制度,以避免人為的疏失。但有了Workflow就不會有這個事情發生,是由系統主動按企業制度找主管簽字,不會讓新來的工讀生或祕書弄錯弄丟了,並在機密上也不會有文件被Copy或偷窺的問題,達到企業自動化的目的。

 

2. 便於教育訓練與制度的透明化

企業人才的流動幾乎是不可避免的趨勢,但企業必須花很多時間去教育新人關於公司制度、單據流程與資料系統的操作,好不容易學會,人又要走了,造成企業不少的困擾,如果結合Workflow來整合企業應用系統時,其情況將會明顯的改善,首先是企業流程的透明化,在Workflow系統中,會顯示出企業的各式作業流程圖,供使用者直接操作,如此的界面將讓使用者直接了解企業簽核流程,降低教育訓練的成本;另一個重點則是資訊系統的改變,傳統的系統是以密密麻麻的功能項為操作界面,讓企業使用者或主管難以學習,如改用Workflow的應用系統後,則除了業務的接觸者外,大都是由Workflow系統告您今天有多少待簽核單據,簽完了就代表沒事了,如此的系統可節省至少40%以上的操作學習,讓作業者與Workflow系統作最佳的結合。

 

3. 符合ISO,落實BPM

企業有點規模之後,就會規範企業的制度與遊戲規則,從10幾年前的ISO熱潮到目前還是沒退,因為那是基本的企業競爭力,很多企業都把ISO當作與同業競爭的必要武器與企業形象,來提昇接單能力。到最近BPM與BPR的風行,企業都希望能透過的組織與機能的改造或強化企業制度的落實與改善,來達到提升企業的運作效率與降低企業的經營風險。導入Workflow可以利用資訊系統來落實企業的制度與規則,讓企業的處理流程進行中的表單與單據做有效率的傳遞簽核,並能達到控管的目的,任何單據與制度都會隨著Workflow的預先設定來傳遞,並可以隨時加入稽查點與稽查條件,防止職權疏失與人為的錯誤,讓企業管理者都能運籌幄之中,洞悉千里之外。

 

4. 提昇企業運作效率

由於Workflow的每一活動(Activity)間都有其時效性,系統也會針對這些作業活動加以監督,一有逾時現象,除了警告作業中的負責人外,也會反應給其上級主管,如此才能更有效率讓企業單據能在限制的時內完成簽核與授權。另外由於Workflow系統真實記錄了整個簽核的處理時間,於是整個月下來可輕易掌握各主管部門的簽核績效與工作量,如果再將其統計一年,則可將這些統計資料加以整理歸納成了年度考績的參考,這都是導入Workflow系統所帶來的重大效益。

5. 異常預警的功效

前面說到逾時的處理,只是異常預警系統的功能之一,一個規劃完善的Workflow系統,都應該有一個強大的監督系統,定時週期性來檢查各種資訊狀況,例如也可以將企業的目標管理或KPI值納入異常預警當中,隨時來監督目標的執行情況(各類資料庫回報的數值),再配合企業數位儀表板有效率及圖形化的顯示,讓企業管理者的螢光幕有如飛機的駕駛艙,管理者僅須注意儀表板的數據與燈號,再加以追蹤與確認狀況即可。

 
 

      EEP2006 Workflow Foundation

 

  這是個採用Microsoft .NET 3.0 Workflow Foundation為核心技術的Workflow工具系統,可以整合快速的電子表單工具--EEP2006企業電子化開發平台,輕易與企業的ERP等資訊系統整合,讓企業流程與單據在可靠且穩定的Workflow 環境下落實BPM管理制度,改善企業流程,讓企業大幅提作業效率與監督控管能力,EEP2006包含了下列幾個部分:

 

1. 流程開發器:提供管理師用來設計企業流程所使用的開發介面,如圖,開發者的背景是流程規劃

    師,可以ISO的制度或企業流程,來設計流程介面,圖中間區域為流程設計區,設計者在此設計流

    程,右上方為活動元件(Activity)區,可以將活動元件貼入設計區中,下方為屬性區域,可以用來定

    義所有元件的別屬性。

  
 

EEP2006 WF有十餘個活動元件,也些元件須配合EEP2006的Windows表單與Web表單來呈送與審核,另外,本WF是一個與資料庫高度整合的系統,因此任何一個工作流程都須配合一個主資料表來進行流程運作,流程設計器所設計的結果會存成XOML檔案格式。

 

2. 流程引擎:EEP2006的流程引擎是以.NET 3.0的Workflow Foundation為核心所開發的架構,整個核心

     為3個dll構成,這3個dll都是建置在EEPNetServer上(EEPNetServer就是EEP2006的Application Server,除

    了當作應用系統的服務器外,也可以為工作流程服務器),其中FLRunTime.dll為執行中心,控制

    所有線上流動的單據與活動;另兩個dll分別為FLCore.dll與FLTools.dll,分別代表WF的公用程式接口

    及活動元件庫。FLRunTime與FLTools是個開放原始碼的程式,可以讓企業自行增加活動元件與改善

    流程引擎功能。

 

3. 使用者介面:使用者介面上主要有三個元件負責,FLWizard元件負責取得流程待辦(該User的承辦

    單據)與經辦(該User送出或經辦過的未結案單據);FLNavigator則負責將單據呈送或進行審核退回等

    工作,會與Server端的FLCore自動進行溝通;FLDesiginer元件則負責讓流程開發器所設計的流程圖

    可以顯示出來,讓User可以透過流程圖點選與操作單據。

 

 

待辦事項:指該User所扮演的角色下(可能有多個角色),有那些單據是該角色要簽核或承辦的,此待辦事項是個統一的窗口,不分流程與單據都會顯示在待辦中,如同Email一樣,User只要打開該待辦,即可直接打開相對表單進行簽核(可以是Windows或Web表單),此表會顯示緊急/重要與否,或是否逾時等功能。

 

經辦事項:指該User所簽核過而且未結案的流程與單據,如此可以用來快速瞭解任一單據或流程已進行到那一個步驟,停在那一個主管或呈辦人員身上,讓User有更好的追蹤功能,並且也可以透過這個窗口,將已送出且主管未簽核的單據取回,解決萬一送出才發現錯誤而無法退回的問題。


EEP2006WF活動元件

 

在EEP2006 WF中,整個流程設計都是以活動元件所構成,以下我們將EEP2006 WF的幾組活動元件(Activity)說明如下:

 

1. ParalleActivity :平行處理活動元件,可同時處理多個活動的會簽(條件AND)與平行簽核(OR)

    ,會簽會等所有平行活動審核完畢才會往下流動,平行簽核則是只要有任一活動審核就會往下流

     動,目的是可以提升簽核效率。

2. IfElseActivity : 邏輯判斷元件,可以定義一個或多個邏輯判斷式,來處理企業的商業邏輯,

     分支處理只能走單一路線往下流動。

3. FLStandard :標準活動元件,這是最基礎的活動元件,用來設定使用一個Windows與WEB表單

     來進行簽核,並設定呈送的對象與角色。

4. FLApprove :審核活動元件,這是一個專門用來審核的活動元件,與FLStandard同樣設定一個

     Windows與WEB表單來簽核,本活動的對象一定是呈送者的主管,最特別的是本活動可以依不同

     的職級來設定不同的核決權限條件,不必去組合多個IfElseActivity活動變得龐大複雜。

5. FLNotify :通知活動元件,這個活動主要用來通知一個特定的對象,讓該對象能即時收到通

     知,並且無論該對象處理為何,都會往下繼續流動,也就是不會受到這個活動的影響而停滯。

6. FLProcedure :處理程序活動元件,該活動是對應到Application Server上的一個伺服程式(Server

     Method),就是流程經過本活動時,會執行該Server Method,並且會告之流程方向(有往後呈送與往

     前退回)。

7. FLPrepare :準備活動元件,其實與FLStandard是一樣的活動,差別是在FLStandard只能用來新

     增單據並呈送,而FLPrepare則用來先查詢資料,然後再來往下呈送,一般用來轉接啟動另一個流

     程。

8. FLValidate :稽核活動元件,這是一個資料或制度稽核的檢查,可以預先設定條件,如條件不

     符合,系統會自動退回處理,符合才能往下流動。

9. FLHyperLink :連結活動元件,此專門用來讓User來操作的活動元件,在Server上的WF引擎將

     不做任何處理,當User按了這個連結活動時,會打開指定的另一個流程圖。

10. FLQuery :查詢活動元件,此專門用來查詢簽核中或結案的單據,結合在流程活動中以方

      便User查詢資料,當然本活動元件在Server上的WF引擎是不會有任何作用的。

11. FLReport :報表輸出活動元件,用來連結一個Web或Windows表單,讓User可以直接透過此表

      單將簽核的單據印表出來,很多對內的單據是可以不必印出來,放在系統即可,但是對外的表單

      就必須印出來對外作業(如須讓客戶/廠商簽收的單據),不同的是本活動只能往下流動,無法退

      回,因為它是專門用來審核後印表的元件,當然無法逆流回去的。

12. FLReject:中止活動元件,此專門用來中止流程的進行,也就是強制作廢本張單據,除了作廢

      外,會指定執行一段ServerMethod進行中止或錯誤的處理,並可設定中止通知的對象。

 

以上的活動元件,有些可以設定一個Windows或Web表單,可以兩者都設或任選一個,目的是為了流程當中,User可以透過Web或Windows來簽核都可,以整合企業內外的管理者與用戶,當然Web系統會自行對應到Web的表單,Windows的系統就對應到Windows表單。

 
 

    Workflow對象與角色

 

  在上述的活動元件中,有些活動元件會定義活動的對象或角色,所謂角色,就是在企業中的職務機能,就是由某一個或多個User所扮演,整個系統都是以User為中心,當User登入後,系統就知道該User隸屬那一個部門(或那些部門),扮演那些角色等等,系統就會依權責,呈現該角色的待辦與經辦的資料給登入者,在上一代WF產品中多達9種的對象,但到了這代產品,我們已經簡化到只剩4種,但功能不變,都可以滿足原本的需求,現將這些活動元件的對象角色說明如下:

 

1. 角色:活動的對象為某一企業角色,如業務經理,也可能會有一個角色對應到多個User身

    上,此時,任何User扮演這個角色都可以簽核,使用時必須注意這點。

2. 參考角色:該活動元件的對象有時不會固定,如可能是在單據申請或審核當中才去臨時決定

    後面活動的承辦人時,就會用到參考角色,這種情況是很常見的,如維修申請單,公司維修

    員有3人,主管會依情況填寫負責維修人員,此時,維修通知就會依主管填寫的【維修人

    員】欄未來決定下一個活動的對象,而不是由Workflow系統預先設計好的,所以,參考角色

    必須另外設定參考欄位名稱才能讓系統可以往下運作,這個例子中,【維修人員】欄位就是

    指參考欄位名稱,內容必須為維修人員的角色代號。

3. 主管:該活動的對象為呈送者的主管,此時系統會自動依呈送者的角色(如果多個角色會讓

    User選擇一個角色) 在組織中找到其直屬主管。

4. 申請人:該活動的對象是最早的申請者,目的是要回來讓申請者了解審核的情況,或已授權

    可以印出單據或審核通過通知等等。

 
 

    Workflow組織與角色

 

Workflow是一個與其他系統非常緊密的系統,在設計一個Workflow之前,除了應該將簽核表單設計好之外,也要配合其他的設定,如公司的組織部門的結構,到人員的編制與部門機能,各部門主管的職級與核決權限等等,以下說明與Workflow相關的基本設定。

 

1.   群組與角色設定:系統的設定除了User外,還有群組的設定,群組就是代表多個Users,一般代表部門或特殊群組,但在Workflow系統中,群組可以用來作為角色來使用,只要在群組當中設定「角色」為「Y」即可,如下圖,角色一定是群組,但群組不一定是角色(設為Y的才是角色),有時角色只能有一個User(如部門主管),但有時可以多個,這個設定與前版的EEP Flow有很大的不同,主要是關係變簡單了,設定也變簡單了。

 

2.   組織設定:企業組織在Workflow中是必要的設定,否則將無法正常運作,因為Workflow是用來規範企業的簽核制度,由屬下填寫單據往下呈送,過程中必須定義那個User在企業是扮演什麼職務(角色),在什麼組織與部門之下,主管是誰,其後面有沒有另外的主管等,都是透過組織來設定完成的。

 

                組織定義是以一個樹狀的結構來定義,由上往下定義,每個組織或部門都要定義其主管為那一個角色負責(一定要以角色來定義),其部門之下有那些角色成員(有那些角色編制),注意這些組織的成員中,大都是複數角色(一個角色代表多個User,如業務,工程師),但如果是主管或特定的角色(如出納或倉管),一般都是單獨角色(一個角色一個User扮演),否則簽核到該角色時,如果有多人則會有權責的問題。

 

3.   職級設定:企業在制訂流程時,一般主管簽核的活動元件(FLApprove)並不是單層簽核即可,都會依據單據情況來自動決定簽核的層級,如最常見的請購單,可以制各級主管的請購金額上限,如一般主管為一萬元,經理為三萬元,副總為十萬,超過十萬則要總經理簽核等。如此在FLApprove中就必須制訂各部門主管的職級,好讓系統遇到主管簽核時能自動依據主管權責條件來決定簽送到那個層級主管。如圖即為職級設定的畫面。
 

     

 

4.   組織代號設定:前面的組織設定中,是可以有多套組織一起運作,如公司會有一個行政組織,可能還會有一個公會組織(福委會)或特殊的專案組織等等,因為組織的不同,部門主管與成員也不同,因此在Workflow中必須定義對應到那一個組織以方便系統自動運作,但為了方便,在Workflow建立時,系統預設都視為公司行政組織。
 

     

 

5.   代理人設定:由於企業的User並不是一直都在公司或能上網的地方,因此只要有人請假或出差就會有代理人的問題,因為Workflow電子簽核,一定要有人上線簽核才會往下流動單據,因此企業主管出差請假前就必須讓系統知道由誰代理原來的角色,代理的設定將有時間性,如下圖定義此角色將由那個User代理並指定期間即可。


 

 

上圖中,注意有一個「平行代理」欄位,正常代理情況下都是「N」,如果為「Y」代表被代理者與代理者間的關係是平行的關係,也就是此代理關係是屬於常態性的代理,並非一段期間的代理,在待辦事項中兩者都會看到相同的單據,兩者也都可以對此些單據進行簽核,不同的是如果是原角色簽核時將不會發出「通知」給平行代理者,反之,如果是平行代理者簽核時,流程將會繼續往下流動,同時系統將會自動發送「通知」原職務角色,其目的是為了解決原職務角色經常外出,公司內部的職務將有一位常態的代理人,以免因主管外出影響公司運作。

除此之外,代理的權限也可以被設定的,一般來說我們是以流程為單位,那些流程可已被那些User代理,可以別設定也可以全數代理,讓代理的功能可以更加彈性與廣為應用。

 

      結語
 

         市場上,Workflow 已是激烈的戰場,不管是國內與國外廠商都有自己一套的Solution,我們是基於過於複雜與整合不易的角度切入,希望能為國內企業樹立一個易用且彈性的Workflow觀念,目的是希望企業能快速且容易的導入Workflow系統,並能直接整合企業的ERP與其他資訊系統。隨著兩岸分工與國際化的發展,多點營銷、製造及研發已蔚為風潮,外部的流動與出差人員比率也越來越高,在當今被高度重視BPM管理的時代裡,企業確實需要一套Workflow工具來強化管理,落實企業制度與e化目標,企業的管理也必然透過internet延伸到機場、旅館、家裡,除了提高企業的運作效率與提升競爭力之外,也能提高主管的生活品質,畢竟在家就能簽核單據與掌握公司狀況,對長期出差奔波與加班的主管來說,確實是件很有意義的事,也是各位從事資訊發展的團隊一種新的使命與里程碑,期待不久的未來,一起分享這些許久未曾感受的成就感與榮耀。