我的想法:
Web 服务专为机器互操作和吸引受众而设计
使用 HTTP 作为传输方式很容易。
一个优点是,通过发布服务,您也可以使用
为潜在的广大受众提供服务(通过网络或至少在整个
整个公司)和/或很大程度上超出您的控制/影响/沟通渠道
你不介意或者这是想要的。作为客户,该服务的使用要容易得多
只需要有互联网连接并使用该服务。不像图书馆
可能不会那么容易做到(但可以做到)。该服务的使用在很大程度上是开放的。您正在将它提供给任何认为他们可以使用它并且他们觉得如何使用它的人。
但是,网络服务通常速度较慢,并且依赖于互联网连接。
它通常比代码库更难测试。
可能更难维护。这在很大程度上取决于您的维护和编码实践。
如果需要以上几项功能或至少其中一项,我会考虑使用网络服务
被认为是最重要的,缺点是可以接受的或必要的邪恶。
共享库怎么样?
如果您更多地“控制”环境或想要控制环境怎么办?您知道谁将使用该代码
(接口不是维护的问题),您不必担心互操作。您处于以下情况
您可以轻松实现共享,而无需大量工作/跳跃。
我心目中何时使用的例子:
您的控制中有许多应用程序都托管在同一台或两台将使用该库的服务器上。
不是很好的例子,您有许多应用程序,但都托管在十几台服务器上。 Web Service 可能是更好的选择。
您不确定谁或如何使用您的代码,但知道它对许多人来说很有价值。网络服务。
您正在编写一些仅由一组有限的应用程序使用的东西,也许是一些辅助函数。图书馆。
您正在写一些高度专业化的东西,不适合许多人使用。例如您的业务线的 API
其他人永远不会使用的应用程序。图书馆。
如果所有条件相同,则从共享库开始并将其转变为 Web 服务会更容易,但反之亦然。
还有很多,但这些是我的一些想法......