我可以检查一下为不同的服务提供商提供通用web服务和为每个服务提供商提供单独的web服务的优缺点是什么?
还有没有我可以参考的文章?
发布于 2010-08-13 09:23:06
这样做的好处是更容易创建基础架构部分。
缺点是,您现在需要编写更多的代码来分离不同的消息,并将它们分派到适当的模块进行处理。你的代码会更复杂,更难维护。
发布于 2010-08-13 09:34:18
在经历了这两条路之后,我建议你考虑更小的版本化服务,而不是一个大的厨房水槽服务。
以unix的哲学为例:做一件事,并把它做得很好。在上面放一个版本号,这样你就可以升级了,而不会触动消费者。同时,尽量保持每个版本的代码相互独立。一旦1.0版投入生产,您就不会想要意外地破坏与可能已经围绕您的bug进行编码的消费者之间的合同。只需发布一个新版本并推动您的消费者使用升级后的服务即可。
发布于 2010-08-19 13:58:59
BostonBob说的是事实,服务粒度应该限制在一种能力范围内,这有助于长期的可维护性,因为事物只存在于一个地方,并且在逻辑上是内聚的。
至于服务操作粒度,最好的位置似乎位于服务合同上的3 -5个操作之间,12个操作是上限,如果有更多的机会将其分解为两个有用的服务。
下面是一些如何构建SOA的实际示例
我建议您阅读Thomas Erl和Roger Sessions的文章,这将使您对SOA的全部内容有一个明确的把握。以及如何划分服务
SOA Design Pattern
Achieving integrity in a SOA
Why your SOA should be like a VW Beetle
SOA explained for your boss
https://stackoverflow.com/questions/3473210
复制相似问题