- 什么是功能性的影响(所以我们可以决定是否由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