一位優秀的商人杰克,有一天告訴他的兒子
杰克:我已經決定好了一個女孩子,我要你娶她
兒子:我自己要娶的新娘我自己會決定
杰克:但我說的這女孩可是比爾·蓋茨的女兒喔
兒子:哇!那這樣的話……
在一個聚會中,杰克走向比爾·蓋茨
杰克:我來幫你女兒介紹個好丈夫
比爾:我女兒還沒想嫁人呢
杰克:但我說的這年輕人可是世界銀行的副總裁喔
比爾:哇!那這樣的話……
接著,杰克去見世界銀行總裁
杰克:我想介紹一位年輕人來當貴行的副總裁
總裁:我們已經有很多位副總裁,夠多了
杰克:但我說的這年輕人可是比爾·蓋茨的女婿喔
總裁:哇!那這樣的話……
最后,杰克的兒子娶了比爾-蓋茨的女兒,又當上世界銀行的副總裁
知道嗎,生意通常都是這樣談成的
Entity類是其他三個類的父類,它包含了兩個屬性:name(String)、 permissions(Set)
User類繼承Entity類,包含三個屬性:password(String)、 email(String)、 memberships(Set)
Group類繼承Entity類,包含四個屬性: type(String) 、parent(Group)、 children(Set)、 memberships(Set)
Membership類繼承Entity類,包含三個屬性:role(String)、 user(User)、 group(Group)
很明顯,一個user對應一個用戶,一個group對應一個用戶組,它們之間通過membership關聯,并且一個user可以屬于多個不同類型(type)的group,user和 group之間是多對多的關系。
Membership類的role屬性個人感覺用途不大,反倒是name屬性代表了user在group里的role(角色)! 一個流程圖由許多node和transition組成。每個node都有一種類型,這個類型決定了當流程執行到這個node時的不同行為。jbpm有一組node type可以供你選擇,當然你可以定制自己node 。
node的作用
node有兩個主要的作用:
1)執行java代碼,比如說創建task instance(任務實例)、發出通知、更新數據庫等等。很典型的就是在node 上掛上我們的action
2) 控制流程的執行:
A、等待狀態
流程進入到這個node時將處于等待狀態,直到一個signal 的發出
B、流程將沿著一個leaving transition越過這個node
這種情況特殊一點,需要有個action掛在這個node上(注意這個action不是event觸發的!),action中將會調用到API里
executionContext.leaveNode(String transitionName),transitionName即這里的leaving transition名字。
C、創建新的執行路徑
很典型的就是fork node。流程在這里會分叉,產生新的執行路徑。這樣就創建了新的token,每個新的token代表一個新的執行路徑。注意的是,這些新的token和產生前的token是父子關系!
D、結束執行路徑
一個node可以結束一條執行路徑,這同樣意味著相應的token的結束和流程的結束。 最近一直打算對原有的一套業務管理系統進行重構。原因很簡單,原來的系統采用的是JSP+JAVABEAN+MYSQL的兩層架構,在JSP中直接調用JAVABEAN,并且包含了太多的業務邏輯,在維護的時候很困難。
初步的打算是采用jstl+struts+spring+hibernate。
struts僅僅用于表現層,它的Action中不可以涉及到業務邏輯
最近看了看jbpm的源代碼,但是還沒有在具體的項目中實踐。也決定先不在程序中包含工作流。
看過一些人的職業規劃,也和同事們聊過。感覺做程序這一行的職業規劃都有很多相似的地方:
程序員-->高級程序員-->項目經理-->CTO-->中層管理
規劃是這樣,至于能走到哪一步就完全靠自己了。感覺想做技術專家的人似乎很少,最后都是想往管理上發展。
,畢竟管理拿得 money 多嘛。當然,你也可以自己開公司的
。另外,人們好象都有一個觀念:年齡大一點就不再適合編碼。可我在一篇分析印度軟件業的文章里卻看到:四十多歲的婦女都可以在家寫代碼。真是讓人流汗!
| |||||||||
日 | 一 | 二 | 三 | 四 | 五 | 六 | |||
---|---|---|---|---|---|---|---|---|---|
25 | 26 | 27 | 28 | 29 | 30 | 31 | |||
1 | 2 | 3 | 4 | 5 | 6 | 7 | |||
8 | 9 | 10 | 11 | 12 | 13 | 14 | |||
15 | 16 | 17 | 18 | 19 | 20 | 21 | |||
22 | 23 | 24 | 25 | 26 | 27 | 28 | |||
29 | 30 | 1 | 2 | 3 | 4 | 5 |
關注工作流和企業業務流程改進。現就職于ThoughtWorks。新浪微博:http://weibo.com/ronghao100
常用鏈接
留言簿(38)
隨筆分類
- ajax相關(9)
- cms(7)
- Head First Process-深入淺出流程(15)
- j2se基礎(6)
- JbpmSide(6)
- OOA/OOD(4)
- SOA、BPM(26)
- 工作日志(24)
- 工作流jbpm3(10)
- 張小慶,在路上(42)
- 心情小站(24)
- 權限相關(12)
- 表現層相關(4)
- 轉載(4)
隨筆檔案
- 2013年8月 (1)
- 2012年12月 (1)
- 2012年1月 (3)
- 2011年12月 (2)
- 2011年11月 (2)
- 2011年10月 (3)
- 2011年9月 (3)
- 2011年8月 (7)
- 2011年7月 (4)
- 2011年6月 (3)
- 2011年5月 (5)
- 2011年4月 (6)
- 2011年3月 (4)
- 2011年2月 (2)
- 2010年9月 (1)
- 2010年6月 (1)
- 2010年5月 (1)
- 2010年3月 (4)
- 2010年1月 (2)
- 2009年11月 (5)
- 2009年10月 (4)
- 2009年9月 (1)
- 2009年7月 (1)
- 2009年6月 (2)
- 2009年5月 (2)
- 2009年4月 (1)
- 2009年3月 (4)
- 2009年2月 (2)
- 2008年12月 (1)
- 2008年11月 (1)
- 2008年10月 (1)
- 2008年9月 (2)
- 2008年8月 (2)
- 2008年7月 (2)
- 2008年6月 (3)
- 2008年5月 (4)
- 2008年4月 (1)
- 2008年3月 (2)
- 2008年2月 (2)
- 2008年1月 (4)
- 2007年11月 (3)
- 2007年10月 (3)
- 2007年9月 (2)
- 2007年8月 (4)
- 2007年7月 (1)
- 2007年6月 (12)
- 2007年5月 (2)
- 2007年4月 (1)
- 2007年3月 (8)
- 2007年2月 (6)
- 2007年1月 (4)
- 2006年12月 (4)
- 2006年11月 (3)
- 2006年10月 (1)
- 2006年8月 (2)
- 2006年7月 (3)
- 2006年6月 (3)
- 2006年4月 (1)
- 2006年3月 (2)
- 2006年2月 (2)
- 2006年1月 (4)
- 2005年12月 (7)
- 2005年11月 (12)
文章分類
文章檔案
常去的網站
搜索
最新評論

- 1.?re: 使用Handler來增強Web服務的功能
- asdfasfd
- --ads
- 2.?re: 使用solr搭建你的全文檢索
-
@木哥哥
你的分詞器用的是什么啊?mmseg貌似可以的 - --陳冠馳
- 3.?re: 使用solr搭建你的全文檢索
-
@marten這是你的solr的schame.xml配置文件有問題。好好檢查下你的配置文件里面的字段什么的配置對著沒
- --陳冠馳
- 4.?re: 討論一下你覺得一個工作流產品好的標準
- 評論內容較長,點擊標題查看
- --深圳非凡信息技術有限公司
- 5.?re: DisplayTag應用
- name="test"從哪里來的,千篇一律的到處使用test卻沒有test的定義,sb
- --qige