Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #83, НОЯБРЬ 2005 г.

Самопальный сервис

eto'o

Хакер, номер #083, стр. 083-124-2


Другой пример - скажем, автоматический перевод текстов или проверка орфографии. При помощи XML-RPС-запроса клиентское приложение (хоть плагин к браузеру) отправляет текст для обработки и получает по этому же протоколу мгновенно ответ от системы. К слову, такие сервисы давным-давно уже есть в Сети, это не моя больная фантазия.

Все плюсы использования XML-RPC по достоинству оценила целая куча разработчиков, которая активно использует XML-RPC в своих системах. Ведь реализация этого протокола есть практически для любого языка программирования, и написать собственный web-сервис совсем несложно. В этом мы с тобой сегодня убедимся, но прежде давай я расскажу поподробнее, как функционирует протокол, как он выглядит и как им пользоваться.

[как это работает]

Следует понимать, что, с точки зрения сетевого взаимодействия, обмен данными с web-сервисами осуществляется при помощи протокола TCP и с использованием стандартного метода POST HTTP. В принципе, для web-сервера, обрабатывающего XML-RPC запросы, это выглядит так же, как и обычная отправленная методом POST форма: те же данные, передача их выполняемому приложению, чтение его потока вывода и выплевывание этих данных клиенту. Все, как и прежде, за исключением того, что для транспортировки непосредственно ДАННЫХ используется новый протокол-надстройка над HTTP, который стоит на уровень выше. Ведь все данные упаковываются в XML-представление и в этом виде передаются по HTTP. Само приложение их извлекает из тела XML-документа, некоторым способом их обрабатывает и генерирует ответ, представленный в виде XML-документа.

Как легко понять, после создания web-сервиса, необходимо наколбасить и клиента, чтобы конечные пользователи могли использовать этот сервис. Для этого необходимо предоставить информацию об интерфейсе сервиса, о его API. Эта информация, собственно, и делает web-сервис доступным для всей Сети, предоставляя сторонним разработчикам возможность легко и быстро писать приложения для общения с твоим сервисом.

В настоящий момент уже даже существует специальный язык WSDL (Web Services Description Language - Язык Описания Web-Сервисов), который активно разрабатывается и предназначен как раз для описания API-интерфейсов. Думается, что при его использовании в некоторых случаях разработку клиентов можно будет вообще автоматизировать.

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

[описание]

На самом деле, чтобы создавать web-сервисы и не надо знать ничего о том, как работает XML-RPC. Ведь использовать браузер можно, не читая спецификаций HTTP. Но такие знания не будут лишними. Поэтому мы с тобой сейчас разберемся с тем, как функционирует и устроен протокол, рассмотрев на практике его работу.

Назад на стр. 083-124-1  Содержание  Вперед на стр. 083-124-3