Веб-служба

Поделись знанием:
(перенаправлено с «Веб-сервис»)
Перейти к: навигация, поиск

Веб-служба, веб-сервис (англ. web service) — идентифицируемая веб-адресом программная система со стандартизированными интерфейсами.

Веб-службы могут взаимодействовать друг с другом и со сторонними приложениями посредством сообщений, основанных на определённых протоколах (SOAP, XML-RPC, REST и т. д.). Веб-служба является единицей модульности при использовании сервис-ориентированной архитектуры приложения.

В обиходе веб-сервисами называют услуги, оказываемые в Интернете. В этом употреблении термин требует уточнения, идёт ли речь о поиске, веб-почте, хранении документов, файлов, закладок и т. п. Такими веб-сервисами можно пользоваться независимо от компьютера, браузера или места доступа в Интернет[1][2].





Архитектура

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

  • заказчик (service requester);
  • исполнитель (service provider);
  • каталог (service broker).

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

  • XML: Расширяемый язык разметки, предназначенный для хранения и передачи структурированных данных;
  • SOAP: Протокол обмена сообщениями на базе XML;
  • WSDL: Язык описания внешних интерфейсов веб-службы на базе XML;
  • UDDI: Универсальный интерфейс распознавания, описания и интеграции (Universal Discovery, Description and Integration). Каталог веб-служб и сведений о компаниях, предоставляющих веб-службы во всеобщее пользование или конкретным компаниям. Пока UDDI существуют, однако, только в небольших фирменных сетях и ещё не нашли широкого распространения в открытом интернете.

Методы разработки

Существуют средства автоматизации разработки веб-служб, разделяющиеся на две основные группы. При разработке снизу-вверх сначала пишутся имплементирующие классы, а из их исходного текста генерируются WSDL-файлы, документирующие службу. Недостатком этого метода является подверженность Java-классов частым изменениям. При подходе сверху-вниз сначала подготавливается WSDL, а из него генерируется скелет Java-класса, имплементирующего службу. Этот путь считается более трудным, зато приводит к более чистым и лучше защищенным от изменений решениям. Пока формат сообщений, которыми обмениваются заказчик и исполнитель, не меняется, изменения в каждом из них не нарушают взаимодействия. Эта техника называется иногда «contract first», так как исходной точкой является WSDL («договор» между заказчиком и исполнителем).

Преимущества

  • Веб-службы обеспечивают взаимодействие программных систем независимо от платформы. Например, Windows-C#-клиент может коммуницировать с Java-сервером, работающим под Linux.
  • Веб-службы основаны на базе открытых стандартов и протоколов. Благодаря использованию XML достигается простота разработки и отладки веб-служб.
  • Использование интернет-протокола обеспечивает HTTP-взаимодействие программных систем через межсетевой экран. Это значительное преимущество, по сравнению с такими технологиями, как CORBA, DCOM или Java RMI. С другой стороны, веб-службы не привязаны намертво к HTTP — могут использоваться и другие протоколы.

Недостатки

  • Меньшая производительность и больший размер сетевого трафика по сравнению с технологиями RMI, CORBA, DCOM за счёт использования текстовых XML-сообщений. Однако на некоторых веб-серверах возможна настройка сжатия сетевого трафика.
  • Аспекты безопасности. Ответственные веб-службы должны использовать кодирование, возможно — требовать аутентификации пользователя. Достаточно ли здесь применения HTTPS, или предпочтительны такие решения, как XML Signature, XML Encryption или SAML — должно быть решено разработчиком.

Примеры

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

Google с 2002 до 2009 года предоставлял веб-службу, которая позволяла заказчикам искать необходимую информацию в интернете так же, как это делают обычные пользователи. По удобству это несравнимо, например, с автоматическим разбором HTML-текста Google всяких страниц.

Amazon.com имеет веб-службу, предоставляющую различные веб-базированные услуги.

Платформы

Веб-службы разворачиваются на серверах приложений. Некоторые серверы приложений:

Напишите отзыв о статье "Веб-служба"

Примечания

  1. [computer.slovaronline.com/В/761-VEB-SERVIS Веб-сервис] в словаре компьютерных терминов
  2. [encyclopedia2.thefreedictionary.com/Web+services Web services] (англ.) в TheFreeDictionary

Литература

  • Дергачев А. М. Проблемы эффективного использования сетевых сервисов / Научно-технический вестник СПбГУ ИТМО. 2011. № 1 (71). С. 83–87
  • Dover D., Dafforn E. Search Engine Optimization Secrets. Indianapolis: Wiley Publishing, Inc., 2011. 456 p.
  • Ouzzani, M., Bouguettaya A. Semantic Web Services for Web Databases. Springer Science+Business Media, 2011. 155 p.

Ссылки

  • [www.w3.org/2002/ws/ W3C Web Services]


К:Википедия:Статьи без источников (тип: не указан)

Отрывок, характеризующий Веб-служба

– Хоть бы женщины были. А то тут, кг'оме как пить, делать нечего. Хоть бы дг'аться ског'ей.
– Эй, кто там? – обратился он к двери, заслышав остановившиеся шаги толстых сапог с бряцанием шпор и почтительное покашливанье.
– Вахмистр! – сказал Лаврушка.
Денисов сморщился еще больше.
– Сквег'но, – проговорил он, бросая кошелек с несколькими золотыми. – Г`остов, сочти, голубчик, сколько там осталось, да сунь кошелек под подушку, – сказал он и вышел к вахмистру.
Ростов взял деньги и, машинально, откладывая и ровняя кучками старые и новые золотые, стал считать их.
– А! Телянин! Здог'ово! Вздули меня вчег'а! – послышался голос Денисова из другой комнаты.
– У кого? У Быкова, у крысы?… Я знал, – сказал другой тоненький голос, и вслед за тем в комнату вошел поручик Телянин, маленький офицер того же эскадрона.
Ростов кинул под подушку кошелек и пожал протянутую ему маленькую влажную руку. Телянин был перед походом за что то переведен из гвардии. Он держал себя очень хорошо в полку; но его не любили, и в особенности Ростов не мог ни преодолеть, ни скрывать своего беспричинного отвращения к этому офицеру.
– Ну, что, молодой кавалерист, как вам мой Грачик служит? – спросил он. (Грачик была верховая лошадь, подъездок, проданная Теляниным Ростову.)
Поручик никогда не смотрел в глаза человеку, с кем говорил; глаза его постоянно перебегали с одного предмета на другой.
– Я видел, вы нынче проехали…
– Да ничего, конь добрый, – отвечал Ростов, несмотря на то, что лошадь эта, купленная им за 700 рублей, не стоила и половины этой цены. – Припадать стала на левую переднюю… – прибавил он. – Треснуло копыто! Это ничего. Я вас научу, покажу, заклепку какую положить.
– Да, покажите пожалуйста, – сказал Ростов.
– Покажу, покажу, это не секрет. А за лошадь благодарить будете.
– Так я велю привести лошадь, – сказал Ростов, желая избавиться от Телянина, и вышел, чтобы велеть привести лошадь.
В сенях Денисов, с трубкой, скорчившись на пороге, сидел перед вахмистром, который что то докладывал. Увидав Ростова, Денисов сморщился и, указывая через плечо большим пальцем в комнату, в которой сидел Телянин, поморщился и с отвращением тряхнулся.
– Ох, не люблю молодца, – сказал он, не стесняясь присутствием вахмистра.
Ростов пожал плечами, как будто говоря: «И я тоже, да что же делать!» и, распорядившись, вернулся к Телянину.
Телянин сидел всё в той же ленивой позе, в которой его оставил Ростов, потирая маленькие белые руки.
«Бывают же такие противные лица», подумал Ростов, входя в комнату.
– Что же, велели привести лошадь? – сказал Телянин, вставая и небрежно оглядываясь.
– Велел.
– Да пойдемте сами. Я ведь зашел только спросить Денисова о вчерашнем приказе. Получили, Денисов?
– Нет еще. А вы куда?
– Вот хочу молодого человека научить, как ковать лошадь, – сказал Телянин.
Они вышли на крыльцо и в конюшню. Поручик показал, как делать заклепку, и ушел к себе.
Когда Ростов вернулся, на столе стояла бутылка с водкой и лежала колбаса. Денисов сидел перед столом и трещал пером по бумаге. Он мрачно посмотрел в лицо Ростову.
– Ей пишу, – сказал он.
Он облокотился на стол с пером в руке, и, очевидно обрадованный случаю быстрее сказать словом всё, что он хотел написать, высказывал свое письмо Ростову.
– Ты видишь ли, дг'уг, – сказал он. – Мы спим, пока не любим. Мы дети пг`axa… а полюбил – и ты Бог, ты чист, как в пег'вый день создания… Это еще кто? Гони его к чог'ту. Некогда! – крикнул он на Лаврушку, который, нисколько не робея, подошел к нему.
– Да кому ж быть? Сами велели. Вахмистр за деньгами пришел.
Денисов сморщился, хотел что то крикнуть и замолчал.
– Сквег'но дело, – проговорил он про себя. – Сколько там денег в кошельке осталось? – спросил он у Ростова.
– Семь новых и три старых.
– Ах,сквег'но! Ну, что стоишь, чучела, пошли вахмистг'а, – крикнул Денисов на Лаврушку.
– Пожалуйста, Денисов, возьми у меня денег, ведь у меня есть, – сказал Ростов краснея.
– Не люблю у своих занимать, не люблю, – проворчал Денисов.
– А ежели ты у меня не возьмешь деньги по товарищески, ты меня обидишь. Право, у меня есть, – повторял Ростов.
– Да нет же.
И Денисов подошел к кровати, чтобы достать из под подушки кошелек.
– Ты куда положил, Ростов?
– Под нижнюю подушку.
– Да нету.
Денисов скинул обе подушки на пол. Кошелька не было.
– Вот чудо то!
– Постой, ты не уронил ли? – сказал Ростов, по одной поднимая подушки и вытрясая их.
Он скинул и отряхнул одеяло. Кошелька не было.
– Уж не забыл ли я? Нет, я еще подумал, что ты точно клад под голову кладешь, – сказал Ростов. – Я тут положил кошелек. Где он? – обратился он к Лаврушке.
– Я не входил. Где положили, там и должен быть.
– Да нет…
– Вы всё так, бросите куда, да и забудете. В карманах то посмотрите.
– Нет, коли бы я не подумал про клад, – сказал Ростов, – а то я помню, что положил.
Лаврушка перерыл всю постель, заглянул под нее, под стол, перерыл всю комнату и остановился посреди комнаты. Денисов молча следил за движениями Лаврушки и, когда Лаврушка удивленно развел руками, говоря, что нигде нет, он оглянулся на Ростова.
– Г'остов, ты не школьнич…
Ростов почувствовал на себе взгляд Денисова, поднял глаза и в то же мгновение опустил их. Вся кровь его, бывшая запертою где то ниже горла, хлынула ему в лицо и глаза. Он не мог перевести дыхание.
– И в комнате то никого не было, окромя поручика да вас самих. Тут где нибудь, – сказал Лаврушка.
– Ну, ты, чог'това кукла, повог`ачивайся, ищи, – вдруг закричал Денисов, побагровев и с угрожающим жестом бросаясь на лакея. – Чтоб был кошелек, а то запог'ю. Всех запог'ю!
Ростов, обходя взглядом Денисова, стал застегивать куртку, подстегнул саблю и надел фуражку.
– Я тебе говог'ю, чтоб был кошелек, – кричал Денисов, тряся за плечи денщика и толкая его об стену.