1. 程式人生 > >你明白工作流是什麼、怎麼用了嗎?

你明白工作流是什麼、怎麼用了嗎?

·概念

  今天小編將和大家分享一個新的知識點——工作流。我們可以將工作流理解為工作流程,它在IT領域不算是“新人”了,工作流思想在上世紀60年代就有人提出過;70年代就有人開始嘗試,但是由於當時許多的限制,工作流一直沒有成功的被實現;80年代才出現第一批成功的工作流系統;90年代工作流技術走向了第一個發展高峰期;90年代後至今工作流出現了很多版本,但是主旨還是不變的,為了使我們的工作變得更加高效。

WfMC(Workflow Management Coalition)工作流管理聯盟對工作流的定義是這樣的:工作流是指一類能夠完全自動執行的經營過程,根據一系列過程規則,將文件、資訊或任務在不同的執行者之間進行傳遞與執行。說的直白一點工作流就是封裝好的一種框架,我們利用這種框架來解決需要多個人或者多個部門協同完成的某項工作。工作流框架有許多都是開源的,我們可以盡情的拿來學習、研究最終運用到我們的系統中。

·分類

  正如我們有許多程式設計語言一樣,工作流也分為幾類,下面就讓我們來認識幾種比較常見的工作流: 第一個我們要介紹微軟的一款工作流軟體——WWF(Microsoft Windows Workflow Foundation),這是微軟出的一款框架,這款框架是和微軟的VS相容的,而且它是一款可擴充套件的框架。在VS中我們可以建立一個工作流專案,小編下午實驗了一個小時沒有實現,但是後面會進行再次嘗試的。 公司有兩級領導,一級為主管Chief,一級為老闆Boss
場景描述:

  在某公司中,部門員工休假需要主管Chief的批准。 
  如果休假天數大於10天,則 在部門主管同意後,還必須老闆Boss批准。 
  如果是部門主管請假則直接提交老闆批准。 
  在休假被批准之前,申請人可以撤銷休假申請。 
  申請批准後,對休假天數進行修改(也可以是其他業務資料處理)。 每次休假申請結束之 後,不管通過未通過或是否取消,都必須記錄下來。 
  流程結束時,系統要把請假的結果資訊Email給申請人。

  對於大於10天的申請,如果部門主管已批准同意而上級主管還未批准,這時申請人撤銷申請後,系統應發Email通知部門主管申請已撤銷。

使用WWF建立流程:
1. 啟動VS2010,建立一個順序工作流控制檯的程式。
2. 輸入專案名稱,點選確定,將自動進入流程設計介面。
3. 自動生成的Workflow1.cs是一個工作流元件。
4. 工具箱中拖放一個IfElse活動元件到設計介面上。
5. 此時就需要較多的編碼工作和表單介面設計工作,如在idelseBranchActivitiy1左側分支,用以判斷請假人是否新申請請假還是取消請假,啟用Conditiong屬性,並且新增內部事件EvaluateQingJiaNoValidCode,並激活,在內部輸入邏輯程式碼根據資料庫記錄判斷請假是否通過,未通過則取消請假。也可以走另一分支EvaluateQingJiaCode繼續申請新的請假;
6. 拖放parallelActivity1元件在IfElse節點後,用以判斷請假人是否為Chief,設定sequenceActivity1中的codeActivity3屬性的ExecuteCode處理程式為EvaluateChiefNoValidCode,並激活,內部程式碼用以判斷不是Chief的情況,另一分支sequenceActivity1中則判斷是Chief的情況;
7.如果不是Chief請假,則需要在EvaluateChiefNoValidCode中進行邏輯判斷和表單的設計,填寫請假申請單, 並拖放IfElse元件,實現其中的codeActivity6程式碼用以判斷大於10天的情況。
8.F5即可執行控制檯程式,其中的通過未通過或是否取消的資料需要記錄,需要通過程式碼和設計資料庫來實現,傳送Email也需要程式碼實現,WWF沒有提供該功能。

                                                                     
第二個我們介紹一下BMP,這個工作流全稱是Business Process Management(業務流程管理)。它分為兩款java版(JBPM)和.net版(NETBPM),它是開源的框架我們同樣可以在網路上學習。在百科中有人闡述到JBPM是西方思想的結晶,跟中國理解的業務存在一定的差距。 JBPM的另一個特色是它使用Hibernate來管理它的資料庫。Hibernate是目前Java領域非常流行的一種資料儲存層解決方案,只要是 Hibernate 支援的資料庫, JBPM 也就支援。通過Hibernate,JBPM將資料的管理職能分離出去,自己專注於業務邏輯的處理。 因為對hibernate不太理解,所以重要的理解工作還是留到後面有機會的情況下繼續學習,推薦一篇看到的部落格:工作流技術jbpm學習總結 BPM工作流的工作原理用圖來表示的話如下所示:(場景類似上一個例子)                                                                                                         
第三個工作流小編和大家說說Activiti工作流,這個工作流是從JBPM中發展而來的,老師上課的時候說過一句學校用的也是這個工作流,但是上網搜了一些資料,發現自己還是不太懂,只是能夠理解它的意思。 這次就先跟大家聊到這裡,等下次我們深入瞭解一下工作流。

相關推薦

明白工作是什麼怎麼

·概念   今天小編將和大家分享一個新的知識點——工作流。我們可以將工作流理解為工作流程,它在IT領域不算是“新人”了,工作流思想在上世紀60年代就有人提出過;70年代就有人開始嘗試,但是由於當時許多的限制,工作流一直沒有成功的被實現;80年代才出現第一批成功的工作流系統;

colemak,?

可能 inf mage 習慣 多個 情況 tps 很好 基礎 為了輸入代碼的感覺更好,我學習了colemak鍵盤布局,這個布局它是在QWERTY的基礎上改了10多個鍵. 開始的三天,感覺非常不好,每按一個鍵都要思考很長時間,幹脆在網上找了個在線打字的網頁去練,感覺還不錯,

2018年度Top25“糟糕”密碼,

SplashData公司在評估了網際網路上洩露的500多萬個密碼後,發現大量計算機使用者持續使用相同的易於猜測的密碼,使得他們面臨遭受黑客攻擊和身份被盜的巨大風險。 “123456”和“password”等常見易破解的密碼仍佔據榜首,而尤為“亮眼”的是,美國總統特朗普以“donald”首次亮相在

DataGrid/DataList, ?

By icyer from CSDN 很久以前就想寫一些關於DataGrid/DataList的東西,但是一直以來,一方面自感所學未深,另一方面,總覺無從下筆,一拖再拖,離剛開始的念頭已距一年有餘。DataGrid/DataList在ASP.NET中的重要性,想必就不用我再強

NSTimer真的會!!!

// // SvTestObject.m // SvTimerSample // // Created by maple on 12/19/12. // Copyright (c) 2012 maple. All rights reserved. // #import "SvTestObject.

[NSTimer]NSTimer真的會

- (void)applicationDidBecomeActive:(UIApplication *)application { // Restart any tasks that were paused (or not yet started) while the application wa

typename

相信typename在模板中用做作class關鍵詞的同義詞大家都懂的,但是typename用作型別名指示符確實很少用,作用在於指示編譯器一些名字是型別名還是變數名。 詳細例子如下: 型別名指示符 考慮下面的錯誤程式碼: template <typename T&g

NSTimer真的會??

- (void)applicationDidBecomeActive:(UIApplication *)application { [NSThread detachNewThreadSelector:@selector(testTimerSheduleToRunloop1) toTarget:se

java 8 Lambda 表示式

jdk1.8沒有新增新的關鍵字 lambda ,而是用()->{} 這麼一個表示式符號來表示 lambda 這麼一個新鮮的函式是為了什麼?使用 這個表示式 有可以給我們帶來什麼樣的好處呢?敬請關注 本臺 Lambda 的無窮大 在寫之前肯定是要看關於

UpdatePanel控制元件,真的會

文/gxlxzys  出處/部落格園    剛接觸這控制元件的時候,感覺這東西好神奇,把頁面中的東西放進去就能實現非同步重新整理,其它的什麼都不用做。我就這樣一直用了一段時間,最近才發現 UpdatePanel控制元件並不是個簡單的東東,我想肯定還有像我這樣把UpdatePa

Sentry錯誤日誌監控

無論作為新手還是老手程式設計師在程式的開發過程中,程式碼執行時難免會丟擲異常,而且專案在部署到測試、生產環境後,我們便不可能像在開發時那樣容易的及時發現處理錯誤了。一般我們都是在錯誤發生一段時間後,錯誤資訊才會傳遞到開發人員那裡,然後一頓操作檢視程式執行的日誌,就熟練使用awk和grep去分析日誌,但是往往我

Dotnet Core下的Channel,

今天給大家分享一個微軟官方的好東西:Channel。   前言 今天給大家分享一個微軟官方的生產者/消費者方案的特性解決:Channel。 Channel在System.Threading.Channels名稱空間下,Core 2.1使用時,需要從Nuget上安裝。 % dotnet 

文章遲遲不被收錄,的標簽寫對

展示 內容 blog fff pro color water png strong 標簽是什麽? 要想知道標簽寫對了沒有,首先應該知道標簽是什麽。簡單來說,標簽是一篇文章的中心與重點詞匯的提煉。準確有效的標簽可是使搜索引擎更快速準確的認識到你的文章是寫什麽的,當然也更願意收

工作字段公式模式(業務)

mage ima div 技術 controls display 分享 觸發 log 1.設置執行條件 2。設置條件 3.設置任務 (當條件觸發時具體執行的事件) 以截圖的這個工作流為例: 當設置數字1和貨幣字段1的值為0時。會根據工作流

區塊鏈寵物系統開發:的遊戲裏寵物養成

區塊鏈 寵物遊戲養狗吸貓玩雞仔,區塊鏈遊戲已經得到很多人的喜愛,並且速速占據新應用玩法的一席之地,成為吸金法寶。區塊鏈作為新興技術的網紅選手。吸引了國內各大互聯網科技巨頭的入場,網易“招財貓”、百度“萊茨狗”、小米“加密兔”相繼上線,區塊鏈寵物養成遊戲大戰已經開始。區塊鏈寵物養成遊戲可以在PC端或者是手機端

Zookeeper 基礎工作ZAP協議

ZooKeeper 基礎 在深入瞭解ZooKeeper的運作之前,讓我們來看看ZooKeeper的基本概念。我們將在本章中討論以下主題:1、Architecture(架構)2、Hierarchical namespace(層次名稱空間)3、Session(會話)4、Watch(監視) ZooKeeper的

跳槽季?測試題沒有80分,真的準備好換工作

跳槽季?測試題沒有80分,你真的準備好換工作了嗎? 這套簡單的技術測試題,你能的多少分呢 金九銀十,換工作熱潮來臨! 不滿意現有工作?想換更好的公司發展?先試試自己的技術基礎是否紮實吧~ 俗話說:“ 知彼知己,百戰不殆 ” 測一測這些前端面試題,你能得多少分? 話不多說,直接放上測試

AG視訊技巧打法瞭解多少,都學會

AG視訊技巧,網戰【8d9a】。c0m 我覺得百嘉樂不能想得太複雜,說白了,其實就是在兩對(四個)對立的元素裡面進行選擇:莊-閒,連-跳。這兩對矛盾的東西,出現的理論概率都是50%-50%,在百期的資料裡面的偏差極限能達到7:3,千期裡面偏差極限能達到5.5:4.5,萬期裡面基本上就比較均衡了,一般不超過2

odoo10 工作安全機制嚮導

一:工作流  工作流是與業務流程相關聯的模型,可用於跟蹤工序的動態演變過程。 工作流、活動(節點或操作)、轉換通常在xml裡以record定義。在工作流中處理的單個流程稱為工作項。 與模型關聯的工作流是在建立模型記錄時生成的,工作流定義之前建立的模型記錄是沒有相應的工作流的。 工作流的一般開

2018年給移動手遊體檢

近年來,隨著移動智慧手機的發展,移動手遊也成為一項快速發展的產業,並在最近一兩年呈現出蓬勃發展的態勢,尤其是以亞太地區最為明顯。據App Annie的研究顯示,2017全球iOS應用商店消費的50%以上來自亞太地區,每個地區70%以上的消費用於了遊戲。 不同於以往人們熟悉的頁遊、端遊和網遊,