资源分组是使用SOA的交叉关注点(?)

时间:2013-07-10 13:35:47

标签: architecture soa nservicebus cqrs

我想揭露以下一般问题:

我有大量(数百万)资源(我们也称它们为对象)。

由于其数量,多样性和其他业务规则,我需要创建组。这些组可以有不同的来源:地理位置,对象类型,操作等。

这些组可以具有树结构,因此组可以从父组“继承”成员。此外,我可以通过指定具有两个现有组的集合操作来计算组。

这种要求会让我想到一个特定的服务或业务组件来处理分组问题。

我遇到的主要问题是“分组”在很多层面上浸透了系统的其他部分。

我会试着解释一下。还有其他服务允许对这些资源和/或资源组执行操作。例如,我有一个管理服务来处理资源生命周期(新的或删除的资源)。另一项服务负责资源的特定动态状态(即:由于某些环境事件,资源是否可用)。另一个处理另一个动态状态,它在命令上改变。这些对象产生(大量)数据,然后由数据管理服务等处理。

由于以下几个原因,这些特定服务需要了解分组,例如:

  • 仅授权某些用户执行操作或浏览某些群组的数据
  • 根据群组构建报告(例如:我想知道特定地理群组中的可用资源数量)
  • 按资源组聚合资源生成的数据

我想使用CQRS方法并避免查询“分组服务”,但后来我也看到其他服务可能变得太复杂。

解决此问题的最佳方法是什么?这种“分组服务”是否应该被视为一个贯穿各领域的问题?如果是这样,这将如何适应NServiceBus?

提前致谢!

0 个答案:

没有答案