Навігація
Головна
 
Головна arrow Інформатика arrow Проектування і розробка web-додатків
< Попередня   ЗМІСТ   Наступна >

WEB-СЕРВІСИ

Крім wcb-додатків іншим важливим видом програмного забезпечення, використовуваного в web-мережі, є web-сервіси (web services). Вони являють собою набори методів, які можна викликати на виконання із заданими параметрами за допомогою НТТР- запитів, а результати їх виконання отримувати у вигляді НТТР-відповідей.

Web-сервіси підтримуються, як і web-додатки, web-серверами і призначені для використання будь-якими програмами, які можуть формувати правильні HTTP-запити і розуміти отримані НТТР- відповіді, але не користувачами (людьми), т. К. Вони не мають графічного призначеного для користувача інтерфейсу. Такими програмами можуть бути web- додатки, інші web-сервіси або навіть локальні програми.

Web-сервіси, так само як і web-додатки, повністю реалізуються з використанням технологій і стандартів web-мережі. Вони мають URL-адреси, за допомогою яких до них можна звертатися. Для передачі запиту на виконання методів web-сервісів і повернення результатів використовується мова XML. На рис. 2.4 показана загальна схема взаємодії web-додатки з web-сервісом.

Робота web-сервісів грунтується на використанні даних, описаних на мові XML. Такі XML-дані повинні складатися відповідно до протоколу - SOAP (Simple Object Access Protocol), який надає стандартний спосіб опису повідомлень в XML-форматі. Він дозволяє розробникам описувати, що може виконати сервіс, і робить надану функціональність доступною іншим програмам.

Загальна схема взаємодії додатків з web-сервісами

Мал. 2.4. Загальна схема взаємодії додатків з web-сервісами

Прикладом простого web-сервісу може бути сервіс Math, який включає дві операції: додавання (Add) і віднімання (Subtract):

public int Add (int x, int y) {return x + y;}

public void Subtract (int x, int y, out int z) {z = xy; return z;}

XML-дані, сформовані відповідно до протоколу SOAP в якості кореневого елемента, використовують елемент "Envelope", в який включені два піделементи - "Header» (не обов'язковий) та "Body". В елементі "Header" описується загальна інформація, пов'язана із запитом або відповіддю. А елемент "Body" в запиті містить інформацію про викликається метод (наприклад: Subtract) і переданих йому параметрах (х і у). Складений таким чином XML-документ передається за допомогою протоколів HTTP або SMTP.

При використанні протоколу HTTP даний XML-документ (Envelope) включається в тіло HTTP-запиту, яке слід через порожній рядок після рядка запиту (наприклад, POST / services НТТР / 1.1) та відповідних заголовків, як показано на рис. 2.5.

Приклад HTTP-запиту до web-cepвucy з використанням SOAP

Мал. 2.5. Приклад HTTP-запиту до web-cepвucy з використанням SOAP

Приклад HTTP-відповіді від web-cepвuca з використанням SOAP

Мал. 2.6. Приклад HTTP-відповіді від web-cepвuca з використанням SOAP

Фрагмент WSDL-описі web-cepвuca Math

Мал. 2.7. Фрагмент WSDL-описі web-cepвuca Math

Після отримання даного запиту web-сервер передає управління середовищі виконання, яка викликає необхідний метод і передає йому отримані параметри. Після виконання даного методу формується XML-документ, що містить результати роботи методу, який оформляється відповідно до протоколу SOAP.

На рис. 2.6 показаний HTTP-відповідь, що містить результати виконання web-сервісу (Subtract), який виконує віднімання значень перших двох параметрів і повертає результат в третьому параметрі. Так як ці дані передаються в HTTP-відповіді, то вони включаються після рядка стану і відповідних заголовків.

Для того щоб користувачі сервісів (наприклад, web- додатки) могли правильно складати запити і розуміти відповіді, web-сервіси також є відповідальними за надання спеціальних описів, складених на мові WSDL (Web Services Definition Language), який також використовує XML-формат. Мова WSDL дозволяє розробникам описувати синтаксис виклику web-методів сервісу. За допомогою WSDL можна описати різні елементи web- сервісу, наприклад, такі, як типи даних (<wsdl: types>), повідомлення (<wsdl: message>), типи портів (<wsdl: port>), зв'язування (<wsdl: binding>) і сам сервіс (<wsdl: service>).

Для отримання WSDL-документа з описом web-сервісу потрібно відправити йому HTTP-запит <URL-адресу сервісу>? WSDL. В такому WSDL-документі описується все, що клієнту необхідно для організації роботи з web-сервісом (рис. 2.7).

 
Якщо Ви помітили помилку в тексті позначте слово та натисніть Shift + Enter
< Попередня   ЗМІСТ   Наступна >
 
Дисципліни
Агропромисловість
Аудит та Бухоблік
Банківська справа
БЖД
Географія
Документознавство
Екологія
Економіка
Етика та Естетика
Журналістика
Інвестування
Інформатика
Історія
Культурологія
Література
Логіка
Логістика
Маркетинг
Медицина
Нерухомість
Менеджмент
Педагогіка
Політологія
Політекономія
Право
Природознавство
Психологія
Релігієзнавство
Риторика
Соціологія
Статистика
Техніка
Страхова справа
Товарознавство
Туризм
Філософія
Фінанси
Пошук