Главная страница
Навигация по странице:

  • WSDL ( Web Services Description Language, язык описания веб - сервисов ) Веб-служба не может быть использована, если ее невозможно найти

  • Универсальное описание, обнаружение и интеграция ( UDDI - Universal Description

  • Точно так же, как в телефонном справочнике есть имя, адрес и номер телефона конкретного человека, точно так же реестр UDDI будет иметь соответствующую информацию для веб-службы

  • Предоставление бизнес-функций в сети

  • Взаимодействие между приложениями

  • Стандартизированный протокол, понятный всем

  • Снижение стоимости связи

  • Найти

  • Они основаны на XML

  • Синхронная или асинхронная функциональность

  • Возможность поддержки удаленных вызовов процедур (RPC)

  • веб сервисы. веб-сервисы_aрхитектура. Что такое вебсервис


    Скачать 163.34 Kb.
    НазваниеЧто такое вебсервис
    Анкорвеб сервисы
    Дата27.07.2022
    Размер163.34 Kb.
    Формат файлаdocx
    Имя файлавеб-сервисы_aрхитектура.docx
    ТипДокументы
    #637102

    Что такое веб-сервисы?Архитектура и Типы

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


    Веб-сервис — это стандартизированная среда для распространения связи между клиентскими и серверными приложениями в WWW (World Wide Web). Веб-сервис — это программный модуль, предназначенный для выполнения определенного набора задач.

    • Веб-серисы в облачных вычислениях можно искать в сети, а также можно вызывать соответствующим образом.

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

    Итак, давайте дадим определение веб сервиса:

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

    Как работают веб-сервисы?




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

    Эти запросы выполняются посредством так называемых удаленных вызовов процедур. Удаленные вызовы процедур (RPC remote procedure calls) — это вызовы методов, размещенных соответствующей веб-службой.


    Например, Amazon предоставляет веб-сервис, который предоставляет цены на товары, продаваемые в Интернете через amazon.com. Внешний интерфейс или уровень представления могут быть в .Net или Java , но любой язык программирования будет иметь возможность взаимодействовать с веб-службой.

    Основным компонентом дизайна веб-службы являются данные, которые передаются между клиентом и сервером, и это XML. XML (расширяемый язык разметки) является аналогом HTML и простым для понимания промежуточным языком, который понимают многие языки программирования.

    Поэтому, когда приложения взаимодействуют друг с другом, они на самом деле общаются в XML. Это обеспечивает общую платформу для приложений, разработанных на разных языках программирования, для взаимодействия друг с другом.

    Веб-службы используют нечто, известное как SOAP (простой протокол доступа к объектам), для отправки XML-данных между приложениями. Данные отправляются по обычному протоколу HTTP. Данные, которые отправляются из веб-службы в приложение, называются сообщением SOAP. Сообщение SOAP представляет собой не что иное, как XML-документ. Поскольку документ написан в формате XML, клиентское приложение, вызывающее веб-службу, может быть написано на любом языке программирования.

    Зачем вам веб-сервис?


    Современные бизнес-приложения используют различные программные платформы для разработки веб-приложений. Некоторые приложения могут быть разработаны на Java, другие — на .Net, третьи — на Angular JS, Node.js и т. д.

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

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

    Тип веб-службы


    Есть в основном два типа веб-сервисов.

    1. Веб-службы SOAP.

    2. RESTful веб-сервисы.

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

    Рассмотрим эти компоненты более подробно.

    SOAP (Simple Object Access Protocol, простой протокол доступа к объектам)

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

    Вот из чего состоит сообщение SOAP

    • Каждый документ SOAP должен иметь корневой элемент, известный как элемент . Корневой элемент — это первый элемент XML-документа.

    • «Envelope» в свою очередь делится на 2 части. Первый — это заголовок, а следующий — тело.

    • Заголовок содержит данные маршрутизации, которые в основном представляют собой информацию, сообщающую XML-документу, какому клиенту его нужно отправить.

    • Тело будет содержать фактическое сообщение.


    На приведенной ниже диаграмме показан простой пример связи по протоколу SOAP.



    WSDL ( Web Services Description Language, язык описания веб-сервисов)

    Веб-служба не может быть использована, если ее невозможно найти . Клиент, вызывающий веб-службу, должен знать, где на самом деле находится веб-служба.

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

    Пример веб-сервиса

    Ниже приведен пример файла WSDL для веб-служб.




















    transport="http://schemas.xmlsoap.org/soap/http"/>








    encoding

    namespace="urn:examples:Tutorialservice"

    use="encoded"/>






    encoding

    namespace="urn:examples:Tutorialservice"

    use="encoded"/>









    Важные аспекты, на которые следует обратить внимание в приведенных выше примерах объявлений WSDL для веб-служб, заключаются в следующем:

    1. <message> — параметр сообщения в определении WSDL используется для определения различных элементов данных для каждой операции, выполняемой веб-службой. Таким образом, в приведенных выше примерах веб-служб у нас есть 2 сообщения, которыми можно обмениваться между веб-службой и клиентским приложением, одно — «TutorialRequest», а другое — операция «TutorialResponse». TutorialRequest содержит элемент под названием «TutorialID», который имеет строковый тип. Точно так же операция TutorialResponse содержит элемент TutorialName, который также является строкой типа.

    2. <portType> — фактически описывает операцию, которую может выполнять веб-служба, которая в нашем случае называется Tutorial. Эта операция может занять 2 сообщения; одно является входным сообщением, а другое - выходным сообщением.

    3. <binding> — этот элемент содержит используемый протокол. Итак, в нашем случае мы определяем его для использования http ( http://schemas.xmlsoap.org/soap/http ). Мы также указываем другие детали для тела операции, такие как пространство имен и необходимость кодирования сообщения.


    Универсальное описание, обнаружение и интеграция (UDDI - Universal Description, Discovery, and Integration )

    UDDI — это стандарт для описания, публикации и обнаружения веб-служб, предоставляемых конкретным поставщиком услуг. Он предоставляет спецификацию, которая помогает в размещении информации о веб-сервисах.

    Теперь мы обсуждали в предыдущем разделе WSDL и то, как он содержит информацию о том, что на самом деле делает веб-служба. Но как клиентское приложение может найти файл WSDL, чтобы понять различные операции, предлагаемые веб-службой? Таким образом, UDDI является ответом на этот вопрос и предоставляет репозиторий, в котором могут размещаться файлы WSDL. Таким образом, клиентское приложение будет иметь полный доступ к UDDI, который действует как база данных, содержащая все файлы WSDL.

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

    Преимущества веб-сервисов


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

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

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

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

    3. Стандартизированный протокол, понятный всем — веб-сервисы используют для связи стандартный отраслевой протокол. Все четыре уровня (транспорт службы, обмен сообщениями XML, описание службы и уровни обнаружения службы) используют четко определенные протоколы в стеке протоколов веб-служб.

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

    Архитектура веб-сервисов


    Каждому фреймворку нужна какая-то архитектура, чтобы убедиться, что весь фреймворк работает так, как нужно, аналогично веб-сервисам. Архитектура веб-сервисов состоит из трех отдельных ролей, как указано ниже:

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

    2. Запрашивающая сторона. Запрашивающая сторона — это не что иное, как клиентское приложение, которому необходимо связаться с веб-службой. Клиентское приложение может быть приложением .Net, Java или любым другим языком, которое ищет какую-либо функциональность через веб-службу.

    3. Брокер . Брокер — это не что иное, как приложение, которое обеспечивает доступ к UDDI. UDDI, как обсуждалось в предыдущем разделе, позволяет клиентскому приложению найти веб-службу.

    На приведенной ниже диаграмме показано, как поставщик услуг, запросчик услуг и реестр услуг взаимодействуют друг с другом.



    Архитектура веб-сервисов

    1. Публикация — провайдер информирует брокера (реестр сервисов) о существовании веб-сервиса, используя интерфейс публикации брокера, чтобы сделать сервис доступным для клиентов.

    2. Найти — инициатор запроса консультируется с брокером, чтобы найти опубликованную веб-службу.

    3. Связывание — с информацией, полученной от брокера (реестра служб) о веб-службе, запросчик может связать или вызвать веб-службу.

    Характеристики веб-сервиса


    Веб-сервисы обладают следующими особыми поведенческими характеристиками:

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

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

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

    4. Возможность поддержки удаленных вызовов процедур (RPC) — веб-службы позволяют клиентам вызывать процедуры, функции и методы для удаленных объектов с использованием протокола на основе XML. Удаленные процедуры предоставляют входные и выходные параметры, которые должна поддерживать веб-служба.

    5. Поддерживает обмен документами . Одним из ключевых преимуществ XML является универсальный способ представления не только данных, но и сложных документов. Эти документы могут быть такими же простыми, как представление текущего адреса, или они могут быть такими сложными, как представление всей книги.


    написать администратору сайта