從程式員的角度來看為什麼我們需要工作流程

來源:互聯網
上載者:User

標籤:工作流程   jbmp   

     每一個程式員,在接觸到工作流程的時候,都會有這麼一個疑問——我用一般的方法可以實現,為什麼還要用工作流程?       我曾經也問過這個問題,不過現在稍微有點明白了。別著急要答案,看過下面的例子,或許你也就明白一些了。
     這是一個簡單的業務——訂貨流程:
  1. 客戶提交採購訂單

  2. 業務員執行訂單處理

  3. 如果缺貨,轉工廠生產
           
  4. 倉庫出貨

  5. 物流發貨


    如果不使用工作流程技術,從頭開始開發這個訂購流程的商務邏輯,我們需要:
  • 每個活動點都需要開發互動頁面和幕後處理程式

  • 每個活動的流轉都需要硬性判斷下一步活動節點及其操作人

  • 每次操作都需要維護業務資料和流程的相關資料

    最終結果就是這樣:


     這還不包括監視、控制、分析流程的部分。
     但是,如果我們使用了工作流程
   這樣看起來就簡單多了。右側的工作流程管理系統,接管了所有訂貨業務在流程方面的定義和執行。這樣做的好處很多:
  • 使用專門的流程資料系統,維護所有涉及流程流轉的資料。

  • 提供“流程設計”工具,協助使用者定義訂貨流程的模型,而且一般都提供了可視化的介面。

  • 所有的流程都依靠流程引擎來處理,避免了需求更改與寫入程式碼之間矛盾的產生。

  • 工作流程引擎還提供了眾多的API,可以很方便的將工作流程的管理和業務操作完美結合。

   所以在合適的項目中引入工作流程技術,對於基礎開發來說,是非常有益處的:
  • 降低開發風險
        通過使用諸如活動、流轉、狀態、行為這樣的術語,使得商務分析師和開發人員使用同一種語言交談成為可能。優秀的流程設計建模工具,甚至能使開發人員不必將使用者需求轉化成詳細設計文檔。
  • 流程實現的集中統一
        應對商務程序經常變化的情況,使用工作流程技術的最大好處是使商務程序的實現代碼,不再散落在各式各樣的業務系統中。
  • 加速開發
        開發人員不用再關注流程的參與者、活動節點的銜接、流轉控制……因為這些工作很多被工作流程架構接管了。因而開發人員開發起來更快、代碼出錯更少、系統更加容易維護。
  • 提升對反覆式開發法的支援
        如果系統中商務程序部分被寫入程式碼,就不容易更改,需求分析師就會花費很大的精力在開發前的業務分析中,並且希望一次成功。但可悲的是,在任何軟體項目開發中,這都很少能實現。工作流程管理系統使得商務程序很容易部署和重新編排,商務程序相關的應用開發可以以一種“迭代/漸進”的方式推進,也就是說工作流程技術在某種程度上支援“需求分析不必一次完全成功”。


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.