Веб-сервис

Материал из devopswiki
Версия от 10:29, 20 ноября 2012; Admin (обсуждение | вклад)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

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

Если посмотреть на веб-сервисы в разрезе стека сетевых протоколов, мы увидим, что это, в классическом случае, не что иное, как еще одна надстройка поверх протокола HTTP.

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

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

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

Именно с появлением веб-сервисов развилась идея SOA — сервис-ориентированной архитектуры веб-приложений (Service Oriented Architecture).

Стандарты

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

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

  • Веб-службы обеспечивают взаимодействие программных систем независимо от платформы.
  • Веб-службы основаны на базе открытых стандартов и протоколов. Благодаря использованию XML достигается простота разработки и отладки веб-служб.
  • Использование интернет-протокола обеспечивает HTTP-взаимодействие программных систем через межсетевой экран.

Платформы

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

  • Axis и Tomcat (оба являются проектами Apache)
  • Mono — платформа разработки от Xamarin (ранее Novell)
  • IBM Lotus Notes линейка ПО для организации совместной работы от IBM
  • Microsoft .NET серверы от Microsoft
  • Java Web Services Development Pack (JWSDP) от Sun Microsystems (основан на Tomcat)
  • Zope является объектно-ориентированным сервером приложений написанным на Python
  • WebSphere Application Server от IBM (основан на Apache и платформе J2EE)
  • ColdFusion от Adobe
  • Cordys WS-AppServer
  • infoRouter Document Management software Web Services API
  • DotGNU от GNU Project
  • JOnAS (является частью ObjectWeb Open Source initiative)
  • WebLogic от BEA Systems
  • Web Application Server от SAP (является ключевой частью стека SAP NetWeaver)
  • Pramati Application Server от Pramati Technologies
  • OpenEdge Platform от Progress Software
  • webMethods Integration Platform от Software AG
  • Oracle Application Server от Oracle Corporation
  • Zend Framework — open source от Zend Technologies
  • Pythomnic — платформа для написания распределенных сетевых сервисов
  • Google App Engine — платформа для масштабируемых приложений, использующих инфраструктуру компании Google
  • JBoss — компании Red Hat

Ссылки

Веб-служба в Wikipedia

Веб-служба на сайте habrahabr.ru