Если хотите, назовите меня троллем, но я серьезно: насколько точно новая тенденция SOA отличается от архитектуры клиент-сервисов, которую я строил 15 лет назад? Я продолжаю слышать SOA, но не понимаю не вижу, как это отличается от того, что мы всегда делали.
Еще 10 лет назад в моей компании было несколько клиентов (на нескольких языках), которые пользовались одним и тем же сервисом. Это был не XML (это был двоичный протокол, называемый Microsoft DCOM), и не было автоматического обнаружения через WSDL, но это нормально, так как читать документы было так же просто. Наша система была даже "открытой" в том смысле, что мы задокументировали ее достаточно, чтобы позволить сторонним организациям общаться с нашими службами. Мы не были первопроходцами - любая другая компания, которую я знал 10 лет назад, делала то же самое.
ЕДИНСТВЕННАЯ разница, которую я вижу между тогда и сейчас, заключается в том, что теперь в Интернете доступна одна услуга, тогда как 10 лет назад каждый клиент размещал свой экземпляр службы. Но это не проблема архитектуры - где физически живет сервис, он прозрачен для всех, кто пользуется сервисом.
Так чем же отличается SOA от того, чем мы занимаемся годами? Является ли SOA просто маркетинговым термином, представляющим лучшую практику, которая на самом деле стала распространенной давным-давно? Или я пропускаю некоторые из них в SOA, которые отличаются от того, что мы делали все это время?