【发布时间】:2018-08-28 16:52:13
【问题描述】:
作为我们实现以 API 为主导的连接性之旅的一部分,我们必须将我们的资源(即 API 端点)分组到多个 Mule 应用程序中以获取体验 API。
为了使 Mule 应用程序具有有意义的名称,同时保持最大的可重用性,而不是将消费者名称与应用程序名称相关联(这使得体验 API 与当前应用程序环境紧密耦合),我们建议使用 Mule 应用程序名称反映业务的本质。
选项列表如下。你觉得哪一个更理想?您在组织中使用了什么方法?
- 基于渠道/消费者 专为 WEB、CRM、移动等消费者提供的体验 API。
uri 示例:
www.example.com/example-**web**-application/v1/
www.example.com/example-**crm**-application/v1/
www.example.com/example-**mobile**-application/v1/
专业人士:- 应用渠道特定政策更容易,管理变得更容易,停电窗口更小
缺点:- 可重用性降低,跨 api 对象重复的机会增加
- 基于业务领域 使用公司数据模型。例如 - 客户、产品、付款等。
uri 示例:
www.example.com/example-**customers**-application/v1/
www.example.com/example-**products**-application/v1/
www.example.com/example-**payments**-application/v1/
专业人士:- 促进可重用性,与渠道无关,相同的 api 可用于不同的消费者。
缺点:管理可能会变得复杂,停机窗口更大,多个消费者可能会受到影响
-
基于客户旅程
这种方法与客户在组织中的生命周期相关联。例如 - 潜在客户 --> 潜在客户 --> 参与 --> 付款 --> 客户保留
uri 示例:
www.example.com/example-**prospect**-application/v1/
www.example.com/example-**lead**-application/v1/
www.example.com/example-**engage**-application/v1/
专业人士:与渠道无关,相同的 api 可用于不同的消费者。
缺点:可能会变得越来越大,可能仍需要进一步细分
谢谢。
【问题讨论】:
标签: api mule integration