【Dynamics AX 6】axmodel新特性
這里有篇文章介紹了Dynamics AX 6在MorphX上的又一個新特性:axmodel。axmodel其實是一個layer下的另一種應用程序組織形式,在6.0以前,客戶自定義的開發都是在一個特定的layer下進行的,這樣會產生一些問題,比如我從兩個ISV購買了兩套產品,如果是直接使用AOD文件,我沒辦法將兩個產品同時應用在bus層,而只能逐個導入XPO。那么今后如果某個ISV的產品有了升級,我又要在這兩套產品上進行整合,所有的Application Objects被塞到同一個AOD文件中。
現在AX 6.0引入了axmodel的概念,使得一個layer可以包括多個model,每個應用都對應一個model,于是就可以針對model進行import、export、update等操作,這樣的話,我可以以xcopy的方式,將兩個不同的model裝在同一個layer下,而且可以分開管理,非常方便。
axmodel的具體形式就是文件,這感覺跟AOD文件差不多。與AOD不同的是,axmodel文件是可以自描述的,它包含model的meta data,比如名稱、描述、版本、供應商等信息,這使得ISV發布各自的應用程序變得非常方便。不僅如此,axmodel支持數字簽名,這意味著ISV可以使用.NET下的強名稱工具sn.exe生成密鑰對,然后使用AxUtil.exe程序對axmodel進行簽名,確保AX6在import這個axmodel的時候,能夠相信它是來自可信任的ISV的,而沒有被第三方修改過。
axmodel同樣也有缺陷,這也是layer下所特有的缺陷,即同一個object在某個layer下只能有一個版本。比方說,如果你的應用程序修改了CustTable數據表,而在導入另一個axmodel的時候,發現它的更改與你的修改有沖突,此時你就需要作出選擇,是創建一個新的axmodel以保存這些沖突的對象?還是直接overwrite?或者是直接discard?That's up to you
最后說說我的想法。我感覺axmodel和layer的關系,有點像.NET開發中assembly和solution的關系。axmodel和assembly都可以是單獨的應用,都可以支持簽名等安全特性。所不同的是,.NET開發中使用命名空間解決同名問題,而axmodel則不得不沿襲原本的Prefix/Suffix的方式來解決這個問題。
總結
以上是生活随笔為你收集整理的【Dynamics AX 6】axmodel新特性的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何做好Serv-U安全设置,保护FTP
- 下一篇: Linux经典实用的使用技巧33则和常用