- 什麼是功能性的影響(所以我們可以決定是否由GLS層引入的功能是有關我們的要求/可以實現一些國家沒有他們的GLS層,如果我們的要求並不受此) ?
你基本上在問:「每個國家的自定義GLS圖層都有什麼?」我不知道這個答案,但一種獲得答案的方法是在一個清晰的環境中,您可以啓用每個GLS圖層,通過(工具>開發工具>版本更新>比較圖層)創建圖層比較項目GLS圖層,然後將GLS圖層項目僅導出到XPO,並對兩個XPO使用WinDiff。這是我能想到的,以便快速找出差異。在這個問題上與微軟開一張票可能是值得的,在這個問題上,工作在實際圖層上的工程師可以爲您提供更好的答案。
- 是否有可能爲兩個實例維護一個自定義代碼庫(即在VAR層中),但在每個實例中使用不同的GLS層?
號如果你有,例如兩個AOS的,每一個不同的GLS層,即傳送到同一個數據庫,它基本上是兩個獨立的代碼庫。有些東西可能會有所不同,具體取決於它發佈的環境。這將是一個不好的道路。
- 如果上述並不簡單,是它通過將在VAR層更多的代碼在兩個GLS層的功能映射到一個共同的層(即,使得它的行爲就好像在兩個GLS類層實現了相同的可實現的接口),也許然後使用VAP層用於自定義代碼和USR層用於修補程序(因爲所有代碼都將由我們的合作伙伴開發,因此我們不需要此層用於我們自己的目的)?
我在想什麼,你首先需要在這種情況下做的是確定正是GLS層之間的差異是通過代碼進行比較。
與您的大部分業務相關的GLS圖層我們將稱爲A。另一個二級GLS層,我們將稱爲B。
要做到這一點,把你的環境與GLS 乙,並做(工具>開發工具>版本更新>比較層),併爲項目命名GLS_B,選擇源GLS層,然後引用SYS層,和單擊確定。一旦私人項目被創建,將整個項目導出到名爲GLS_B.xpo的XPO。
對於這個例子,我們將在VAR層中工作,並且我將假設您的環境層僅是SYS,SYP,GLS,VAR,VAP,USR。
切換到您的GLS A環境,刪除所有圖層以上GLS。打開導入XPO工具(從AOT按Ctrl + Shift + I),選擇GLS_B.xpo,保留所有默認值,然後選中「顯示詳細信息」,然後單擊各個對象並進行比較。如果有任何差異,請導入該對象。如果沒有差異,請勿導入。一旦完成了所有對象的檢查,創建VAR圖層的另一個比較項目,您就會知道要仔細查看對象。仔細檢查這些項目,看看代碼差異是什麼。
對於不同的國家GLS層是分開的這一事實使我認爲這些差異可能是顯着的或相互衝突的...所以簡單的合併可能無法解決潛在的邏輯差異。這是您需要確定下一步要做什麼的地方。如果更改不是那麼重要,則可以合併到VAR圖層中,使其成爲您單獨放置的合併GLS圖層,然後在上層進行修改。
不確定。我會認爲我的上述方法與TFS。
- 有爲什麼這個問題存在(從技術角度來說),所以我可以得到什麼這個問題的原因是一個更好的主意(說明即什麼位架構導致的衝突多個國家/如何在AX 2009中無法解決這個問題)?
不知道,這個問題值得與Microsoft聯繫。
太好了 - 謝謝Alex。使用圖層比較工具的好聲音;我最近熟悉了這一點,使用了一個非常類似的XPO出口流程,然後通過查看發現真正的差異。缺點是,正如你所提到的,這只是做比較的很多工作,然後是對代碼進行反向工程以找出功能。我會盡力找到MS的聯繫方式,以便在嘗試上述操作之前查看他們的意見。 – JohnLBevan 2012-07-31 10:49:45
關於保持相同代碼庫的觀點,我很樂意爲兩個實例提供完全不同的AOS,數據庫,甚至是客戶端(如果需要的話)。最主要的是,我希望我們的開發人員能夠編寫一次代碼,並在波蘭和巴西(比如說)使用它,而不是爲兩種環境編寫代碼。我設想的方式是他們在一層中編寫這個通用代碼,然後維護位於GLS和(比如說)VAR層之間的較低層的兩個副本,以便VAR插入相同的代碼,但是這個較低層充當GLS的適配器。 – JohnLBevan 2012-07-31 10:55:55
如果您有兩個單獨的AOS/DB /客戶端,則您的公司位於兩個完全獨立的系統上。他們將無法分享客戶/供應商/總賬/等。我首先要確定GLS圖層和接觸MS之間的差異。如果它很重要,那麼這兩個獨立的環境可能就是要走的路。沒有辦法讓他們開發一個環境,並促進兩個GLS環境,但這並不意味着很難完成同樣的事情。我敢打賭,你的開發者所做的75%的開發甚至不會觸及GLS代碼。 – 2012-07-31 15:56:03