我在SO上看到围绕这个主题的几个问题,但没有真正满足我的答案。
我试图把话语放在我感觉到的东西上,而不是总能清楚地表达它们来说服我周围的人。可能是我错了。可能是我的理解不足以找到适当的论据。
您如何根据“面向服务的方法”而不是“传统的”API方法来对比开发应用程序?
让我们在这里完全清楚,通过服务,我不一定是指Web服务。
以下是我看到的一些差异。如果我错了,请纠正我:
我在这里缺少什么?还有什么能够真正区分服务和高级API?
答案 0 :(得分:1)
你已经涵盖了最重要的一点。我想补充一句:
通常,服务是无状态的。每个服务请求都是独立的。这与库接口形成对比,在接口中,您可以按顺序进行某些调用以获得所需的结果。
答案 1 :(得分:1)
面向服务的体系结构意味着公开的接口不会位于客户端运行的同一主机上,并且服务与客户端代码完全分离(松散耦合)。您可以通过在同一节点上加载必要的库并执行代码来轻松调用API。面向服务的体系结构不是定义API,而是关注功能,很多时候您可以使用不同的协议访问相同的功能。
如果有任何可以区分SOA和AOA的话,我会选择松散的代码耦合。