摘要:計算機硬件需要中央處理器,而計算機軟件則需要中央控制器—工作流引擎。工作流引擎不但可以靈活控制軟件的業務邏輯,快速適應需求的變化,還可以大大提高軟件的開發效率,為公司節省成本提高競爭力。文章介紹了嵌入工作流引擎的設計思想與實現方法。
關鍵詞:工作流引擎;應用開發;Java;Hibemet;Servlet
0 引言
在每個軟件工程項目中,軟件工程師都會面對的一個問題是:邏輯,即遵循一定規律的流程。流程可能是業務流程,也可能是生產流程。軟件就是為這些流程量身定造的用于提高工作或生產效率的產物。因此在軟件的開發過程中,程序員都不斷地用重復的代碼去塑造出這些流程,即業內人士所述的工作流。然而,在軟件的維護過程中,往往由于業務或生產流程的變化,使得軟件必須作出相應的修改。于是開發人員又要面臨修改代碼的任務。簡單的流程代碼倒不成問題,若碰上比較復雜的流程,則需花上較長時間去弄清楚代碼的結構然后才能著手去修改,既費勁又容易出錯。于是,有人便提出把整個軟件流程圖形化地表現出來,而且可以自定義。工作流引擎便應運而生。工作流引擎不僅解決了軟件維護上的問題,而且它可以靈活地應用于不同的項目中,減少代碼的編寫量,從而加速軟件的開發過程。例如:業務流程A->B->C->B,用工作流引擎的方法表示如圖1所示。

顯然用工作流引擎的方法定義流程,既邏輯清晰又形象。倘若業務邏輯需要變化,只需在工作流引擎上把流程方向線修改一下便可,免除了改動代碼并且重新編譯程序的麻煩。……