场景很简单:许多公司需要共享一些参考数据(比方说,产品列表及其属性)。
问题在于,目前每个实体都在内部收集/清理数据,然后与其他公司共享数据,从而导致交换文件(电子表格)的长度过程。
解决这个问题的一些现代方法是什么?当然,这种情况在现代企业生活中非常普遍,因此我正在寻找有关标准流程/技术的一些指导。
谢谢!
答案 0 :(得分:0)
这确实是一种常见的情况,有几种解决问题的方法,包括专用的商业产品(如Tibco MDM或类似的IBM,Dell / Boomi等产品),这些产品往往很大,轻量级微服务的单片主数据解决方案,每个微服务都拥有一个特定的数据子集,并将相关数据的变化发布给需要它的其他微服务。如果数据库技术和模式在公司之间大致相似,有时您可以使用复制或数据库日志传送之类的东西来同步公司之间的数据。如果您的数据不需要自动同步,则可以使用ETL过程从一个公司提取主数据的更改并将其加载到其他公司。
利用域驱动设计的近实时方法将为需要管理的每组主数据元素识别Bounded Context,例如产品。然后,每个公司将定义他们的产品领域模型,定义产品Aggregate,公开产品的公共表面并抽象公司特定的细节。域模型还将定义每个公司可以发布与其产品聚合相关的事件。如果不同的公司拥有产品的不同部分,他们可能会将这些字段的更改发布为其他公司订阅的Domain Events。
在每个公司中定义产品的底层存储库和数据结构将由接收更改并将其应用于公司特定域的命令处理器更新。这可以使用ESB,微服务或消息代理进行编排,具体取决于公司之间所需处理的复杂性,例如路由,转换和转换。