сеть для стахановцев

ПАЛАГИН АНТОН AKA TONY

Спецвыпуск: Хакер, номер #065, стр. 065-012-1

(TONY@EYKONTECH.COM)

РАЗРАБОТКА СОВРЕМЕННЫХ СЕТЕВЫХ ПРИЛОЖЕНИЙ

ФОРМАТ XML, ПОЯВИВШИЙСЯ НА СТЫКЕ ТЫСЯЧЕЛЕТИЙ, ПОСЛУЖИЛ ТОЛЧКОМ ДЛЯ НОВОГО ЭТАПА ЭВОЛЮЦИИ В СФЕРЕ СЕТЕВЫХ ПРИЛОЖЕНИЙ. СЕГОДНЯ ИСПОЛЬЗОВАНИЕ XML — ЭТО НЕ ДАНЬ МОДЕ И НЕ БЕЗДУМНОЕ СЛЕДОВАНИЕ СОВРЕМЕННЫМ ТЕНДЕНЦИЯМ, А ТЩАТЕЛЬНО ПРОДУМАННЫЙ БРАК ПО РАСЧЕТУ

Инструменты XML

Работа с документами XML в языках программирования реализуется с помощью специальных компонентов — парсеров XML. Основная задача парсера — это умение создавать документы и предоставлять клиенту возможность навигации по элементам дерева документа (узлам и атрибутам). Сегодня существует множество парсеров для любого языка программирования, следовательно, XML-документы стали отличным механизмом для реализации обмена формализованными данными, независимого от языка и платформы. Например, для С++ можно вспомнить с десяток различных парсеров.

Посмотрим поближе на три из них: msxml, xerces и libxml2. Первое — продукт творчества компании Microsoft, что ясно по названию, и хорошая мощная библиотека, предоставляющая DOM-интерфейс для работы с XML-документами, но реализованная, по большому счету, только для одной платформы. Методами дедукции или индукции можно легко установить, для какой именно.

Xerces — это один из проектов Apache, он предоставляет и DOM-, и SAX-интерфейсы. Существует для языков C++, Java и Perl на широком спектре платформ. Весьма надежен и стабилен, но испорчен двумя существенными недостатками: рыхлый клиентский код и медленный парсер.

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

дети xml

Разберемся, почему XML настолько удобен как формат представления данных и почему он пришел на смену бинарному обмену между распределенными приложениями. Все дело в сложности кода анализа данных и открытости стандарта. Парсить бинарные форматы данных на порядок сложнее, чем XML с помощью специальных библиотек, выполняющих за тебя всю рутинную работу. Расплатой становится избыточность данных, впрочем, современные каналы связи позволяют не обращать на это особое внимание. Упрощение кода для анализа данных позволяет создавать более сложные распределенные системы, что мы и наблюдаем в наши дни. В web-службах, в .NET Remoting и Indigo для обмена данными между клиентом и сервером используются документы XML, основанные на спецификации SOAP (Simple Object Access Protocol).

Последняя версия (1.2) протокола SOAP датируется 24 июня 2003 года. Этот протокол описывает обмен SOAP-сообщениями, содержащими произвольную информацию, между отправителем и получателем. Важно, что SOAP предоставляет не готовые решения, а инструменты, с помощью которых разработчики строят собственные приложения. Облегченная версия SOAP (она называется XML-RPC) пришла на смену бинарному RPC-обмену (Remote Procedure Call), который использовался как в чистом виде, так и под оберткой DCOM и CORBA.

Содержание  Вперед на стр. 065-012-2
Выпуски журнала "СПЕЦ Xakep"
Cпец Хакер #01Cпец Хакер #02Cпец Хакер #03Cпец Хакер #04Cпец Хакер #05Cпец Хакер #06Cпец Хакер #07Cпец Хакер #08Cпец Хакер #09Cпец Хакер #10Cпец Хакер #11Cпец Хакер #12Cпец Хакер #13Cпец Хакер #14Cпец Хакер #15Cпец Хакер #16Cпец Хакер #17Cпец Хакер #18Cпец Хакер #19Cпец Хакер #20Cпец Хакер #21Cпец Хакер #22Cпец Хакер #23Cпец Хакер #24Cпец Хакер #25Cпец Хакер #26Cпец Хакер #27Cпец Хакер #28Cпец Хакер #29Cпец Хакер #30Cпец Хакер #31Cпец Хакер #32Cпец Хакер #33Cпец Хакер #34Cпец Хакер #35Cпец Хакер #36Cпец Хакер #37Cпец Хакер #38Cпец Хакер #39Cпец Хакер #40Cпец Хакер #41Cпец Хакер #42Cпец Хакер #43Cпец Хакер #44Cпец Хакер #45Cпец Хакер #46Cпец Хакер #47Cпец Хакер #48Cпец Хакер #49Cпец Хакер #50Cпец Хакер #51Cпец Хакер #52Cпец Хакер #53Cпец Хакер #54Cпец Хакер #55Cпец Хакер #56Cпец Хакер #57Cпец Хакер #58Cпец Хакер #59Cпец Хакер #60Cпец Хакер #61Cпец Хакер #62Cпец Хакер #63Cпец Хакер #64Cпец Хакер #65Cпец Хакер #66Cпец Хакер #67Cпец Хакер #68Cпец Хакер #69Cпец Хакер #70Cпец Хакер #71Cпец Хакер #72Cпец Хакер #73Cпец Хакер #74Cпец Хакер #75