Atitit.工作流系統的本質是dsl 圖形化的dsl  4gl -开发者知识库

Atitit.工作流系統的本質是dsl 圖形化的dsl  4gl -开发者知识库,第1张

Atitit.工作流系統的本質是dsl 圖形化的dsl  4gl

 

1工作系統的本質是dsl 圖形化的dsl  4gl1

2為什么每個項目系統都需要工作流1

3工作流dsljava .net 這類語言的關系1

4一個完整的工作流標准如下2

4.1. 增強標准2

5BPM系統由三部分組成: 2

6工作流的適應性與優缺點2

7工作流的趨勢::3

8現有工作流jbpm 微軟wwf的情況3

9如何判斷圖靈完備3

10. 工作流節點存儲結構4

11. ---end4

 

1. 工作流系統的本質是dsl 圖形化的dsl  4gl

 

工作流是dsl ,是4gl,是圖形化的dsl, 圖形化的高層編程語言

 

工作流引擎即是vm。。。專門用來運行工作流這個dsl圖形化編程語言

 

2. 為什么每個項目系統都需要工作流

工作流dsl可以圖靈完備,普通的項目都只支持seq順序流程(用戶層面上),並且用戶自定義業務邏輯比較困難(必須使用實際的編程語言,對用戶來說難度過高)

 

工作流WF 屬於4gl ,大大提升了抽象層次,未來一定會普及。。成為通用的編程語言。。

 

作者:: 綽號:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿爾 拉帕努伊 ) 漢字名:艾龍,  EMAIL:1466519819@qq.com

轉載請注明來源: http://www.cnblogs.com/attilax/

 

3. 工作流dsljava .net 這類語言的關系

Workflow wf是建立在java .net上的一種dsl ,,java Net又是建立在c c 之上的vm虛擬機的一個dsl。。。。Cc 則是建立在asm匯編語言之上的dsl

每一個層次抽象提升,會帶來更高的開發效率。。

4. 一個完整的工作流標准如下

圖靈完備(具有seq,case,for等控制結構)

變量 數組 數據等臨時數據存儲單元

自定義子過程(子函數)

必要的算數,邏輯,移位等運算單元

 

 

4.1. 增強標准

Oo支持

對頻繁調用jit inline優化

 

5. BPM系統由三部分組成:

1、流程配置工具ide WorkFlowTool(簡稱WFTool), 

2、2、流程引擎 vm 虛擬機 WorkFlowEngine(簡稱WFEngine),

3、3、業務應用平台C/S(WinApp)B/S(WebApp) 開發平台

6. 工作流的適應性與優缺點

工作流並非面向普通用戶,而是鑒於普通用戶和專業編程人員之間的一類用戶,他們沒有能力使用專業的java c#這類型編程語言,但是又需要進行編程。。所以工作流 dsl 就是比較適合他們的編程語言了。。

 

 

 

工作流的缺點主要在於性能:特別是對於md5base64這類編碼算法流程,但是如果將來加入jit即時編譯,應該性能可以得到極大提升。

許多工作流是基於圖形展示的,存儲是基於xml格式的。導致代碼復用可能會不容易拷貝粘貼。。

此外如果邏輯復雜的話,圖形會可能比文本化的dsl長度長很多。。如果工作流采用文本方式存儲和展示,可能又會造成可視化方面的下降。。

 

7. 工作流的趨勢::

不管怎么說,隨着硬件性能的提升,4gl終將會流行。。。就像java c#虛擬機隨着硬件性能的提升而取代了c 的大部分地位。。

工作流將會分為倆個部分,第一部分是圖形化編程,適合於非專業人員。。

第二部分是基於文本源碼的DSL編程,適合於專業編程人員。。

 

 

 

8. 現有工作流jbpm 微軟wwf的情況

jbpm 的最大問題是不是圖靈完備的,不能作為一個通用圖形化編程語言來實現所有系統。。

Wwf 是圖靈完備的,可以實現所有業務系統。。但是沒有一個好的圖形化標准化類庫來支持快速開發。。此外wwf的存儲是基於xml的,只有圖形化的實現。。而沒有基於文本源碼的實現模式,這導致了專業編程人員使用起來不方便。。

 

此外,vm虛擬機方面的差距也很大,工作流引擎的性能優化才剛剛起步,jit等即時編譯技術都沒應用到,導致了工作流如果編寫細節性的代碼(特別是底層算法類的代碼),性能消耗比較大。。

 

 

Ide方面,工作流的ide 比較爛,根本還不能和vs eclipse系列相比。。工作流ide方面還有很大的提升空間。。

 

 

9. 如何判斷圖靈完備

 簡單判定圖靈完備的方法就是看該語言能否模擬出圖靈機

圖靈不完備的語言常見原因有循環或遞歸受限(無法寫不終止的程序,如 while(true){}; ), 無法實現類似數組或列表這樣的數據結構(不能模擬紙帶). 這會使能寫的程序有限

 

 
圖靈不完備也不是沒有意義, 有些場景我們需要限制語言本身. 如限制循環和遞歸, 可以保證該語言能寫的程序一定是終止的.

 

 

 

10. 工作流節點存儲結構

Id   :對應語言里面的標號,行址

Name: 顯示名稱

Ui_id  對應的界面ui id

Next   下一個節點id (預定義有下一個id,調用子函數返回斷點id case for結構block塊結束id

State   是否在此節點。。原來debug方便。。

 

 

11. ---end

 

 

什么是圖靈完備? - 編程語言 - 知乎.htm

 

 

最佳答案:

本文经用户投稿或网站收集转载,如有侵权请联系本站。

发表评论

0条回复