В последние годы появляется огромное количество публикаций, посвященных технологии Web-сервисов и сервис-ориентированной архитектуре. Как правило, эти публикации носят исключительно оптимистический характер и обещают, что с развитием технологической поддержки Web-сервисов, т.е. с появлением готовых сервисов, которые можно будет использовать в различных секторах бизнеса, создание распределенных корпоративных и других информационных систем станет, наконец, простым делом. Другими словами, нас призывают считать Web-сервисы и SOA наконец-то настоящей серебряной пулей, которая сможет поразить чудовище сложности технологии распределенных систем.
Около десяти лет тому назад в заметке про объектно-ориентированные базы данных я вспоминал одного из своих любимых авторов Экклезиаста. Напомню, что он говорил: «Что было, то и будет; и что делалось, то и будет делаться, и нет ничего нового под солнцем» (Книга Экклезиаста, или Проповедника, 1:9). Похоже, что люди из отделов маркетинга компаний, производящих промежуточное программное обеспечение для Web-сервисов и SOA, мало читают классику. Некогда им. «Суета сует, сказал Экклезиаст, суета сует, - всё суета!» (Книга Экклезиаста, или Проповедника, 1:2)
А вот авторы статей, переводы которых я предлагаю вам прочитать, если и не читали Экклезиаста, то вполне ему следуют. Обе эти статьи в основном посвящены технологии CORBA, которая считалась серебряной пулей промежуточного программного обеспечения десять лет назад. Сейчас эта технология находится в упадке, и в статье Мичи Хеннинга «Восход и закат CORBA» приводится анализ причин этого упадка. Этот анализ кажется мне очень интересным, поскольку, во-первых, он делается человеком, который несколько лет трудился в OMG, где создавались спецификации CORBA. Во-вторых, в настоящее время Хеннинг работает в компании ZeroC над продуктом Ice и с позиций разработчика middleware следующего поколения очень четко указывает на технические погрешности CORBA, способствовавшие, по его мнению, закату этой технологии. Что же касается Web-сервисов, то, как считает Хеннинг, эта технология движется по тому же пути, который завел в тупик CORBA.
Вторая небольшая статья «Corba: ушла, но (будем надеяться) не забыта» написана Терри Коаттой. Он подходит к вопросу о серебряной пуле Web-сервисов немного с другой стороны. Бытует мнение, что CORBA потерпела неудачу из-за присущего ей стиля интеграции мелкоструктурных (fine grained) объектов, а Web-сервисы выигрывают из-за своей компонентной природы. Коатта на примере из собственной профессиональной жизни показывает, что с использованием CORBA можно было прекрасно делать приложения, в которых по сети передаются объемные данные, а взаимодействий объектов совсем немного. Воистину, нет ничего нового под солнцем!
Конечно, с большой вероятностью скоро все мы будем строить распределенные приложения в архитектуре SOA. Но полезно помнить, что, как говорит Терри Коатта, чудес на свете не бывает.