Anatoly Levenchuk (ailev) wrote,
Anatoly Levenchuk
ailev

Category:

Веб-сервисы

Иван Пашкевич организовал на конференции АДЭ заседание по веб-сервисам, на которым я (и, кажется, не только я ;) впервые понял, о чем это на самом деле. Иван собрал докладчиков от Майкрософта, Сана, Борланда и Дата-Форта (IBS) – и песню о веб-сервисах они спели хором.


  • веб-сервисы не имеют себе равных по числу аббревиатур на единицу текста – и среди них главные XML (ничего не значит, ибо это сейчас общее место для вообще всего), SOAP (протокол взаимодействия двух программ, страшно тормозящий через HTTP, поэтому все мечтают его перевести на другой естественный для него транспорт), WSDL (web-service definition language, на котором можно описать функциональность) и UDDI (каталог, где можно глянуть, какие веб-сервисы и кем уже наваяны).

  • Веб-сервисы описывают следующее поколение архитектуры приложений (в ряду client-server, web-server (middleware), web-services c одной стороны, и библиотеки программ, динамические библиотеки программ и веб-сервисы с не только динамическим связыванием на разных компьютерах, но и с поиском того, чего связывать).

  • Веб-сервисы – это «узакониватели» для ASP, они служат исключительно для публикации вовне функциональности приложений, и должны применяться в качестве API для приложений (то есть веб-сервевисы – это другие слова для SOAP/WSDL API для любых программ, которые работают на разных компьютерах, связанных через интернет). Другое дело, что это динамическое связывание.

  • Приложения типа аськи делаются так: ставится центральный UDDI, через который клиенты находят друг-друга, а потом вычислившие друг друга через UDDI клиенты общаются между собой через SOAP (и это ужасно медленно, если делается по HTTP).

  • Есть три основных инструментария, которые позволяют легко и непринужденно ваять веб-сервисы: это Sun Studio One (в том числе открытый код, сообщество разработчиков для кое-каких кусков, но все только на Java), Microsoft .Net (все полностью закрыто, зато много языков) и GPL инициатива mono (много языков, все открыто, но пока не готово).

  • Веб-сервисы позволяют снюхиваться приложениям, разработанным в разных инструментариях (от Сана и Майкрософта, например), поэтому большие фирмы видят в этом панацею от обвинений в несовместимости их приложений. То есть веб-сервисы должны использоваться там и тогда, где и когда стоит задача интеграции. При этом особо отмечается, что веб-сервисы служат для публикации функциональности приложения во внешний мир, но не для реализации бизнес-логики. Договариваются о веб-сервисах на ws-i.org

  • Переход на веб-сервисы должен осуществляться без смены лошадей на этой переправе (если ты из GPL-мира, то пиши на mono, если ты из Майкрософт-вселенной, то пиши на .Net и т.д.), ибо стоимость транзита на другую платформу перекроет любые выгоды от использования веб-сервисов в разработке.

  • Переход на веб-сервисы даст возможность торговать «тяжелыми» приложениями в режиме их аренды (ASP), а сейчас этим (ERP, CRM и далее по списку) торгуется через терминальный доступ, что страшно неудобно для всех (требует толстенных каналов и все равно тормозит).


На сегодняшний день веб-сервисы еще не стоит применять, если нет тяжелой интеграционной задачи (например, организации взаимной работы приложений в нескольких офисах крупной фирмы). Ожидается, что эта технология станет удобоваримой для разработчиков где-то через годик. Но это магистральное направление: так, Майкрософт 80% своих $6млрд. на R&D тратит сейчас на .Net.
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

  • 7 comments