2

我正在实现 API Manager 与 ESB 与 DSS 的对话。我对这 3 种产品的最佳实践/设计感兴趣。让我们以员工为例。假设一个员工在数据库 Person、Location、Image 中有 3 个表。我正在考虑在 DSS(人、位置、图像)中创建 3 个 API。然后在 ESB 中,我将只使用 GetPerson,ESB 将使用 PersonID 调用 Person 并获取人员信息以及 LocationID,然后在 DSS 中调用 Location 以获取位置信息,然后调用 Image 以获取图像信息,然后喜欢将 XML 放在 ESB 中并返回给用户。这是可能的,甚至是最佳做法吗?现在我在 DSS 中只有一个 Person,在其中将 Person XML 与位置和图像信息放在一起(相当简单)。在 DSS 中将它们分开似乎是合乎逻辑的,所以如果我需要除 Person 以外的其他内容的 Location,我可以使用 locaitonid 调用 location,而不是继续在 DSS 中为每个需要 Location 的实例创建 API。不确定最佳设计模式,但尝试在 ESB 中进行 3 个不同的调用并将结果放在一个 XML 文件中以返回给用户似乎要困难得多。

4

1 回答 1

1

这可以通过在 ESB 中使用称为服务链和聚合器中介的概念来实现。

对于服务链,请参阅http://docs.wso2.org/display/ESB460/Service+Chaining,对于聚合器中介,请参阅http://docs.wso2.org/display/IntegrationPatterns/Aggregator

于 2014-01-13T18:42:39.460 回答