Блеск и нищета SOA

Наиболее значимым результатом многолетнего шума про SOA стала потребность для поставщиков продуктов и услуг оборачивать свои API в вызовы поверх HTTP/HTTPS. Вроде бы неплохо, относительно несложная интеграция, интероперабельная среда, а в случае SOAP или XML-RPC, известных с 1990-х годов, ещё и стандартизированная. Чего не скажешь о REST - здесь каждый сам себе стандартизатор.

Теперь прикиньте, какой объем труда необходим для создания такого числа служб, дергаемых извне. Помню, что SAP упоминал о 20 или 30 тысячах. Хочешь-не хочешь, а такую работу приходится отдавать большому числу программистов с невысокой квалификацией, тем более, что большинство API некритичные, неприятности во многих случаях можно обойти прежними путями.

Не далее как вчера был обнаружен пример такого коллективного творчества у одного из главных национальных поставщиков веб-хостинга.

Понадобилось создать почтовый ящик и автоответчик к нему. Ящик создали руками, автоответчик - через веб-службу. Первый же тест принес неожиданные результаты: ответ приходит, а исходное письмо пропадает. Заподозрив неладное, лезем в ручное управление, там обнаруживается опция "не удалять оригинальное сообщение", которая неактивна. В интерфейсе соответствующей веб-службы такой опции нет. Но это полбеды. Беда в том, что опция по умолчанию удаляет исходные сообщения.

Повторю, чтобы вы смогли проникнуться моментом: по умолчанию созданный через веб-службу автоответчик удаляет исходные сообщения, и повлиять на это можно только собственными ручками или их эмулятором через обычный веб-интерфейс.

В подобных случаях даже использование agile-"наживульки" не может быть оправданием, никакой процесс не заменит необходимость думать головой хотя бы на полуход вперед.