AX 2012 VS D365 F&O


行业AX 2012 和 D365 F&O 之间的区别

 | 918

显然,用外行的话来说,我们可以说 D365 中的三个主要可见变化:

  • 新客户
  • 云就绪
  • 新的开发栈(New Development Stack

D365 中的关键术语:

部署包 package:一个部署包是一个可部署的单元,它可能有多个模型。

模型 model:一个模型是一组元素,一个模型是代表一个分布式软件解决方案的元素的集合。

元素 element:元素是驻留在AOT中的任何对象。

例如:在 AOT 树中看到的基本枚举、任何 EDT、表格、表单,其本身就是一个元素。

项目 project:项目是建立您的应用程序所需的一切的逻辑容器。

一个项目可以与任何模型相关联。

笔者从不同的博客中得到了一些详细的了解,现分享如下:

Dynamics 365 for Operations是基于网络/浏览器的,由微软在Azure上托管(像Office 365),提供类似的功能,但它有一个全新的用户界面。它是Dynamics 365家族的一部分,融合了微软Dynamics CRM、AX和Dynamics NAV的财务元素。

增强的用户体验:

  • 新版本最大的区别之一是在用户体验方面,因为Dynamics 365 for Operations有一个新的界面
  • 另外,整个程序现在是面向网络的,所以您所需要的一切都在浏览器中,这意味着一切都更快,更容易使用
  • 微软现在已使 Dynamics 365 与手机平板电脑等移动设备兼容,这一将进一步提升用户体验。
  • 用户能够在这些设备上实时访问数据,这几乎对所有公司来说都是一个游戏规则的改变,因为它将使他们能够在任何地方和任何时间开展业务。

更多的集成:

Dynamics 365的智能化也比以前的版本领先很多。现在与CRM、Office 365和PowerBI完全集成,更不用说Cortana了,所以检索数据并做出准确和明智决定的速度是相当惊人的。

开发人员的变化 :

1. Visual Studio:

MorphX 已经淘汰,Visual Studio(VS)是新的集成开发环境。所有的Microsoft Dynamics 365都是基于网络运行的,不再有肥大的AX客户端,也没有MorphX的开发环境可以进入。您将在VS中完成所有的工作。它有据可查、稳定且功能丰富。

2. 部署包:

  • 下一个重大变化是部署包的引入和传统 AX 层概念的边缘化。部署包在概念上是模型存储的替代品。
  • 部署包由让代码起作用所需的所有工件(如程序集和配置文件)组成。
  • 在环境之间移动代码时,将使用部署包。
  • 作为此更改的一部分,当您在 Visual Studio (VS) 中创建模型时,您会指出该模型属于哪个部署包以及它具有何种依赖项。类似于在 VS 中添加对项目的引用时,您在项目和添加引用的项目之间创建依赖关系。
  • 此外,当您创建模型时,您可以指定模型将位于哪个层。层是层的传统 AX 概念,但在 VS 世界中,层的重要性非常小。您不需要为您的模型提供一个密钥来驻留在那个层中。

3. 拓展:

Dynamics 365 for Operations 引入了扩展。在所有之前的 AX 版本中,当修改或添加到系统或 ISV 代码时,您会重写或添加一些对象,在升级时产生潜在的冲突。

在 Dynamics 365 中,这仍然可以称为定制化,但现在它不是修改现有代码的唯一方法。 微软 添加了扩展模型,您可以在不触及基础对象的情况下扩展对象。这意味着您可以向表、类型和表单添加新字段、方法或控件,而这些添加的内容都包含在您自己的扩展对象中。您并不会影响到基础对象。

此外,基础对象添加了很多很多的事件。在以前的 AX 版本中,您重写了方法,以便在事件发生时调用您的代码——例如单击按钮。现在该按钮将引发一个事件,您可以订阅该事件。通过订阅事件,您的代码将被调用,而无需您重写或修改按钮。

4. 表单格式 :

下一个重大变化是对表单格式的要求。 表单格式是 微软关于如何设计表单的指南。 微软希望AX中的所有表单看起来感觉都是相似的,不管是谁做的,这样终端用户就有一个一致的体验。表单格式不是一个新的概念; 它们存在于 AX 2012 中。然而,大多数AX开发人员在AX 2012中没有意识到它们,因为它们是一个指导原则,而不是一个要求。

在 Dynamics 365 中,当您创建表单时,您在设计该表单时要做的第一件事就是指定它将遵循的表单格式。 如果您不指定表单格式,您就会出现编译错误。

当您继续构建表单的设计时,表单的格式将被强制执行,这意味着您必须填写格式上的要求,否则您将收到编译错误。 这肯定需要一些时间来适应。


5. 数据实体介绍:

数据实体的介绍。数据实体作为与 AX 集成的新框架。它们替代了 AX 2012 中的两个概念,即文档服务和构成数据导入导出框架 (DIXF)

对于数据实体,所有进出 AX 的数据都遵循相同的路径,因此如果您正在调用 API 或使用 DIXF 来操作数据,则不必构建两个不同的东西。

数据实体非常容易创建。有一个向导指南将引导您完成创建过程,该过程类似于 AX 2012 中用于生成文档服务的向导。

集成中的另一个显著变化是,暴露数据实体的服务是使用 JSON 格式数据的静止状态 API。

在 AX2012 中,所有服务都是 WCF 服务。这个改变意味着您调用服务的方式有明显的不同,所以如果您计划在 Dynamics 365 上做集成,您将需要研究一下如何调用API。

资源: https://stoneridgesoftware.com/five-things-ax-developers-should-prepare-for-in-dynamics-365-for-operations/

VS项目类型:

有已添加到 VS 的 Dynamics AX 模板项目类型。

模板项目类型:

Dynamics AX最佳实践规则 - 用于编写代码和元数据的最佳实践检查

Dynamics AX 开发人员工具插件

Dynamics AX 项目– 包含自定义项的主要项目模板类型

创建新项目时,首先创建一个新模型:

  • 如果您在没有新模型的情况下创建项目,则该项目将在模型中的系统层中创建,其中存在被修改的对象。
  • 由于项目是在系统层里,您不能把现有的对象添加到项目中,因为您是在系统层工作。
  • 您需要创建一个新模型并将项目放入其中。

创建新模型时,询问新模型的对话框将提示:

  • 您要工作的图层
  • 您想工作的部署包
  • 您要创建的第一个项目

创建项目后,您可以在解决方案资源管理器中看到项目名称旁边的层和模型。

AXPP 文件

1. 以 AXPP 结尾的文件是 XPO 文件的替代品。

2. 导出和导入类似于您在 AX2012 中使用 XPOS 所做的项目:

在解决方案资源管理器中,右键单击一个项目并选择导出项目

该项目被保存为扩展名为 .axpp 的文件

a. 创建项目的模型保存在app文件中

i. 模型包含层信息

b. AXPP 文件无法用记事本读取

3. 要在 VS 中导入包含项目的 AXPP,请转到 Dynamics AX 菜单并选择导入项目。

a. 项目在模型(和层)中创建并保存在 AXPP 文件中。

i. 如果模型在导入的环境中不存在,则会生成模型。

4. 与 AX 2012 和导入 XPO 类似,在 Dynamics 365 for Operations (AX7) 中,您可以在 AXPP 文件的内容和当前环境之间进行比较。

a. 在导入期间比较对象: 当您选择导入项目时,会弹出一个对话框,要求您选择 AXPP 文件的位置。

  • 当您选择导入项目时,会弹出一个对话框,要求您选择 AXPP 文件的位置。
  • 一旦您在对话框底部选择了 AXPP 文件,就会出现一个详细信息。
  • 在详细信息里,您可以看到要导入的所有对象。
  • 查看对象时,右键单击其中一个并选择“比较(Compare)”以显示比较窗口。

部署包

  • 它包括部署代码所需的所有模型、二进制文件和其他部分。
  • 类似于 AX2012 模型商店或 VS 解决方案中的概念。

每次安装可以有多个部署包。

  • AX 附带多个部署包,包括:

应用程序套件 - 这是包含大部分应用程序代码的部署包包,也是最有可能被重写的。

  • 应用程序套件表单适配器
  • 应用基础
  • 应用基础表单适配器
  • 应用平台
  • 应用平台表单适配器
  • 创建模型时,向导会提示模型应位于哪个部署包中。
  • 要创建自定义对象(覆盖层对象),您必须:

在与被自定义对象相同的部署包中创建一个新模型。

这是因为您的自定义和被自定义的对象之间存在依赖关系。

  • 新模型必须存在于您可以访问的层(usr、cus 或 var)中。

原文链接:

https://community.dynamics.com/365/financeandoperations/b/365foandaxtechnicalworld/posts/ax-2012-vs-d365-finance-and-operations