Распечатать страницу

Лабораторна робота №5, Розробка Web-сервісу

« Назад

Код роботи: 1677

Вид роботи: Лабораторна робота

Предмет: Сучасні інтернет-технології

Тема: №5, Розробка Web-сервісу

Кількість сторінок: 1

Дата виконання: 2016

Мова написання: українська

Ціна: 200 грн (за програму)

Мета лабораторної роботи: Навчитися розробляти Web-сервіси.

Порядок виконання:

1. Переписати набір PHP-класів NuSOAP, що дозволяють створювати і використовувати Web-сервіси на SOAP з: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/*checkout*/nusoap/lib/nusoap.php?rev=1.20. Зберегти як nusoap.php в директорії проекту.

http://www.php.su/articles/?cat=pear&page=003

не відкривається…ось сайт

2. Розробити на PHP серверну програму, що реалізовуватиме певний Web-сервіс.

3. Розробити програму, з якої буде викликатися Web-сервіс.

4. Модифікувати розроблені програми таким чином, щоб Web-сервіс мав WSDL-інтерфейс.

5. Захистити роботу перед викладачем.

Приклад виконання:

1) Переписуємо набір PHP-класівNuSOAP.

2) Для предметної області, пов’язаної з авіаперевезеннями, розробимо Web-сервіс, який надаватиме авіакомпанія — пошук рейсу в необхідному напрямку із зазначенням часу відльоту, при­льоту та ціни. При цьому пошук буде здійснюватися у базі даних авіакомпанії (детальніше щодо створення бази даних та реалізації запитів до неї — див. тему 4, лабораторні роботи 4.1, 4.2).

Текст серверної програми, що реалізує Web-сервіс, подано в табл. 3.1. Дана програма має бути розміщена на сервері авіакомпанії в тій же директорії, що й nusoap.php.

Таблиця 3.1

WEB-СЕРВІС — POISK_VBD.PHP

Б1677, 1

Б1677, 2

3) Програма, з якої викликтиметься Web-сервіс, розміщуватиметься на сервері брокера віртуальної організації з продажу авіаквитків в тій самій директорії, де й nusoap.php. (Звичайно, для виконання лабораторної роботи всі програми — і брокера, і авіакомпанії можуть бути розміщені в одній директорії).

Дана програма викликатиметься для обробки даних, переданих з форми, яку заповнював клієнт, зайшовши на сайт брокера (avia.html) — і яку ми створювали в лабораторній роботі 2.1. Нагадаємо, що в цій лабораторній роботі програма processing.php не шукала потрібну інформацію, а лише повідомляла клієнта про те, що його запит прийнято. Текст нової програми processing1.php, яка є клієнтською по відношенню до серверної poisk_vbd.php (яка шукатиме потрібну нам інформацію), подано в табл. 3.2.

Таблиця 3.2

ПРОГРАМА ОБРОБКИ ДАНИХ З ФОРМИ В AVIA.HTML — PROCESSING1.PHP

Зазначимо, що текст наведеної програми можна вдвічі скоротити, якщо не виводити на екран тексти запиту клієнта та відповіді сервера, а також інформації відлагодження — але тоді не зов­сім зрозуміло буде, що ж відбувається.

Результат запиту клієнтом рейсу з аеропорта KBP в аеропорт ZHR подано на рис. 1. Слід зазначити, що, звичайно ж, клієнту незручно вводити коди аеропортів, тож бажано реалізувати можливість вибору аеропортів з довідника в avia.html; про те, як це зробити — див. лабораторну роботу 4.2.

Б1677, Рис. 1 - Результат роботи Web-сервісу

Рис. 1 - Результат роботи Web-сервісу

клієнту повідомляється інформація про рейс, а для розробника виводиться додаткова інформація (яку після відлагодження програми можна прибрати)

4) Модифікуємо розроблені програми таким чином, щоб Web-сервіс мав WSDL-інтерфейс.

Текст серверної програми наведено в табл. 3.3, а текст програми, що викликає Web-сервіс, у табл. 3.4.

Таблиця 3.3

СЕРВЕРНА ПРОГРАМА, ЩО ПЕРЕДБАЧАЄ АВТОМАТИЧНЕ СТВОРЕННЯ WSDL-ІНТЕРФЕЙСУ ДЛЯ WEB-СЕРВІСУ — POISK_WSDL.PHP

Б1677, 4

Таблиця 3.4

PROCESSING2.PHP

Б1677, 5

Відмітимо, що в програмі, що викликає Web-сервіс, proces­sing2.php було змінено всього один рядок порівняно з програмою processing1.php (виділений жирним шрифтом).

Тепер, якщо окремо завантажити на клієнті через броузер програму poisk_wsdl.php, то побачимо картинку, щось на зразок рис. 2, якщо ж вибрати на екрані посилання на метод reis, то побачимо опис цього методу — рис. 3. Клікнувши ж на посиланні wsdl, отримаємо відкритий у новому вікні, автоматично згенерований за допомогою nusoap.php як xml-файл, wsdl-опис нашого Web-сервісу з пошуку рейсів — табл. 3.5. На основі даного опису інтерфейсу Web-сервіс можуть використати інші користувачі (наприклад, інші брокери).

Б1677, Рис. 2 - Основне вікно wsdl-опису

Рис. 2 - Основне вікно wsdl-опису

  Б1677, Рис. 3 - Опис методу reis

Рис. 3 - Опис методу reis

Таблиця 3.5

WSDL-ОПИС WEB-СЕРВІСУ

Б1677, 6

Б1677, 7

Результат виконання Web-сервісу не зміниться, в цьому можна переконатися, запустивши з клієнта avia.html. Зміниться лише тексти запиту та відповіді, якими обміняються сервери брокера та авіакомпанії (клієнт та сервер Web-сервісу) — табл. 3.6.

Таблиця 3.6

ТЕКСТИ ЗАПИТУ ТА ВІДПОВІДІ ЯКИМИ ОБМІНЮЮТЬСЯ СЕРВЕРИ БРОКЕРА ТА АВІАКОМПАНІЇ

Б1677, 8

Б1677, 9