流程管理软件如何适应变化
??????最近接觸了一些關于SOA的相關理論,很是遺憾,沒看出什么名堂來。最近為什么網絡上比較流行SOA呢?個人認為這東西太懸乎了,凡是有什么好的軟件思想或是方法都稱之SOA,難怪架構師和軟件企業那么熱忠的去追捧它,似乎SOA萬能,好多軟件廠商都鼓吹自己的軟件是面向SOA的,用SOA的熱門詞匯來攻關市場。幾年前,一個簡單的業務流程管理軟件當作ERP,然后換成iERP,直至現在ERP變得很爛很臭,最終讓企業談E色變。金融危機來了,這一波過后能讓ERP柳暗花明么?真希望SOA不要向現有的ERP或是OA,炒作向明星似的。面向SOA的軟件系統能解決業務流程靈活變化的問題嗎?由于現在我只是一個初級的程序員,接觸的軟件企業不多,感覺到很多軟件廠商都只解決了一些常見的技術問題,沒有真正意義上實現業務流程上的靈活變化。部分軟件商做到的只是(X)OS,例如(BOS,EOS),說白了就是一些簡的組件設置一下數據映射關系,然后形成人機交互接口,做出了一套面向用戶的業務流程平臺。對于這種做法,我很是懷疑,首先,軟件的效率會不會受影響,比如一個訂單信息,包括很多參照信息(客戶、事業部門、負責人),這在系統底層設計時如果封裝服務,單獨訪問各自的數據,硬件條件是否受到了限制。其實,這類系統平臺幾乎是基于模板的,基于模板的系統能適應靈活么!最后,類似的系統培訓成本不高么?我試圖用過幾個相關的平臺,自認為計算機應用軟件操作得還是不錯,看過相關演示,感覺還是不能解決實際工作中遇到實際的復雜業務流程的應用,用這類系統來生成一個流程管理軟件,比重新學習一門語言或是自己寫一個項目還難,最終明白了為什么大公司的軟件開發工具包(VS.NET + Framework)的設計意圖,越簡單越能適應變化,發揮空間越大。那么,如果你是企業,你愿意授受一套通用系統還是一個量身定做的軟件。如果你是開發商,你愿意做一些復雜的工作還是簡單的工作,你是走通用產品道路還是二次開發項目的道路。
??? 接下來,你遇到過沒變化的系統么?你遇到軟件系統的變化是怎么應對的。拿企業一個簡單的業務流程來說吧!比如銷售訂單,在制定訂單過程中,有些企業按合同嚴格執行,但有些企業不按合同執行。開發階段,軟件設計的架構是否能更快的適應軟件業務流程的變更,良好的軟件架構能很好的適應軟件變更,很方便的進行后期維護。對于企業業務流程的變更,根據SOA的理論,將軟件劃分成一個單獨的服務,然后根據實際情況組合服務。在服務結構定義上,采用最大原則,將服務所用到的數據抽象成接口或是一個單獨的實體類,然后提供服務口訪問的方法,從而達到服務的組合重用。上面的情況是沒有改動本身的訂單實體,如果在實體本身需要改變的時候,比如訂單原來是不按合同就可以發貨,在保存訂單時需要保存合同信息,這種變化影響到軟件結構的變化,這種變化可通過軟件配置管理,形成新的版本,作為一套單獨的系統來運行。實施階段,作為一套系統,最好以不變來應對變化,比如客戶要求不參照合同也能進行訂單生成,像這種不影響數據小的改動,您可以要求他虛擬合同來完成訂單申請,盡量去說服客戶接受現有的版本。
?????總之,對于業務流程管理軟件來說,軟件開發本身不存在什么技術難度。如何提高軟件的靈活性,一個良好的架構和業務的靈活變通是業務流程軟件發展的方向。用一套復雜通用的軟件系統替代一個流程軟件,來實現一套管理方法是很難做到的。一個良好的管理系統應該能充分體現一個企業的業務流程管理思路,形成企業的核心競爭力,管理思路的改變意味著軟件的改變,軟件架構的靈活意味著業務的靈活。
轉載于:https://www.cnblogs.com/windsea123/archive/2008/11/08/1329542.html
總結
以上是生活随笔為你收集整理的流程管理软件如何适应变化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何区分abcd类地址_ip地址abc类
- 下一篇: omnipay支付--支付宝支付