摘自JavaWorld 一PTC Consultant 发帖( 有助于理解windchill Foundation)

 OK. 我說的是Windchill. 很多人以為它是一套PLM產品, 其實它有一個Foundation是一套Java軟體開發平台. 這個軟體開發平台released時, JDK 才1.1版而已, 連ejb, jsp 都還沒出來
Windchill 在10多年前被PTC併購時, 因為PTC是CAD廠商, 不會賣開發工具, 所以就在這個Foundation上面開發了PLM應用程式. 所以每個人幾乎都以為它只是PLM系統. 其實你還是可以只買它的Foundation作為開發平台, 只是售價不斐而已.

上一期的商業週刊, 有對這個產品做專題, 但它focus 的是在PLM應用, 有興趣的人可以參考

http://www.businessweekly.com.tw/webarticle.php?id=27683&p=1

我離開這家公司, 然後到 user site也有五年了, 所以大家也不要認為我是在打廣告了. 我只是覺得這個產品使用的概念是值得推薦的, 市面上好像也找不到這樣的軟體開發工具

舉個例子而言, 我想每個人開發系統都需要做權限管理吧, 要implement這樣的功能可能也要花不少時間

用這個開發平台, 你只要在class diagram, 將你的物件繼承AccessControlled,



code generate 後, 它就會幫你產生Entity class & db tables.
要建立一筆資料, 你只要

1
2
3
MyObject obj = new MyObject();
obj.setAttr1("xxx");
PersistenceHelper.manager.save(obj);


然後你就可以在管理介面設定有哪些人對這個物件, 有什麼樣的權限. 如果不考慮UI的話, 你只要寫短短幾行程式, 也不需要設計db table.

如果你覺得這樣的權限不夠彈性, 你可以多繼承LifecycleManaged.



這樣你就可以在管理介面上將你的物件設定有許多狀態, 每一個狀態可以有不一樣的權限, 同時因為有狀態, 也就可以使用它內建的workflow engine.

如果你希望有版本控制, 你就繼承RevisionControlled, 希望可以發mail 通知, 你就繼承Notified.
它不但有許許多多物件可以繼承, 父親原本與其他物件的關連, 也可以繼承下來. 可以大幅減低你設計db schema的時間與需要寫的程式

舉個繼承關聯 的例子, 很多人應該知道BOM (Bill of Material)吧, 就是一個產品的零件組成清單, 簡單說就是Parent part 由多少個不同的children parts 所組成

它的class diagram 如下, 其中左邊的WTPart 是parent part, 右邊的是child parts, 中間的WTPartUsageLink就是它們的關連


如果你想有不同零件table, 各個table有不同欄位, 但希望這些新的物件還是能有BOM的概念, 你只要繼承如下


你的新零件MyPart1 & MyPart2 還是可以拿來建BOM, 因為它繼承了父親WTPart 的所有Associations. 而你也完全不需要為這些關聯來建立新的 Link tables.
因為有了polymorphism query, 你透過這條繼承的Association查詢關聯的資料時, 也可以把所有繼承的物件都找出來.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值