Веб-служба, веб-сервис (англ. web service) — идентифицируемая уникальным веб-адресом (URL-адресом) (программная система) со стандартизированными интерфейсами.
Веб-службы могут взаимодействовать друг с другом и со сторонними приложениями посредством сообщений, основанных на определённых протоколах (SOAP, (XML-RPC) и т. д.) и соглашениях (REST). Веб-служба является единицей (модульности) при использовании сервис-ориентированной архитектуры приложения.
В обиходе веб-сервисами называют услуги, оказываемые в Интернете. В этом употреблении термин требует уточнения, идёт ли речь о поиске, (веб-почте), хранении документов, файлов, закладок и т. п. Такими веб-сервисами можно пользоваться независимо от компьютера, браузера или места доступа в Интернет.
Преимущества и недостатки
Содержание этой статьи представляет собой , инструкцию, или . |
- Преимущества
- Веб-службы обеспечивают взаимодействие программных систем независимо от платформы. Например, Windows-C#-клиент может обмениваться данными с Java-сервером, работающим под Linux.
- Веб-службы основаны на базе открытых стандартов и протоколов. Благодаря использованию XML достигается простота разработки и отладки веб-служб.
- Использование интернет-протокола обеспечивает HTTP-взаимодействие программных систем через межсетевой экран. Это значительное преимущество, по сравнению с такими технологиями, как CORBA, (DCOM) или Java (RMI). С другой стороны, веб-службы не привязаны намертво к HTTP — могут использоваться и другие протоколы.
- Недостатки
- Меньшая производительность и больший размер сетевого трафика по сравнению с технологиями (RMI), CORBA, (DCOM) за счёт использования текстовых XML-сообщений. Однако на некоторых веб-серверах возможна настройка сжатия сетевого трафика.
- Аспекты безопасности. Ответственные веб-службы должны использовать кодирование, возможно — требовать аутентификации пользователя. Достаточно ли здесь применения HTTPS, или предпочтительны такие решения, как XML Signature, (XML Encryption) или (SAML) — должно быть решено разработчиком.
Примеры
Взаимодействие между авиакомпаниями и (бюро путешествий): первые предоставляют через веб-службы полезную информацию, которую вторые используют при поиске оптимальных предложений своим клиентам.
Веб-служба MOBILESERVER, использующая сообщения на основе открытых протоколов SOAP (XML) и JSON, позволяет получить текущие данные с прибора учёта тепла на момент последнего считывания данных.
Магазин приложений
Магазин приложений — интернет-магазин, позволяющий сторонним компаниям-разработчикам ПО предлагать владельцам мобильных (обычно) устройств устанавливать и (приобретать) различные приложения и игры, а производителям прочего контента — также книги, музыку и фильмы.[]
- (Магазин приложений Windows) (Microsoft Store)
- (Магазин приложений Windows Phone) (ранее Windows Phone Marketplace)
- Магазин приложений «Google Play»
- (Магазин приложений Chrome)
- (Магазин приложений Apple) (App Store)
- (Mac App Store)
- (Opera Mobile Store)
- (Samsung Galaxy Store)
- (Магазин приложений NashStore)
- Магазин приложений «(Huawei AppGallery)»
- ()
Маркетплейс
Предоставление коммерсантам торговой веб-площадки для (торговли онлайн).[]
Стриминг
Предоставляют услуги по стримингу (выдаче потокового мультимедиа).[]
- стриминг аудио ((Spotify), (Tidal), , (Qobuz) , (Muzlab) и пр.);
- стриминг видео (Netflix, (Megogo), и пр.).
Технологии реализации
![image](https://www.wikidata.ru-ru.nina.az/image/aHR0cHM6Ly93d3cud2lraWRhdGEucnUtcnUubmluYS5hei9pbWFnZS9hSFIwY0hNNkx5OTFjR3h2WVdRdWQybHJhVzFsWkdsaExtOXlaeTkzYVd0cGNHVmthV0V2WTI5dGJXOXVjeTkwYUhWdFlpODBMelJoTDFkbFluTmxjblpwWTJWekxYSjFMbk4yWnk4eU5UQndlQzFYWldKelpYSjJhV05sY3kxeWRTNXpkbWN1Y0c1bi5wbmc=.png)
Архитектура
Как показано на рисунке, можно выделить три инстанции, взаимодействующие в рамках веб-службы. Переведём их названия как[]
- заказчик (service requester);
- исполнитель (service provider);
- каталог (service broker).
Когда служба разработана, исполнитель регистрирует её в каталоге, где её могут найти потенциальные заказчики. Заказчик, найдя в каталоге подходящую службу, импортирует оттуда её WSDL-спецификацию и разрабатывает в соответствии с ней своё программное обеспечение. WSDL описывает формат запросов и ответов, которыми обмениваются заказчик и исполнитель в процессе работы. Для обеспечения взаимодействия используются следующие стандарты:[]
- XML: Расширяемый язык разметки, предназначенный для хранения и передачи структурированных данных;
- SOAP: Протокол обмена сообщениями на базе XML;
- WSDL: Язык определения внешних интерфейсов, который определяет взаимодействие (контракт) между потребителем и веб-службами SOAP. Написан на базе XML;
- (UDDI): Универсальный интерфейс распознавания, описания и интеграции (Universal Discovery, Description and Integration). Каталог веб-служб и сведений о компаниях, предоставляющих веб-службы во всеобщее пользование или конкретным компаниям. Пока UDDI существуют, однако, только в небольших фирменных сетях и ещё не нашли широкого распространения в открытом интернете;
- (JSON): Более эффективный язык разметки, ставший массовым в 2010х годах.
Методы разработки
Существуют средства автоматизации разработки веб-служб, разделяющиеся на две основные группы. При разработке снизу-вверх сначала пишутся имплементирующие классы, а из их исходного текста генерируются WSDL-файлы, документирующие службу. Недостатком этого метода является подверженность Java-классов частым изменениям. При подходе "сверху вниз" сначала подготавливается WSDL, а из него генерируется скелет Java-класса, имплементирующего службу. Этот путь считается более трудным, зато приводит к более чистым и лучше защищенным от изменений решениям. Пока формат сообщений, которыми обмениваются заказчик и исполнитель, не меняется, изменения в каждом из них не нарушают взаимодействия. Эта техника называется иногда «contract first», так как исходной точкой является WSDL («договор» между заказчиком и исполнителем).[]
Существует разработка веб-службы на основе SDK для распознавания документов (OCR).
Платформы
Список примеров в этой статье не основывается на , посвящённых непосредственно предмету статьи. |
Веб-службы разворачиваются на (серверах приложений). Некоторые серверы приложений:[]
- (ColdFusion) от Adobe
- (DotGNU) от GNU Project (разработка остановлена)
- (GlassFish) — от компании Oracle
- (Google App Engine) — платформа для масштабируемых приложений, использующих инфраструктуру компании Google
- (IBM Lotus Notes) линейка ПО для организации совместной работы от IBM
- (JBoss) — компании Red Hat
- (Mono) — платформа разработки от (Xamarin) (ранее (Novell))
- .NET Framework серверы от Microsoft
- (Web Application Server) от SAP (является ключевой частью стека SAP NetWeaver)
- (WebLogic) от компании Oracle (продукт (BEA Systems) поглощённой Oracle)
- (webMethods) Integration Platform от (Software AG)
- (WebSphere) Application Server от IBM (основан на Apache и платформе (J2EE))
- (Zend Framework) — от (Zend Technologies)
- (Zope) является объектно-ориентированным (сервером приложений) написанным на Python[]
Литература
- Дергачев А. М. Проблемы эффективного использования сетевых сервисов / Научно-технический вестник СПбГУ ИТМО. 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.
Ссылки
Примечания
- Веб-сервис от 25 октября 2017 на Wayback Machine в словаре компьютерных терминов
- Web services от 20 сентября 2012 на Wayback Machine (англ.) в TheFreeDictionary
- Чипулис Валерий Павлович, Бабенко Вячеслов Николаевич. Веб-служба (рус.) // ВЕБ-СЛУЖБА MOBILESERVER. — 2019. — Т. 1, № 1. — С. 1.
- Маталов Даниил Павлович, Плискин Евгений Львович. ВЕБ-СЕРВИС НА ОСНОВЕ SDK ДЛЯ РАСПОЗНАВАНИЯ ДОКУМЕНТОВ (рус.) // ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ И ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ. — 2019. — Т. 1, № 1. — С. 2.
В статье не хватает (см. ). |
Для улучшения этой статьи :
|
Википедия, чтение, книга, библиотека, поиск, нажмите, истории, книги, статьи, wikipedia, учить, информация, история, скачать, скачать бесплатно, mp3, видео, mp4, 3gp, jpg, jpeg, gif, png, картинка, музыка, песня, фильм, игра, игры, мобильный, телефон, Android, iOS, apple, мобильный телефон, Samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Сеть, компьютер