> Архив статей


"Архив статей"

 

Веб-сервисы

Идея веб-сервисов была создана такими гигантами компьютерной индустрии как Sun, Oracle, HP, Microsoft и IBM. В этой идее нет ничего свежего, но это большой шаг вперед к упрощенному доступу к программам через сеть. Основываясь на стандартных форматах связи, веб-сервисы могут вообще изменить наше представление о том, как мы должны делать веб-сайты.

Что же такое веб-сервис?

Благодаря веб-сервисам функции всякой программы могут стать доступными через Интернет. Таким образом, такие программы как PHP, ASP, JSP скрипты, JavaBeans, COM-объекты и все остальные наши обожаемые средства программирования могут теперь обращаться к какой-нибудь программе, функционирующей на другом сервере (т.е. к веб-свервису), и использовать ответ, принятый от нее на своем веб-сайте, или приложении.

Скажем, если мне необходимо выполнить какую-либо программную задачу, и я слишком занят (или не выжил из ума, чтобы самому придумывать в очередной раз велосипед), я могу воспользоваться услугами веб-сервиса, к которому мой сайт будет адресоваться через Интернет. Передавая веб-свервису требование с параметрами, я ожидаю получить ответ, в котором будет содержаться последствие выполнения моего запроса.

Любой, кто хоть раз работал в последнее период с Hotmail, уже отчасти столкнулся с веб-сервисами: режим аутентификации пользователей Passport - это один из сервисов, входящих в инициативу Microsoft .NET. пока он доступен бесплатно, так что создатели веб-сайтов могут запросто ввести аутентификацию пользователей на своём сайте.

Основы

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

Этим деянием может быть, например вывод котировки акций, вывод цены на определенный продукт, оставление записи в календаре встреч, перевод текста с одного языка на другой, или контроль номера кредитной карточки.

Стандарты в основе

Причина, по которой мы все вдруг заинтересовались веб-сервисами, в том, что в их основе находятся стандарты, открытые протоколы обмена и передачи данных.

До этого многие компании создавали свои собственные закрытые стандарты и форматы. А сейчас нам для работы нужно знать всего лишь элементарный XML (eXtensible Markup Language), который передается по старому известному протоколу HTTP. Это значит, что информация о работе веб-сервисов доступна для каждого, и веб-разработчики, которые по роду профессии знакомы с этими технологиями, могут начать заниматься с веб-сервисами уже сегодня.

Разница между веб-сервисами и иными технологиями, с которыми разработчикам приходилось сталкиваться (например, DCOM, именованные каналы - named pipes, RMI) в том, что веб-сервисы сформированы на открытых стандартах, ими легко овладеть, и эти стандарты свободно поддерживаются на всех платформах Unix и Windows.

Протокол Simple Object Access Protocol (SOAP) является типовым протоколом, разработанным W3C. Он устанавливает формат запросов к веб-сервисам.

Информации между веб-сервисом и его пользователем пакуются в SOAP-конверты (SOAP envelopes). Сообщения содержат либо запрос на осуществление какого-либо действия, либо ответ - следствие выполнения этого действия. Конверт и его содержимое закодировано языком XML, и его достаточно несложно понять. Вот как смотрится простой SOAP-запрос, который отправляется через HTPP к веб-сервису:

xmlns:env="http://www.w3.org/2001/06/soap-envelope">

env:encodingStyle="http://www.w3.org/2001/06/soap-encoding"
xmlns:m="http://www.somesite.com/Postcode">
WC1A8GH
UK

Ключевые элементы SOAP-конверта узнать довольно просто: это два параметра ( ("почтовый индекс") и ("страна")), которые заключаются внутри элемента под названием. Этот элемент является названием веб-сервиса, к которому мы адресуемся с запросом. Прочие данные в конверте, такие как кодировка текста и версия SOAP помогают веб-сервису верно обработать запрос.

А ответ будет смотреться вот так:

xmlns:env="http://www.w3.org/2001/06/soap-envelope" >

env:encodingStyle="http://www.w3.org/2001/06/soap-encoding"
xmlns:m="http://www.somesite.com/Postcode">
Yes

Это сообщение еще легче расшифровать. Элемент в нашем запросе изменился на элемент в ответе на запрос. В этом элементе заключается только один элемент, значение которого обозначает, верен наш почтовый индекс или нет. Таким образом, с помощью магии SOAP мы создали запрос, который делает для нас полезную работу. В ответ через сеть мы приобретаем определенного вида ответ на языке XML.

Теперь об UDDI

Даже при всей незатейливости протокола SOAP пользы в веб-сервисах было бы немного, если бы у нас не было никакой вероятности их найти. К счастью IBM, Microsoft и компания Ariba выступили с инициативой и основали проект Universal Description, Discovery and Integration (UDDI), который, как они надеются, станет объединенным каталогом всех веб-сервисов в Web-е.

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

Как это все работает

Так как же мне можно найти нужный веб-сервис?

Представим себе, что я - разработчик сайта, и мой клиент попросил меня прибавить к сайту новую функцию: нужно добавить проверку правильности почтового индекса в регистрационной форме.

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

Вместо того, чтобы раскошеливаться на приобретение базы данных, писать самому код, следить за целостностью и правильностью всех данных и отлаживать работу скриптов, я просто ступаю в каталог UDDI и ищу, нет ли там веб-сервиса, который мог бы произвести эту работу за меня. Придя на сайт www.uddi.org, я запускаю поиск и нахожу отличный сервис от компании XYZ Corp.

Я внимательно рассматриваю установление формата веб-сервиса (определение записано на языке WSDL (Web Services Description Language), убеждаюсь, что сервис делает именно то, что мне необходимо. Затем узнаю у своих коллег о репутации компании XYZ Corp., узнаю, что она порядочная, и затем обращаюсь к компании XYZ с вопросом о цене. Если цена на допуск к сервису доступна для моего бюджета, я пишу простую JSP-страницу для своего сайта, который вызывает веб-сервис компании XYZ Corp, и опля, на сайте появляется мгновенная проверка почтового индекса.

На это заслуживает потратить время

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

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

Отбросьте свой страх! Готов поручиться, что в Сети уже имеется веб-сервис, который готов представить вам требуемую функцию, а стоимость пользования этим веб-сервисом будет намного ниже цены самостоятельной разработки его аналога. Таким образом вы уберегаете своего разработчика от бесполезной головной боли, вашего клиента от лишней траты денег, всего лишь потратив несколько минут на просмотр каталога UDDI.

Разработка сервиса

Разумеется, разработчики вовсе не должны довольствоваться только веб-сервисами, созданными другими. С помощью одного из ниже перечисленных комплектов инструментов вы можете создать свой собственный веб-сервис, и предоставить его услуги прочим обитателям сети.

Выбор инструментов для разработки веб-сервисов широк. В него укладываются инструментарии таких компании как Sun (Open Net), Microsoft (.NET), HP (e-services), и IBM (Web Services). Имеются также инструментарии с открытыми исходными кодами (open source frameworks). Например, проект Mono Project пытается заменить собой инструментарий Microsoft .NET, предоставив систему компиляции (compilers), исполнения кода (runtime) и библиотек (libraries) для службы одних и тех же веб-сервисов на всех платформах, включая Unix.

Несмотря на разнообразие серверов и средств разработки веб-сервисов, все они поддерживают один и тот же протокол SOAP, язык XML и систему UDDI.

Минусы

Прежде чем я полностью отрекусь от карьеры программиста и посвящу себя использованию веб-сервисов, я должен задать себе вопрос: "Уж слишком розовая картинка. Что же в ней не так?". К сожалению, за великий потенциал веб-сервисов доводится платить определенную цену:
Использование XML в качестве формата передачи данных приводит к тому, что ваши информации будут очень большими по размеру: сами теги XML занимают много места, а это накладывает на нас определенную нагрузку по созданию, передаче и интерпретации сообщений.
Так как мы применяем удаленные компьютеры для выполнения определенных функций, мы полностью полагаемся на Интернет, что образовывает слишком много ненадежных звеньев в цепи между нашим веб-сервером и веб-сервисом.
Сейчас лишь немногочисленные компании создают веб-сервисы, и немногие компании ими пользуются. На отладку и улучшение системы веб-сервисов еще потребуется длительное время.
Система лицензирования и взимания платежей за пользование веб-сервисами еще обязана быть принята разработчиками. Из-за того, что веб-сервисов еще слишком мало, большинство компаний пытается провести на своих потенциальных клиентов хорошее впечатление намеренно снижая стоимость услуг и предлагая благоприятные условия лицензирования. Должно еще пройти какое-то время, прежде чем будет выяснена реальная стоимость услуг веб-сервисов.

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

 

Вы находитесь на странице: Архив статей. Рекомендую также посетить раздел: Скачать бесплатно книги, учебники, самоучители, руководства

Рекомендую

Как научиться создавать сайты и зарабатывать на нём деньги

Как научиться создавать сайты и зарабатывать на нём деньги?

подробнее



© 2008-2011 Sajtostroenie All Rights Reserved Svojsait.info