如果你愿意,可以称我为巨魔,但我是认真的:新 SOA 趋势与我 15 年前构建的客户端服务架构有何不同?我一直在听 SOA,但我看不出它与我们一直所做的有什么不同。
早在 10 年前,我的公司有多个客户(使用多种语言)使用同一个服务。它不是 XML(它是一种称为 Microsoft DCOM 的二进制协议),也没有通过 WSDL 进行自动发现,但这没关系,因为阅读文档同样容易。我们的系统甚至是“开放的”,因为我们记录了它足以让第 3 方与我们的服务对话。我们不是先驱——我 10 年前认识的所有其他公司都在做同样的事情。
我当时和现在看到的唯一区别是现在互联网上只有一个服务可用,而 10 年前,每个客户都将托管自己的服务实例。但这不是架构问题——服务的物理存在对使用该服务的任何人都是透明的。
那么与我们多年来一直在做的事情不同的 SOA 到底是什么?SOA 是否只是一个营销术语,代表了很久以前实际上变得普遍的最佳实践?或者我是否遗漏了一些与我们一直在做的不同的 SOA?