我们正在开发 Restful 网络服务 (JAX-RS)。我们有如下资源组织:
基本 URI:api.example.com
->Accounts
[AccountId]
->contacts
->orders
->cart
为了说明,如果我想访问联系人资源,我的 URI 将是这样的:
http://api.example.com/Accounts/233/V1/contacts/
对于订单,
http://api.example.com/Accounts/233/V1/orders/
我们希望为上述表示中的联系人、订单、购物车等部署单独的 Web 应用程序(作为 WAR),当然是集群的。要求是消费者应用程序需要使用上述 URL 方案访问这些应用程序。消费者应用程序不知道部署了多个应用程序。基本问题是,单独部署此类应用程序并且仍然能够坚持面向资源的架构的最佳实践是什么?
注意:我们现在还没有使用任何 ESB。所有这些 API 目前都在内部使用。