214-697-723 |
info@mainsource.ru |
(812) 946-31-81
Все контакты
Автор статьи Краснов Игорь
Web-сервисы. Знакомство.
Web-сервис — это один из видов приложений. Веб сервисы обычно устанавливаются на специальные серверы
приложений, причем область применения web-сервисов практически ничем не ограничена. Вы всегда сможете создать
именно то, что Вам нужно. Отличие от обычных, знакомых всем, программ состоит в том, что к web-сервису можно
обратиться через web. Обычно для этого используется протокол html, но это не единственный способ.
Чтобы обмениваться данными с любым web-сервисом, а не составлять для каждого такого приложения свой формат описания,
требовалось решить, каким способом передаваемые и получаемые данные описывать. Для обмена сообщениями было решено
использовать язык расширяемой разметки XML, который является общепризнанным форматом обмена данными.
Также web-сервис имеет свое описание, так называемый wsdl файл. Это специальный файл на языке XML,
в котором описывается вся функциональность данного сервиса: по какому адресу и порту он работает,
общедоступные функции, их входные и выходные параметры, а также используемые типы и сообщения. Само же взаимодействие клиента с
веб сервисом происходит посредством протокола SOAP, который также использует XML. Чтобы каждый раз
не писать код составления сообщения для отправки сервису и разбора ответного сообщения, появились надстройки
(расширения) для языков программирования.
Например, для взаимодействия с web-сервисом в PHP можно использовать специальное расширение Soap (по названию
протокола обмена сообщениями с сервисом). Чтобы вызвать определенную функцию web-сервиса, нужно сначала создать
объект Soap клиента. Самый простой способ создания такого клиента — указать в параметрах путь к wsdl
и, если необходимо, указать дополнительные параметры: логин и пароль для доступа к wsdl, кодировку.
После создания остается только сформировать требуемые входные параметры нужной функции и вызвать ее. Необходимое XML
сообщение сформируется автоматически, исходя из wsdl-описания и указанных параметров, и будет отправлено по
нужному адресу. Если у вызванной функции есть ответное сообщение, оно будет также автоматически получено и
преобразовано в объект. Если вдруг потребуется посмотреть сообщения, которые были сформированы, например для отладки
клиента или просто для того, чтобы разобраться в их устройстве, то нужно при создании клиента указать дополнительную
опцию, которая позволит дополнительно сохранить запросы и ответы в их исходном виде.
В связи с тем, что все больше информации требуется предоставлять через интернет, web-сервисы, выступающие
в роли оболочки над программами и позволяющие обратиться к ней через интернет, — очень нужная вещь.