HighLoad 2007 и веб-сервисы Высоконагруженные приложения как совокупность веб-сервисов Павел Кудинов
Что такое веб-сервис? Программный интерфейс, предназначенный для взаимодействия приложений в рамках WWW – W3C V HTTP – XML – RPC/SOA/REST – SOAP – WSDL
Почему именно XML? базовые свойства: самодостаточность индуктивность кроссплатформенность распространенность
Почему именно XML? важные следствия: понятен и человеку и машине возможность декларирования – как форматная (например, схемы XML) – так и функциональная (например, WSDL) возможность трансформирования – XSLT, XQuery интегрируемость с современными инструментами – поддержка XML реляционными СУБД – NXD (Native XML Database)
Что такое веб-сервис? Программный интерфейс, предназначенный для взаимодействия приложений посредствам XML в рамках WWW V HTTP V XML – RPC/SOA/REST – SOAP – WSDL
RPC, SOA или REST? REST!
Парадокс применимости веб-сервисов: проблемы вычисления – разбор XML хранение и передача – избыточность XML (1:10) сетевые операции – протокол HTTP
Парадокс применимости веб-сервисов: детали вычисления – контекстный метод обработки DOM SAX регулярные выражения инкапсуляция хранение и передача – сжатие (1:10) сетевые операции – протокол HTTP 1.1 (keep-alive)
Парадокс применимости веб-сервисов: решение
Приложение как совокупность веб-сервисов Пример из мира SEO: получение информации о доменах
Шлюз как веб-сервис
Агрегация данных как веб-сервис
Многозадачность как веб-сервис
Индуктивность архитектуры
Как обеспечить сетевую многозадачность Эффективное решение: реализация веб-сервисов в качестве автономных HTTP приложений см. доклад HighLoad-2007 «Сетевая многозадачность: событийные машины»
Спасибо за внимание! Высоконагруженные приложения как совокупность веб-сервисов Павел Кудинов Агентство «Точка Кипения» Технический директор