【发布时间】:2016-02-12 16:16:05
【问题描述】:
我正在为 SOA 的概念而苦苦挣扎。假设有一个包含大量特定业务逻辑和资源的大项目。根据我发现 SOAP 和 REST 的意义,SOAP 用于业务逻辑部分,REST 用于资源/CRUD 部分。
我的想法是使用 SOAP 作为公共入口点并使用 REST 作为 SOAP 的内部 API(因为它不应该有业务逻辑),这样我可以利用这两种结构的优势.
这里的问题是编写详细/概述请求可能会在 REST 和 SOAP 服务中,这不利于维护。
应该避免混合使用 SOAP 和 REST,还是可以按照我描述的方式正确使用它们?
编辑我会尝试做一个更具体的案例。我还看到了一篇好文章http://www.infoq.com/articles/tilkov-rest-doubts。通过以不同的方式重命名模型,这将解决在 REST 中使用业务逻辑的许多问题。
例如,如果您有一个产品订单并且您有折扣,则可以在(创建)POSTing 产品到 /order URL 之后计算。在 /order URL 上GETing 产品后可以看到折扣。这非常适合 REST。
但是,当由于某种原因您不能以相同的顺序拥有产品 x 和 y 时,这在 REST 服务中似乎有点难以做到。因为您必须给出正确的错误消息,例如“x 和 y 不能在一个顺序中”,所以这暴露了业务逻辑并且似乎更适合 SOAP。有没有办法做到这一点是 REST,如果是这样,在这种情况下使用 REST 会更好吗?
【问题讨论】:
标签: soap soa restful-architecture