1.由于涉及企業的流程控制與規則管理。是以系統對于規範要求的嚴謹性,導緻在小型開發組在進行開發時必須基于成熟的技術架構。開源的lemon OA,采用了如下技術細節:
<code>mysql</code>:開源資料庫中技術最為成熟。
<code>hibernate</code>:經典的orm架構,由于在OA系統模組化時,采用的流程引擎activiti是以一種叫petri網的狀态轉移模型。狀态轉移本身,就含有較多的表(實體)映射與關聯。
<code>SpringMVC</code>:其實這點值得考慮,因為:(1)系統為了實作很多橫向元件,把這些功能放在一個compositeFilter中;(2)系統中url mapping過于分散,當然基于Spring MVC可以直接映射到method上,但是url管理顯得有些複雜。
<code>Spring</code>:在配置檔案定義bean,在java源代碼檔案定義注解,可以非常友善地提升工作效率。使得在配置檔案中,不需要寫那麼多的路徑或者class。而在java源代碼檔案中,可以通過注解,省去一些較為通用工具類的加載和初始化。
<code>maven+jetty</code>:web應用的版本管理變得有章可查,而且系統變得輕量,因為依賴庫是通過maven-repository在load時進行的加載。
<code>Spring Security</code>:通過Security的authentication和authority機制,定義角色和控制。
<code>inspetktr</code>:通過inspektr實作audit稽核服務。
<code>scheduler</code>:定時器功能的實作。
------
2.下面通過兩個序列圖來展現這樣的系統裡的資料流:
controller之前的資料流:

controller之後的資料流:
--------------------<code>unfinished</code>----------------------
本文轉自二郎三郎部落格園部落格,原文連結:http://www.cnblogs.com/haore147/p/4691261.html,如需轉載請自行聯系原作者