在 SOA 中将职责与边界分开
Separating responsibilities with boundaries in SOA
我有两个API/Services。一个是 TaxServiceAPI,它与一些名为 ThirdPartyTaxAPI 的第三方服务集成以获取税务报价.另一个服务是 BillingServiceAPI。 BillingServiceAPI 有一个内部产品编号(例如 BOOK0001),必须从 TaxServiceAPI。问题是 TaxServiceAPI 只知道第三方服务 ThirdPartyTaxAPI 中使用的产品。 ThirdPartyTaxAPI 中的产品编号与公司内部产品编号不匹配。 ThirdPartyTaxAPI 中 BOOK0001 对应的产品编号为 10005。
因为没有匹配的产品编号,我必须在 BillingServiceAPI 或 TaxService[= 中将 BOOK0001 映射到 10005 41=]。考虑到 SOA 的原则,我应该在哪里做映射?我应该把它放在 BillingServiceAPI 还是 TaxServiceAPI 中?我无法决定谁负责将公司内部产品映射到第三方 API 使用的产品。
如果我理解正确,TxtServiceAPI 是您与第 3 方交互的服务 API。在这种情况下,它将翻译作为其角色将您的内部世界与外部世界联系起来是有道理的,而内部服务不关心该数据
我有两个API/Services。一个是 TaxServiceAPI,它与一些名为 ThirdPartyTaxAPI 的第三方服务集成以获取税务报价.另一个服务是 BillingServiceAPI。 BillingServiceAPI 有一个内部产品编号(例如 BOOK0001),必须从 TaxServiceAPI。问题是 TaxServiceAPI 只知道第三方服务 ThirdPartyTaxAPI 中使用的产品。 ThirdPartyTaxAPI 中的产品编号与公司内部产品编号不匹配。 ThirdPartyTaxAPI 中 BOOK0001 对应的产品编号为 10005。
因为没有匹配的产品编号,我必须在 BillingServiceAPI 或 TaxService[= 中将 BOOK0001 映射到 10005 41=]。考虑到 SOA 的原则,我应该在哪里做映射?我应该把它放在 BillingServiceAPI 还是 TaxServiceAPI 中?我无法决定谁负责将公司内部产品映射到第三方 API 使用的产品。
如果我理解正确,TxtServiceAPI 是您与第 3 方交互的服务 API。在这种情况下,它将翻译作为其角色将您的内部世界与外部世界联系起来是有道理的,而内部服务不关心该数据