1

据我了解,AX 2009 的构建方式使得巴西、中国和/或印度不能与俄罗斯和/或波兰位于同一 AX 实例上,因为它们具有互斥的 GLS 层。我们正在接近解决这场冲突的阶段,因此正在研究如何解决这个问题。

任何人都可以向我指出有关此问题的任何文档/博客吗?我希望了解更多有关功能和技术含义以及可能的解决方案的信息。我了解 AX 2012 没有这个问题,但想在做出这个决定之前看看我们在 2009 年有哪些选择。

提前致谢,

JB

如果您想了解更多关于我正在调查的内容,请参阅以下内容:

  • 功能影响是什么(因此我们可以决定 GLS 层引入的功能是否与我们的要求相关/如果我们的要求不受此影响,可以在没有 GLS 层的情况下实施一些国家)?
  • 是否可以为两个实例维护一个自定义代码库(即在 VAR 层中),但在每个实例中使用不同的 GLS 层?
  • 如果上述不简单,是否可以通过在 VAR 层中放置更多代码以将两个 GLS 层的功能映射到一个公共层(即,它的行为就像两个 GLS 层中的类实现相同的接口),也许然后使用用于自定义代码的 VAP 层和用于补丁的 USR 层(因为所有代码都将由我们的合作伙伴开发,因此我们不需要此层用于我们自己的目的)?
  • 是否有关于具有多个 GLS 层的代码管理的任何信息?
  • 有没有描述为什么这个问题存在(从技术角度),所以我可以更好地了解这个问题的确切原因是什么(即架构的哪一点导致多个国家/地区的冲突/这是怎么回事AX 2009 中的 MS 无法解决)?
4

2 回答 2

3
  • 功能影响是什么(因此我们可以决定 GLS 层引入的功能是否与我们的要求相关/如果我们的要求不受此影响,可以在没有 GLS 层的情况下实施一些国家)?

您基本上是在问,“每个国家/地区的自定义 GLS 图层中有什么?” 我不知道这个答案,但获得答案的一种方法是在一个清晰的环境中,您可以启用每个 GLS 层,通过(工具>开发工具>版本更新>比较层)创建一个层比较项目GLS 图层,然后仅将 GLS 图层项目导出到 XPO 并针对这两个 XPO 使用 WinDiff。这就是我能想到的快速找出差异的全部。在这个问题上向微软开一张票可能是值得的,在实际层上工作的工程师可以为您提供更好的答案。

  • 是否可以为两个实例维护一个自定义代码库(即在 VAR 层中),但在每个实例中使用不同的 GLS 层?

不。例如,如果你有两个 AOS,每个都有不同的 GLS 层,它们与同一个数据库通信,它基本上是两个独立的代码库。根据发布的环境,发布的内容可能会有所不同。这将是一条糟糕的道路。

  • 如果上述不简单,是否可以通过在 VAR 层中放置更多代码以将两个 GLS 层的功能映射到一个公共层(即,它的行为就像两个 GLS 层中的类实现相同的接口),也许然后使用用于自定义代码的 VAP 层和用于补丁的 USR 层(因为所有代码都将由我们的合作伙伴开发,因此我们不需要此层用于我们自己的目的)?

我在想,在这种情况下,您首先需要做的是通过代码比较准确确定 GLS 层之间的差异。

与您的大部分业务相关的 GLS 层,我们将其称为A。我们将称为B的另一个辅助 GLS 层。

为此,请使用 GLS B获取您的环境,然后执行(工具> 开发工具>版本更新>比较层)并将您的项目命名为 GLS_B,选择您的源 GLS 层,然后引用 sys 层,然后单击确定。创建私有项目后,将整个项目导出到名为 GLS_B.xpo 的 XPO。

对于此示例,我们将在 VAR 层中工作,我将假设您的环境层仅是 SYS、SYP、GLS、VAR、VAP、USR。

切换到您的 GLS A环境,删除GLS 上方的所有层。打开导入XPO工具(Ctrl+Shift+I from AOT),选择GLS_B.xpo,保留所有默认,然后勾选“Show details”,繁琐的工作就进来了,但是点击每个对象,做一个比较。如果有任何差异,请导入对象。如果没有差异,请不要导入。完成所有对象的检查后,创建另一个 VAR 层的比较项目,您将知道要仔细查看的对象。浏览每个项目,看看代码差异是什么。

GLS 层对于不同国家/地区是分开的这一事实使我认为差异可能很大或相互冲突……因此简单的合并可能无法解决潜在的逻辑差异。这是您需要确定下一步要做什么的地方。如果更改不是那么重要,您可以合并到 VAR 层,将其设为您合并的 GLS 层,然后在上层进行修改。

  • 是否有关于具有多个 GLS 层的代码管理的任何信息?

没有把握。我认为只是我上面的 TFS 方法。

  • 有没有描述为什么这个问题存在(从技术角度),所以我可以更好地了解这个问题的确切原因是什么(即架构的哪一点导致多个国家/地区的冲突/这是怎么回事AX 2009 中的 MS 无法解决)?

不确定,这个问题值得联系微软。

于 2012-07-30T16:52:46.883 回答
1

我刚刚在一个 AX 2009 实例中安装了相同的两个 GLS 层。我已将第二个 GLS 层导入 VAR/VAP 并合并 CUS 层中的差异。合并图层是一项艰巨的工作,特别是如果您安装了很多自定义和附加模块。

MS 建议每个 AX 安装只安装一个 GLS 层,正如您提到的,在您的情况下这将需要 2 个实时安装(AX 2009 有 4 个 GLS 层)。

我仍然认为最好的方法是将两个 GLS 层放在同一个实例中,因为它使部署更容易,并且您仍然可以在部署时复制层。

于 2012-08-29T00:33:59.203 回答