我正在阅读一份强调 SOA 使用的未来 IT 开发战略。我知道, SOA是网络上一些关于它的文章中的流行词。
作为程序员,我想了解为什么 SOA 应该比其他分布式计算架构更灵活?
SOA 基于在总线上发布的服务。但是,每个服务消费者都必须了解服务的意义/语义才能使用它。因此,必须修改客户端才能使用新服务。
例如,如果谷歌地图发布交通信息,我的应用程序会知道有什么发布,以什么格式等,但它不会让我的路线规划器神奇地获得利用这些数据的功能。
SOA 是基于契约的。合同是否不仅仅是明确定义的(前、后)条件,可以由计算机自动检查?
(就像一个函数检查它的输入,并在用户文档中记录它的期望,只是将验证移到函数之外。)
如果双方都必须再次履行合同,这将如何提高灵活性?数据不会因为发布就自动完成。如果合同发生变化,客户也必须修改。