1

我的理解是,AX 2009的構造方式使得巴西,中國和/或印度不能與俄羅斯和/或波蘭的AX相同,因爲它們具有互斥的GLS圖層。我們正在接近我們將要發生這場衝突的階段,並且正在研究如何管理這一衝突。Dynamics AX 2009 ::互斥GLS圖層的含義

任何人都可以將我指向任何有關此問題的文檔/博客?我希望更多地瞭解功能和技術含義以及可能的解決方案。據我瞭解,AX 2012沒有這個問題,但希望在做出此決定之前查看我們2009年有哪些選擇。

由於提前,

JB

如果您想了解更多關於什麼我尋找到,請參閱以下內容:

  • 什麼是功能性的影響(所以我們可以決定GLS層引入的功能是否與我們的要求相關/如果我們的要求不受其影響,可以實現一些沒有GLS層的國家)?
  • 是否有可能爲兩個實例維護一個自定義代碼庫(即在VAR層),但在每個實例中使用不同的GLS層?
  • 如果以上內容不簡單,可以通過在VAR層中添加更多代碼將兩個GLS層的功能映射到一個公共層(即它的行爲就好像兩個GLS層中的類實現相同接口一樣)來實現,也許可以使用VAP層來定製代碼,USR層使用修補程序(因爲所有的代碼都是由我們的合作伙伴開發的,所以我們不需要這個層用於我們自己的目的)?
  • 有關於多個GLS層的代碼管理的任何信息嗎?
  • 是否存在爲什麼存在此問題的描述(從技術角度),以便我可以更好地瞭解此問題的原因是什麼(即體系結構的哪一點會導致多個國家/ AX 2009中的MS如何解決這個問題)?

回答

3
  • 什麼是功能性的影響(所以我們可以決定是否由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圖層,然後在上層進行修改。

  • 是否有任何有關多個GLS圖層的代碼管理的信息?

不確定。我會認爲我的上述方法與TFS。

  • 有爲什麼這個問題存在(從技術角度來說),所以我可以得到什麼這個問題的原因是一個更好的主意(說明即什麼位架構導致的衝突多個國家/如何在AX 2009中無法解決這個問題)?

不知道,這個問題值得與Microsoft聯繫。

+0

太好了 - 謝謝Alex。使用圖層比較工具的好聲音;我最近熟悉了這一點,使用了一個非常類似的XPO出口流程,然後通過查看發現真正的差異。缺點是,正如你所提到的,這只是做比較的很多工作,然後是對代碼進行反向工程以找出功能。我會盡力找到MS的聯繫方式,以便在嘗試上述操作之前查看他們的意見。 – JohnLBevan 2012-07-31 10:49:45

+0

關於保持相同代碼庫的觀點,我很樂意爲兩個實例提供完全不同的AOS,數據庫,甚至是客戶端(如果需要的話)。最主要的是,我希望我們的開發人員能夠編寫一次代碼,並在波蘭和巴西(比如說)使用它,而不是爲兩種環境編寫代碼。我設想的方式是他們在一層中編寫這個通用代碼,然後維護位於GLS和(比如說)VAR層之間的較低層的兩個副本,以便VAR插入相同的代碼,但是這個較低層充當GLS的適配器。 – JohnLBevan 2012-07-31 10:55:55

+1

如果您有兩個單獨的AOS/DB /客戶端,則您的公司位於兩個完全獨立的系統上。他們將無法分享客戶/供應商/總賬/等。我首先要確定GLS圖層和接觸MS之間的差異。如果它很重要,那麼這兩個獨立的環境可能就是要走的路。沒有辦法讓他們開發一個環境,並促進兩個GLS環境,但這並不意味着很難完成同樣的事情。我敢打賭,你的開發者所做的75%的開發甚至不會觸及GLS代碼。 – 2012-07-31 15:56:03

1

我剛剛在一個AX 2009實例中安裝了相同的兩個GLS圖層。我已經將第二個GLS圖層導入到VAR/VAP中,併合並了CUS層中的差異。合併這些圖層是一項相當的工作,特別是如果您安裝了大量定製和附加模塊。

MS建議每個AX安裝只安裝一個GLS層,正如你所提到的那樣,在你的情況下需要2個實時安裝(AX 2009有4個GLS層)。

我仍然認爲最好的方法是將GLS圖層放在同一個實例中,因爲它使部署更容易,並且在部署時仍可以複製圖層。

+0

好主意 - 謝謝Steen。很高興知道MS可能會這樣做/看起來很奇怪,因爲MS並沒有將其開箱即用(或者當你合併/類似的東西時,你不得不妥協什麼功能)? – JohnLBevan 2012-08-29 09:57:05

+0

MS有計劃爲AX 2009提供一個全球GLS層,但他們從未完成這項工作。我看到MS建議每個GLS層有一個實例作爲傳遞問題的一種方式。 2012年將會有一個全球GLS,我不知道它是否已經在2012年發佈。 – 2012-09-10 20:09:56

+0

我不必在功能上做任何妥協。我只將AOS緩衝區大小從24增加到30. SYS/SYP層中約300行的一些方法最終爲+1000行。我想這是多個GLS圖層的成本。如果內核可以處理國家特定代碼的執行會更好,所以GLS代碼可以放在特定國家的子類中。 – 2012-09-10 20:28:18

相關問題