内容字号:默认大号超大号

段落设置:段首缩进取消段首缩进

字体设置:切换到微软雅黑切换到宋体

大带宽_重庆网站建设设计_多少钱

2021-07-09 20:46 出处:欧普曼云计算 人气: 评论(0

集成一组独立的软件系统是困难的,微信返利,而且通常是一项非常大的工作。每一家大公司在其IT领域都有这种痛苦的经历。SAP目前正在大力投资集成智能套件的应用程序。当然,集成的很大一部分是在应用程序之间交换的数据,以及在应用程序的不同数据模型之间进行转换的工作。Rui Nogueira在其博客文章"SAP One Domain Model–integrated intelligent suite的通用语言"中已经对我们的方法进行了概述。

在这篇博客文章中,大淘客怎么推广,我想描述域驱动设计(DDD)如何影响我们的对齐过程方法和SAP One Domain的建模指南模型

一个规范的数据模型-注定要失败?

许多人试图将规范的数据模型定义为"整个企业的一个一致的公共数据模型"。这些项目注定要失败,正如其他著名的声音所说的那样(例如这里)。这是因为模型仅在DDD所称的"有界上下文"内保持一致,例如,像航运、营销、CRM等领域。所有这些领域可能都有"客户"的概念,但根据特定应用领域的需要,所有这些领域看起来都非常不同,i、 在那个领域,企业管理平台软件,什么是"现实"的恰当模型。试图将它们统一起来不仅是徒劳的,而且是根本错误的,因为它将本质上不同的模型合并在一起。15年前,正是这种认识促使Eric Evans发明了领域驱动设计

那么,集成多个应用程序(这些应用程序共享主数据和跨应用程序的业务流程)的有意义方法是什么呢?一方面,我们希望避免n**2个应用程序之间的点对点集成,微信返利,另一方面,我们希望避免全球规范数据模型的缺陷。

SAP的方法

在2019年初,我们考虑了SAP的单域模型的设计目标和建模指南,该模型定位为智能套件集成的数据模型。一些关键的设计目标是:

将对齐工作限制在那些必须对齐的部件上,即生产商和消费者就交换格式达成一致的地方。不要让当前系统/应用程序边界定义模型边界。相反,域应该定义模型的顶层,这些模型应该在系统进化、整体分割等情况下保持稳定。允许域独立而轻松地演化,而无需任何全局同步需求。我们的模型"objects"是DDD聚合。它们是建模和分布的单元,由一个根实体、子实体和值类型组成。作为DDD中的标准,关联只允许聚合根。强烈的一致性只存在于聚合内部,最终在聚合之间存在一致性。

应用领域驱动的设计原则

对于建模指南和模式的讨论,分别考虑主数据(如产品、客户)和事务数据(如报价、订单)是有意义的。在这篇博文中,我们将讨论主数据,在后面的博文中讨论事务数据模型。

主数据在许多应用程序之间共享。不同步的主数据是企业环境中的一个主要痛点,您确实希望主数据在所有应用程序中都是相同的。因此,首先关注的是对齐。请看下面的图片:

ODM的顶层结构是域。ODM对象存在于域中,即在名称空间中。应用程序"拥有"一个或多个域,即它们将(主)数据写入主数据集成(MDI)服务(有关详细信息,请参阅SCP主数据集成博客文章)。主数据由一个或多个应用程序写入,并由许多其他应用程序读取/使用(上面只显示了写入关系)。有一个非常小的公共域,它只包含由所有应用程序共享的少数类型。这就是DDD术语中所谓的"ODM共享内核"。像"Customer"或"Product"这样的对象出现在许多应用程序中,因为所有这些对象都处理这些实体,并且都有一些关于它们的数据。这里的第一个要点是,有一个"核心对象",它包含身份所需的基本属性,并且由许多/所有作者和读者共享。我们只希望在所有/大多数应用程序之间放置必须相同的数据。例如,该模型将被定义为odm.客户.但是,许多应用程序将为其"Customer"对象提供其他任何人都没有的额外数据,并且在集成中可能没有其他人需要使用这些数据。例如,考虑忠诚管理或营销应用程序。它们将链接到核心客户模型,但会有大量关于客户的附加数据,这些数据根本不需要在ODM中建模。如果LoyaltyManagement应用程序在某个时候决定也在ODM中公开它们的数据,那么它们的模型将是客户忠诚度. 尽管核心客户模型和忠诚客户模型都处理同一个现实世界的实体,但它们的模型是分开的,由不同的应用程序拥有,并且可以独立发展。因此,每个客户对象都可以在自己的有界上下文(域/名称空间)中生存和发展。我们称之为"共享身份模式"。我们称之为"域方面分离模式",类似的模式可以解耦模型并减少对齐开销。例如,考虑产品模型。一个产品有许多方面属于其他领域,例如。productionspect:有关由"Production"域维护的产品的数据,其他域可能需要这些数据。ProductSalesAspect:商业应用程序所需的产品的销售相关信息。产品财务方面:财务数据,如估值、控制相关数据等

这些方面与它们所属的产品松散耦合,但它们显然存在于自己的域中,即模型是由该域定义的,数据是由该域(实现该域的应用程序)编写的。这里的要点是:(1)这些方面可以独立于核心产品发展。(2) 这些方面的一致性讨论只需要在数据的提供者和使用者之间进行。这给了我们许多小的调整讨论,而不是一个全球性的。在DDD术语中,我们可以将其称为"共享内核",仅用于此方面,然后我们有许多小的共享内核,每个内核都集中在一个方面,并且仅限于直接受影响的参与者。

当然,所有应用程序都需要将其内部数据结构映射到外部ODM模型,云端服务器,反之亦然。这与DDD中的反腐败层(ACL)关系相对应,它将双方模型的演化分开。

事务数据的行为与主数据略有不同,关注点不同,需要的建模模式略有不同。这些将在后面的文章中描述

分享给小伙伴们:
本文标签: 带宽重庆网站建设设计少钱

相关文章

评论

发表评论愿您的每句评论,都能给大家的生活添色彩,带来共鸣,带来思索,带来快乐。

签名: 验证码: 点击我更换图片

评论列表