Лабораторна робота №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
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.
Рис. 1 - Результат роботи Web-сервісу
клієнту повідомляється інформація про рейс, а для розробника виводиться додаткова інформація (яку після відлагодження програми можна прибрати)
4) Модифікуємо розроблені програми таким чином, щоб Web-сервіс мав WSDL-інтерфейс.
Текст серверної програми наведено в табл. 3.3, а текст програми, що викликає Web-сервіс, у табл. 3.4.
Таблиця 3.3
СЕРВЕРНА ПРОГРАМА, ЩО ПЕРЕДБАЧАЄ АВТОМАТИЧНЕ СТВОРЕННЯ WSDL-ІНТЕРФЕЙСУ ДЛЯ WEB-СЕРВІСУ — POISK_WSDL.PHP
Таблиця 3.4
PROCESSING2.PHP
Відмітимо, що в програмі, що викликає Web-сервіс, processing2.php було змінено всього один рядок порівняно з програмою processing1.php (виділений жирним шрифтом).
Тепер, якщо окремо завантажити на клієнті через броузер програму poisk_wsdl.php, то побачимо картинку, щось на зразок рис. 2, якщо ж вибрати на екрані посилання на метод reis, то побачимо опис цього методу — рис. 3. Клікнувши ж на посиланні wsdl, отримаємо відкритий у новому вікні, автоматично згенерований за допомогою nusoap.php як xml-файл, wsdl-опис нашого Web-сервісу з пошуку рейсів — табл. 3.5. На основі даного опису інтерфейсу Web-сервіс можуть використати інші користувачі (наприклад, інші брокери).
Рис. 2 - Основне вікно wsdl-опису
Рис. 3 - Опис методу reis
Таблиця 3.5
WSDL-ОПИС WEB-СЕРВІСУ
Результат виконання Web-сервісу не зміниться, в цьому можна переконатися, запустивши з клієнта avia.html. Зміниться лише тексти запиту та відповіді, якими обміняються сервери брокера та авіакомпанії (клієнт та сервер Web-сервісу) — табл. 3.6.
Таблиця 3.6
ТЕКСТИ ЗАПИТУ ТА ВІДПОВІДІ ЯКИМИ ОБМІНЮЮТЬСЯ СЕРВЕРИ БРОКЕРА ТА АВІАКОМПАНІЇ