Домой Регистрация
Приветствуем вас, Гость



Форма входа

Население


Вступайте в нашу группу Вконтакте! :)




ПОИСК


Опросник
Используете ли вы афоризмы и цитаты в своей речи?
Проголосовало 514 человек


Веб сервис что это такое


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

Прежде всего, веб-сервисы (или веб-службы) — это технология. И как и любая другая технология, они имеют довольно четко очерченную среду применения. Если посмотреть на веб-сервисы в разрезе стека сетевых протококолов, мы увидим, что это, в классическом случае, не что иное, как еще одна надстройка поверх протокола HTTP. С другой стороны, если гипотетически разделить Интернет на несколько слоев, мы сможем выделить, как минимум, два концептуальных типа приложений — вычислительные узлы, которые реализуют нетривиальные функции и прикладные веб-ресурсы. При этом вторые, зачастую заинтересованы в услугах первых. Но и сам Интернет — разнороден, т. е. различные приложения на различных узлах сети функционируют на разных аппаратно-программных платформах, и используют различные технологии и языки. Чтобы связать все это и предоставить возможность одним приложениям обмениваться данными с другими, и были придуманы веб-сервисы. По сути, веб-сервисы — это реализация абсолютно четких интерфейсов обмена данными между различными приложениями, которые написаны не только на разных языках, но и распределены на разных узлах сети. Именно с появлением веб-сервисов развилась идея SOA — сервис-ориентированной архитектуры веб-приложений (Service Oriented Architecture).

Протоколы веб-сервисов

На сегодняшний день наибольшее распространение получили следующие протоколы реализации веб-сервисов: На самом деле, SOAP произошел от XML-RPC и является следующей ступенью его развития. В то время как REST — это концепция, в основе которой лежит скорее архитектурный стиль, нежели новая технология, основанный на теории манипуляции объектами CRUD (Create Read Update Delete) в контексте концепций WWW. Безусловно, существуют и иные протоколы, но, поскольку они не получили широкого распространения, мы остановимся в этом кратком обзоре на двух основных — SOAP и REST. XML-RPC ввиду того, что является несколько «устаревшим», мы рассматривать подробно не будем. Нас в первую очередь интересуют вопросы создания новых веб-служб, а не реализация клиентов к существующим (как правило поставщики веб-сервисов поставляют пакеты с функциями API и документацией, посему вопрос построения клиентов к существующим веб-службам менее интересен с точки зрения автора).

SOAP против REST

Проблемы данного противостояния хорошо описаны в статье Леонида Черняка, найденой на портале www.citforum.ru.

По мнению же автора, кратко можно выделить следующее: SOAP более применим в сложных архитектурах, где взаимодействие с объектами выходит за рамки теории CRUD, а вот в тех приложениях, которые не покидают рамки данной теории, вполне применимым может оказаться именно REST ввиду своей простоты и прозрачности. Действительно, если любым объектам вашего сервиса не нужны более сложные взаимоотношения, кроме: «Создать», «Прочитать», «Изменить», «Удалить» (как правило — в 99% случаев этого достаточно), возможно, именно REST станет правильным выбором. Кроме того, REST по сравнению с SOAP, может оказаться и более производительным, так как не требует затрат на разбор сложных XML команд на сервере (выполняются обычные HTTP запросы — PUT, GET, POST, DELETE). Хотя SOAP, в свою очередь, более надежен и безопасен. В любом случае вам решать, что больше подойдет вашему приложению. Вполне вероятно, вы даже захотите реализовать оба протокола, чтобы оставить выбор за пользователями службы и — это ваше право.

Практическое применение веб-сервисов

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

Этап первый — реализация приложения сбора информации о курсах валют.

Информацию о курсах валют мы будем собирать со страниц сайта НБУ (Национального Банка Украины) ежедневно и складывать в базу данных под управлением СУБД MySQL. Создадим структуру данных. Таблица валют (currency): +-------------+------------------+ | Field | Type | +-------------+------------------+ | code | int(10) unsigned | | charcode | char(3) | | description | varchar(100) | | value | int(10) unsigned | | base | tinyint(1) | +-------------+------------------+ Таблица номиналов обмена (exchange): +------------+------------------+ | Field | Type | +------------+------------------+ | id | bigint(20) ai | | rate_date | timestamp | | rate_value | float | | code | int(10) unsigned | +------------+------------------+

Для работы с базой данных воспользуемся ORM слоем на базе пакета PHP Doctrine. Реализуем граббер:

класс Grubber (models/Grabber.php): и сам граббер (grabber.php): Теперь заставим наш граббер отрабатывать раз в сутки в 10:00 утра, путем добавления команды запуска граббера в таблицы cron: 0 10 * * * /usr/bin/php /path/to/grabber.php Все — у нас есть достаточно полезный сервис. Теперь реализуем веб-сервис, который позволит другим приложениям извлекать данные из нашей базы.

Реализация SOAP сервиса

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

WSDL (Web Service Definition Language) — представляет из себя XML файл определенного формата. Подробное описание синтаксиса можно найти здесь.

На практике будет удобно воспользоваться функцией автоматической генерации файла, которую предоставляет IDE Zend Studio for Eclipse. Данная функция позволяет генерировать WSDL файл из классов PHP. Поэтому, прежде всего, мы должны написать класс, реализующий функциональность нашего сервиса.

класс CurrencyExchange (models/CurrencyExchange.php): Отметим, что для автоматической генерации WSDL, нам необходимо написать комментарии в стиле javadoc, потому что именно в них мы прописываем информацию о типах принимаемых аргументов и возвращаемых значений. Неплохо также описывать в нескольких словах работу методов — ведь WSDL послужит описанием API для сторонних разработчиков, которые будут использовать ваш веб-сервис. Не пишите в докблоках param void или return void — для WSDL это не критично, но вот при реализации REST доступа к тому-же классу у вас возникнут проблемы.

Теперь в Zend Studio входим в меню File->Export..., выбираем PHP->WSDL, добавляем наш класс, прописываем URI-адрес нашего сервиса и создаем WSDL-файл. Результат должен быть примерно таким: http://mikhailstadnik.com/ctws/currency.wsdl

Если вы будете добавлять новую функциональность в ваш веб-сервис, вам нужно будет пересоздавать WSDL-файл. Но здесь не так все гладко. Следует учитывать, что SOAP-клиент, который уже запрашивал ваш WSDL файл, кеширует его на своей стороне. Поэтому, если вы замените старое содержимое новым в WSDL файле, некторые клиенты его не прочтут. А значит, при добавлении новой функциональности, дописывайте версию в имя вашего файла. И не забудбте обеспечить обратную совместимость для старых клиентов, особенно если вы не являетесь их поставщиком. С другой стороны, WSDL довольно жестко задает структуру веб-сервиса, а это значит, что, если существует необходимость ограничить функциональность клиента по сравнению с сервером, вы можете не включать определенные методы ваших классов в WSDL. Таким образом они не смогут быть вызваны, несмотря на то, что существуют. Реализация же самого сервера не предстваляет теперь никакой сложности: файл index.php:

Вы можете попробовать веб-сервис в работе по адресу: http://mikhailstadnik.com/ctws/

Там же доступен тестовый клиент: http://mikhailstadnik.com/ctws/client.php Код простейшего клиента может быть таким:

Реализация REST сервиса

REST — это не стандарт и не спецификация, а архитектурный стиль, выстроенный на существующих, хорошо известных и контролируемых консорциумом W3C стандартах, таких, как HTTP, URI (Uniform Resource Identifier), XML и RDF (Resource Description Format). В REST-сервисах акцент сделан на доступ к ресурсам, а не на исполнение удаленных сервисов; в этом их кардинальное отличие от SOAP-сервисов. И все же удаленный вызов процедур применим и в REST. Он использует методы PUT, GET, POST, DELETE HTTP протокола для манипуляции объектами. Кардинальное отличие его от SOAP в том, что REST остается HTTP-запросом.

Поскольку в PHP пока еще нет реалзации REST, мы воспользуемся Zend Framwork, в который включена реализация как REST клиента, так и REST севера.

Воспользуемся уже готовым классом CurrencyExchange. Напишем сам сервер: rest.php: Как видите все очень сходно и просто. Однако, следует оговорить, что наш REST-сервис менее защищен, чем SOAP-сервис, так как любой добавленый метод в класс CurrencyExchange при его вызове отработает (сам класс определяет сруктуру сервиса). Проверим работу нашего сервиса. Для этого достаточно передать параметры вызова метода в сроке GET-запроса: ?method=getExchange&code=840&date=2008-11-29 или ?method=getExchange&arg1=840&arg2=2008-11-29 При желании или необходимости вы можете самомтоятельно задавать структуру ваших XML ответов для сервиса REST. В этом случае, также будет необходимо позаботиться и о создании определения типа вашего XML документа (DTD — Document Type Definition). Это будет минимальным описанием API вашего сервиса. Простейший тестовый клиент к REST сервису может быть в нашем случае таким: В принципе, Zend_Rest на сегодняшний день нельзя назвать наиболее точной реализацией принципов REST. Утрируя, можно говорить о том, что эта реализация свелась к удаленному вызову процедур (RPC), хотя философия REST гораздо шире.

Вы можете скачать пример в исходных кодах c PHP Doctrine и Zend Framework (4,42 Мб).

Заключение

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

Удачи в девелопменте!

Теги:

habr.com

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

Мы выпустили новую книгу «Контент-маркетинг в социальных сетях: Как засесть в голову подписчиков и влюбить их в свой бренд».

Подпишись на рассылку и получи книгу в подарок!

Web-сервис (служба) – программа, которая организовывает взаимодействие между сайтами. Информация с одного портала передается на другой.

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

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

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

Архитектура и протоколы Web-сервисов

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

Механизм обмена данными формируется в описании Web Services Description. Это спецификация, охватывающая форматы пересылки, типы контента, транспортные протоколы, которые применяются в процессе обмена сведениями между заказчиком и транспортировщиком услуг.

Сегодня чаще всего используются несколько технологий для реализации различных веб-сервисов:

  1. TCP/IP – протокол, который понимается практически любым сетевым оборудованием, от мэйнфреймов до портативных устройств и PDA.
  2. HTML - универсальный язык разметки, используемый для демонстрации контента устройствами потребителей.
  3. XML – универсальное средство для обработки всех разновидностей данных. На его базе могут работать и прочие протоколы обмена информацией: SOAP и WSDL.
  4. UDDI – универсальный источник распознавания, интеграции и описания. Работает, как правило, в частных сетях и пока не нашел достаточного распространения.

Универсальность представленных технологий – основа для понимания веб служб. Они работают на стандартных технологиях, не зависящих от поставщиков приложений и прочих ресурсов сети. Могут использоваться в любых операционных системах, серверах приложений, языков программирования и т.д.

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

Недостатки

Задачи веб-сервисов

Веб-сервисы могут использоваться во многих сферах.

B2B-транзакции

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

Интеграция сервисов предприятий

Если в компании используются корпоративные программы, то веб-сервис поможет настроить их совместную работу.

Создание системы клиент-сервер

Сервисы используются, чтобы настроить работу клиента и сервера. Это дает преимущества:

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

semantica.in

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

Веб-сервис – это система, доступная в интернет-пространстве и работающая на основе специальной программы, идентификация которой выполняется с помощью URL-строки. Поиск осуществляется другими ресурсами, основной задачей является взаимодействие программных систем на разных платформах, для чего используются открытые протоколы. К системам web Service относят поисковики, хостинги, электронную почту, облачные хранилища, календари и прочие сервисы.

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

promo.ingate.ru

Что такое веб-сервисы: понятие, принципы работы, достоинства и недостатки

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

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

Вам будет интересно:Как удалять файлы через командную строку в ОС Windows

Актуальность разработок

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

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

Вам будет интересно:BIOS или UEFI: как узнать, что поддерживает компьютер

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

Определение технологии

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

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

Вам будет интересно:Business Intelligence - что это такое и зачем он нужен? Система бизнес-анализа

Принцип действия

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

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

Эти запросы выполняются через так называемые удаленные вызовы процедур. Удаленные вызовы процедур (RPC) - это вызовы методов, которые размещаются в соответствующей запросе.

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

Составляющие компоненты

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

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

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

Какие есть типы приложений

Вам будет интересно:F8 при загрузке Windows 7. Загрузка Windows 7 в безопасном режиме

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

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

    SOAP (простой протокол доступа к объектам)

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

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

  • Каждый документ SOAP должен иметь корневой элемент, известный как элемент . Корневой элемент является первым элементом в документе XML.
  • «Конверт», в свою очередь, делится на 2 части. Первая - заголовок, а следующая - тело.
  • Заголовок содержит данные маршрутизации, которые в основном представляют собой информацию, какому клиенту XML-документ должен быть отправлен.
  • Тело будет содержать фактическое сообщение.
  • WSDL (язык описания приложения)

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

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

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

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

    Теперь необходимо посмотреть на некоторые другие преимущества того, почему важно использовать веб-сервисы:

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

    Архитектура приложения

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

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

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

    Вам будет интересно:Как работает антивирус и какому программному обеспечению отдать предпочтение

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

    Для работы и взаимодействия между системами и приложениями существует 3 основных вида запроса:

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

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

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

  • Они основаны на XML - веб-службы используют XML для представления данных на уровнях представления и транспортировки данных. Использование XML устраняет любые зависимости от сетей, операционных систем или платформ, поскольку XML является общим языком, понятным всем.
  • Слабосвязанная система означает, что клиент и веб-служба не связаны друг с другом. Даже если приложение изменяется со временем, оно не должно изменять способ вызова клиентом веб-службы. Использование слабосвязанной архитектуры делает программные системы более управляемыми и упрощает интеграцию между различными системами.
  • Синхронная или асинхронная функциональность - синхронность относится к привязке клиента к выполнению службы. В синхронных операциях клиент фактически будет ожидать завершения операции веб-службой. Примером этого, вероятно, является сценарий, в котором выполняются операции чтения и записи в базу данных. Если данные считываются из одной базы данных и впоследствии записываются в другую, то операции должны выполняться последовательно. Асинхронные операции позволяют клиенту вызывать службу, а затем параллельно выполнять другие функции. Это один из наиболее распространенных и, вероятно, наиболее предпочтительных методов обеспечения того, чтобы другие службы не останавливались при выполнении определенной операции.
  • Возможность поддержки удаленных вызовов процедур (RPC) - веб-службы позволяют клиентам вызывать процедуры, функции и методы для удаленных объектов с использованием протокола на основе XML. Удаленные процедуры предоставляют входные и выходные параметры, которые должен поддерживать веб-сервис.
  • Поддерживают обмен документами. Одним из ключевых преимуществ XML является его общий способ представления не только данных, но и сложных документов. Эти документы могут быть такими же простыми, как представление текущего адреса, или такими же сложными, как и представление всей книги.
  • Перечисленные параметры подробно описывают структуру и свойства сервисов в интернете. С их помощью разработчики приложений и владельцы порталов могут интегрировать различные сценарии операции, при этом используя разные языки программирования.

    Источник

    ruud.ru

    Использование механизма Web-сервисов в системе "1С:Предприятие"

        Механизм Web-сервисов системы «1С:Предприятие» основан на использовании одноименных объектов метаданных, т.е. объектов конфигурации из ветви «Web-сервисы».

    1.      ОБЩИЕ ОПРЕДЕЛЕНИЯ

        Попробуем дать обобщённое определение термину «Web-сервис».

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

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

        Веб-сервис имеет программный интерфейс, представленный в формате WSDL (Web Services Description Language) – язык описания веб-сервисов и доступа к ним, основанный на языке XML (спецификация http://www.w3.org/TR/wsdl). Предназначен для унифицированного представления внешних интерфейсов веб-службы и используется для того, чтобы другая программа знала, что такой «сервис» есть у этой программы (т.е. первая программа на веб сайте выкладывает сведения о своих сервисах именно в формате файла WSDL).

        Другие системы взаимодействуют с веб-сервисом путем обмена сообщениями протокола SOAP (Simple Object Access Protocol – простой протокол доступа к объектам) – протокол обмена структурированными сообщениями в распределенной вычислительной среде (спецификация http://www.w3.org/TR/soap). Как любой текстовый протокол, SOAP может использоваться с любым протоколом прикладного уровня: SMTP, FTP, HTTPS и другие, но чаще всего SOAP используется поверх HTTP.

    Рисунок 1. Концепция веб-сервиса.

        SOAP используется для обмена произвольными сообщениями в формате XML и удалённого вызова процедур (RPC).

        Таким образом, между веб-сервисом и приложением осуществляется обмен XML-документами, оформленными в виде сообщений. Стандарты веб-сервисов определяют:

        -  формат сообщений, интерфейс, которому передается сообщение;

        -  правила привязки содержания сообщения к реализующему сервис приложению и обратно;

        -  механизмы публикации и поиска интерфейсов.

    Самый простой и очевидный пример применения web-сервисов – получение справочных данных из публичных сервисов, доступных в Интернете. Например, Аэрофлот посредством Web-сервиса предоставляет информацию о своих рейсах, Банк России – информацию о курсах валют, ценных бумагах, кредитных организациях – вариантов может быть много.

    2.      WEB-СЕРВИСЫ В СИСТЕМЕ «1С:ПРЕДПРИЯТИЕ»

        Прикладное решение «1С:Предприятия 8» может являться:

        -   поставщиком веб-сервисов;

        -   потребителем веб-сервисов, опубликованных другими поставщиками.

        В системе «1С:Предприятия 8» Web-сервисы - это один из механизмов платформы, используемых для интеграции с другими информационными системами и приложениями «1С:Предприятия 8» между собой.

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

        Механизм Web-сервисов в системе «1С:Предприятие» является средством поддержки сервисно-ориентированной архитектуры (Service-Oriented Architecture, SOA) – означает, что программы для обмена данными друг с другом используют «сервисы».

        Для того чтобы функциональность системы «1С:Предприятие» могла быть доступна внешним потребителям Web-сервисов, нужно выполнить следующие действия:

        -  создать в конфигурации необходимое количество Web-сервисов;

        -  опубликовать Web-сервисы с помощью специального инструмента конфигуратора.

        Создание Web-сервиса заключается:

        -  в добавлении в дерево метаданных объекта конфигурации Web-сервис;

        -  описании операций, которые может выполнять данный Web-сервис;

        -   описании параметров операций.

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

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

      - из пула соединений выбирается подходящее соединение с информационной базой; при отсутствии необходимого соединения соединение создается;

        -  создается новый сеанс;

        -  выполняется вызов затребованного метода Web-сервиса.

    Механизм Web-сервисов, реализованный в системе «1С:Предприятие», поддерживает следующие стандарты:

        -  SOAP 1.1;

        -  SOAP 1.2;

        -  WSDL 1.1;

        -  WS-I Basic Profile 1.1;

        -  HTTP 1.1;

        -  SSL 3.0/TLS 1.0.

    3.      ИЗУЧЕНИЕ WEB-СЕРВИСОВ В СИСТЕМЕ «1С:ПРЕДПРИЯТИЕ»

        Изучать возможности Web-сервисов в системе «1С:Предприятие» предлагаю по следующей схеме:

    1. Ознакомиться и проанализировать «Руководство разработчика «1С:Предприятие 8», глава 16 «Механизм XDTO» и глава 17 «Механизмы интернет-сервисов».
    2. Установить и изучить функционал демонстрационной конфигурация «Web-сервисы» (http://its.1c.ru/ «Главная → Разработка и администрирование →  Методическая поддержка для разработчиков и администраторов → Демонстрационные конфигурации → Web-сервисы»
    3. Попробовать реализовать свой Web-сервис в системе «1С:Предприятие».

    Источники:

    Продолжение статьи Практическое применение механизма  WEB-сервисов в системе «1С:Предприятие»

    infostart.ru

    Что такое веб-службы?

    Категория: Web Сервисы и СлужбыОпубликовано: 25 июня 2018 Просмотров: 1805

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

    Таким образом, полный веб-сервис является, таким образом, любой службой, которая:

    Компоненты веб-служб

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

    Все эти компоненты обсуждались в главе « Архитектура веб-служб» .

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

    Веб-служба обеспечивает связь между различными приложениями с использованием открытых стандартов, таких как HTML, XML, WSDL и SOAP. Веб-служба получает помощь:

    Вы можете создать веб-службу на основе Java в Solaris, доступную из вашей программы Visual Basic, которая работает в Windows.

    Вы также можете использовать C # для создания новых веб-сервисов в Windows, которые могут быть вызваны из вашего веб-приложения, которое основано на JavaServer Pages (JSP), и работает в Linux.

    Пример

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

    Логика обработки этой системы написана на Java и располагается на машине Solaris, которая также взаимодействует с базой данных для хранения информации.

    Шаги для выполнения этой операции следующие:

    Понравилась статья? Поделитесь ею с друзьями и напишите отзыв в комментариях!

    maxfad.ru


    Смотрите также




    © 2012 - 2020 "Познавательный портал yznai-ka.ru!". Содержание, карта сайта.