IBM®
Перейти к тексту
    в России и странах СНГ [изменить]    Условия использования
 
 
   
    Главная страница    Продукты    Услуги и решения    Поддержка и загрузка    Мой профиль    
Перейти к тексту

developerWorks Россия  >  SOA и Web-сервисы  >

Использование Ajax c WSRF::Lite

Управление WSRF::Lite WS-Resources с использованием Ajax

developerWorks
На предыдущую страницуСтраница 3 из 12 На предыдущую страницу

Опции документа

Обсудить


Выскажите мнение об этом учебном пособии

Помогите нам улучшить содержание


Отображение HTTP на WSRF в WSRF::Lite

HTTP

HTTP - это сетевой прикладной протокол, являющийся основой всемирной паутины (World Wide Web). Это также один из самых распространенных транспортных протоколов, которые используют Web-сервисы для передачи SOAP-сообщений. Однако HTTP сам по себе является мощным протоколом для создания распределенных приложений, и это четко изложено Роем Филдингом (Roy Fielding) в его докторской диссертации "Архитектурные стили и дизайн архитектур сетевого программного обеспечения". Этот подход к созданию распределенных приложений, известный под названием Representational State Transfer (REST), многими рассматривается как альтернатива технологиям Web-сервисов, таким как SOAP и Web Services Description Language (WSDL).

HTTP следует шаблону запрос/ответ: клиент посылает сообщение-запрос, а сервер отвечает сообщением-ответом. Сообщение должно иметь заголовок и может иметь тело. Некоторые заголовки обязательны (например, запрос должен содержать HTTP-метод и Request-URI), тогда как остальные необязательны (например, заголовок Accept, позволяющий клиенту информировать сервер, какой тип данных допустим в ответе). HTTP-методами являются HEAD, GET, PUT, POST, DELETE, TRACE, OPTIONS и CONNECT. Большинство Web-браузеров поддерживает только POST и GET, и вы, возможно, знаете их и использовали при создании HTML-форм.

Каждый HTTP-метод имеет определенную цель и набор семантик. Метод GET извлекает представление ресурса, идентифицируемый в URI; GET является безопасным в том смысле, что его использование не должно иметь побочных эффектов; он является идемпотентным в том смысле, что два вызова GET эквивалентны одному. Метод PUT замещает существующее представление ресурса представлением, включенным в сообщение. PUT не является безопасным, поскольку имеет очевидный побочный эффект, но тоже является идемпотентным; повторение того же самого метода PUT дважды имеет тот же эффект, что и его однократное выполнение. Метод DELETE удаляет ресурс, идентифицируемый в URI; он идемпотентен, но не безопасен.

В последующих разделах вы больше узнаете о различиях между HTTP-методами, но возможно вы захотите обратиться к разделу "Ресурсы" за ссылками на подробную информацию об HTTP и REST.

Отображение HTTP на WSRF в WSRF::Lite

Из описания HTTP в предыдущем разделе понятно, что WSRF и HTTP имеют нечто общее: они оба предоставляют стандартный способ управления состоянием в распределенном приложении.

В WSRF::Lite HTTP-методы отображаются на WSRF-операции, как показано в таблице 1. Используя HTTP, возможно извлечь ResourcePropertyDocument ресурса WS-Resource при помощи метода HTTP GET с wsa:Address URI из EPR ресурса WS-Resource. Также возможно заменить существующий ResourcePropertyDocument новым при помощи метода HTTP PUT и уничтожить WS-Resource при помощи метода HTTP DELETE. Теперь должно быть понятно, почему WSRF::Lite WS-Addressing EPR не используют ReferenceParameters: Это затруднило бы их отображение на HTTP.

Когда контейнер WSRF::Lite получает HTTP-сообщение, он проверяет HTTP-метод. Если методом является POST, он передает сообщение в WS-Resource, которому оно было адресовано. Контейнер предполагает, что POST-сообщение будет содержать SOAP-сообщение с WSRF-операцией. Однако он должен на самом деле проверить HTTP-заголовок Content-Type сообщения, чтобы убедиться (а не просто сделать предположение) в том, что это SOAP. Будущие версии WSRF::Lite могут делать это для поддержки различного типа содержимого - например, данных, переданных с использованием HTML-формы. Если сообщение является одним из GET, PUT или DELETE, контейнер создает SOAP-сообщение, соответствующее эквивалентной WSRF-операции, и передает его в WS-Resource. Любое сообщение, не имеющее HTTP-метода из набора GET, POST, DELETE или PUT, получает в ответ сообщение об ошибке, указывающее на то, что метод не поддерживается.

WSRF::Lite-разработчик нужен только для реализации WSRF-операций. WSRF::Lite Container выполняет отображение с HTTP на WSRF автоматически; это означает, что вам не нужно писать код для явной поддержки HTTP.


Таблица 1. Отображение HTTP-команд на WSRF-операции
HTTPWSRFФункция
GET GetResourcePropertyDocumentИзвлекает состояние объекта
PUT PutResourcePropertyDocumentЗаменяет состояние объекта новой версией
DELETE DestroyУдаляет объект


В начало



На предыдущую страницуСтраница 3 из 12 На предыдущую страницу

    IBM в России Конфиденциальность Контакты