我们正在开发Restful webservices(JAX-RS)。我们有如下资源组织:
基本URI :api.example.com
- >帐户
[ACCOUNTID]
- >接触
- >订单
- >购物车
为了说明,如果我想访问联系人资源,我的URI将是这样的:
http://api.example.com/Accounts/233/V1/contacts/
和订单,
http://api.example.com/Accounts/233/V1/orders/
我们希望在上述表示中为联系人,订单,购物车等部署单独的Web应用程序(作为WAR),当然是聚类。要求是消费者应用程序需要使用上述URL方案访问这些应用程序。消费者应用程序不知道部署了多个应用程序。基本问题是,单独部署此类应用程序的最佳实践是什么,仍然能够坚持面向资源的体系结构?
注意:我们现在还没有使用任何ESB。所有这些API目前都在内部使用。
答案 0 :(得分:1)
最佳做法是使用Service Façade从逻辑uri中抽象物理网址。有很多方法可以做到这一点;从url rewriting at WebSever level到像Layer-7和Sonic这样的Web服务治理工具。