Web-сервіси на Java EE

Вибіркова дисципліна
Навчальна дисципліна професійної підготовки
Обсяг освітнього компонента: 
• у кредитах ЄКТС — 6.0.
Кількість аудиторних занять: 
30 годин лекційних занять, 16 години лабораторних занять.
Самостійна робота: 
складає 134 години.
Семестровий контроль: 
Залік.
Освітню компоненту забезпечує: 
Викладач: 
к.т.н., доц. Писаренко К.О..
Анотація: 

Анотація навчальної дисципліни

Мета дисципліни:
формування у майбутніх бакалаврів комплексу знань щодо основ розробки веб-сервісів різних видів і набуття практичних навичок використання цієї технології при розробці програмного забезпечення.

Завдання дисципліни:
–    сформувати комплексне уявлення про стек технологій веб-сервісів;
–    ознайомити з різними видами технологій представлення і обробки даних у веб-сервісах, та інструментами для автоматизації цього процесу;
–    ознайомити з різними технологіями взаємодії веб-сервісів в мережі;
–    ознайомити з питаннями захисту веб-сервісів та зв’язком веб-сервісів із хмарними обчисленнями.

Основні результати навчання

ФК2. Здатність брати участь у проектуванні програмного забезпечення, включаючи проведення моделювання (формальний опис) його структури, поведінки та процесів функціонування. 
ПР05. Знати і застосовувати відповідні математичні поняття, методи доменного, системного і об’єктно-орієнтованого аналізу та математичного моделювання для розробки програмного забезпечення. 
ПР11. Вибирати вихідні дані для проектування, керуючись формальними методами опису вимог та моделювання.

ФК3. Здатність розробляти архітектури, модулі та компоненти програмних систем.
ПР12. Застосовувати на практиці ефективні підходи щодо проектування програмного забезпечення.

Форми організації освітнього процесу та види навчальних занять

Л – лекційні заняття; ЛЗ – лабораторні заняття; СРС – самостійна робота здобувача вищої освіти; МКР – модульна контрольна робота; К – консультації.

Тематика та види навчальних занять

1    тиждень
Л1. Введення в веб-сервіси. Стек технологій веб-сервісів. Формат даних XML та JSON. Правила побудови документу. Методи кодування тексту. Юнікод. Їх вплив на XML та JSON.  
ЛЗ1. Генерація XML та JSON  документу.
СРС. К.

2    тиждень
Л2. Мова опису структури XML документу DTD. Мова опису структури XML документу XSD — огляд простих та складних структур. Мова опису структури JSON документу JSON-schema.
СРС. К.

3    тиждень
Л3. Парсинг
ЛЗ2. Розробка опису структури документу. 
СРС. К.

4    тиждень
Л4. Мова опису повідомлень SOAP. Побудова технології веб-сервісів на базі обміну повідомленнями. Реєстр наявних веб-сервісів та мова його опису UDDI. Інструменти для доступу до реєстру.  Інструмент автоматизованої побудови веб-сервісу JAX-WS — огляд простих та складних випадків.
СРС. К.

5    тиждень
Л5. Сервісно-орієнтована архітектура.
ЛЗ3. Побудова веб-сервісу на базі протоколу SOAP. 
СРС. К.

6    тиждень
Л6. Веб-сервіси на базі архітектури REST. Інструмент JAX-RS для автоматизованої побудови веб-сервісу
СРС. К.

7    тиждень
Л7. Інструменти для автоматизованої генерації та розбору даних в форматі JSON та XML. Розбір XML документу за допомогою інструменту SAX та StAX. Розбір XML документу за допомогою інструменту DOM, що генерує дерево об’єктів.
ЛЗ4. Побудова веб-сервісу типу REST. 
СРС. К.

8    тиждень
Л8. Інструменти для автоматизованої генерації та розбору даних в форматі JSON та XML. Розбір XML документу за допомогою інструменту JAXB. Розбір JSON-документу
МКР1. СРС. К.

9    тиждень
Л9. Основні поняття Spring
ЛЗ5. Розбір XML документу за допомогою SAX та StAX парсерів, DOM та JAXB парсерів.
СРС. К.

10    тиждень
Л10. Основні поняття Spring Boot.
СРС. К.

11    тиждень
Л11. Тестування у Spring Boot
ЛЗ6. Розбір JSON документу.
СРС. К.

12    тиждень
Л12. Створення RESTfull з використанням Spring Framework
СРС. К.

13    тиждень
Л13. Пограничні сервіси
ЛЗ7. Побудова веб-сервісу типу REST за допомогою Spring Boot.
СРС. К.

14    тиждень
Л14. Забезпечення інформаційної безпеки веб-сервісів. 
МКР2.СРС. К.

15    тиждень
Л15. Зв’язок веб-сервісів та хмарних обчислень.  
ЛЗ8. Побудова веб-сервісу типу REST за допомогою Spring Boot.
СРС. К.

Процедура оцінювання

Система оцінювання рівня навчальних досягнень ґрунтується на принципах ЄКТС та є накопичувальною. Здобувачі протягом семестру готуються до лекційних та лабораторних занять, виконують 2 модульні контрольні роботи.
Для забезпечення оперативного контролю за успішністю та якістю рівня навчальних досягнень здобувачів вищої освіти дисципліна поділяється на два семестрові модулі. 
Кожний модуль оцінюється у максимально можливі 50 балів.

Критерії оцінювання модульних контрольних робіт
Максимальна оцінка за бездоганне виконання модульної контрольної роботи становить 25 балів.
Перша модульна контрольна робота складається з:
1.    Тестової частини (6 тестових питання). Максимальна оцінка за правильну відповідь на кожне питання становить 2 бали.
2.    Теоретичної частини (2 теоретичних питання). Максимальна оцінка за правильну відповідь на кожне питання становить 3 бали.
3.    Практичної частини (2 практичних завдання). Максимальна оцінка за правильну відповідь на кожне питання становить 3.5 бали.
Друга модульна контрольна робота складається з:
1.    Тестової частини (6 тестових питання). Максимальна оцінка за правильну відповідь на кожне питання становить 2 бали.
2.    Теоретичної частини (3 теоретичних питання). Максимальна оцінка за правильну відповідь на кожне питання становить 2 бали.
3.    Практичної частини (2 практичних завдання). Максимальна оцінка за правильну відповідь на кожне питання становить 3.5 бали.

Критерії оцінювання заліку
Підсумковим контролем з дисципліни є залік. Залік з дисципліни складається з двох частин: перевірки теоретичних знань шляхом опитування та виконання практичного завдання. Мінімальна кількість балів. що зараховується як позитивний результат, дорівнює 60 (за 100-бальною системою). 
Бали розподіляються наступним чином: 40 балів – теоретична частина та 60 балів – практична. Білет містить 4 теоретичних питання рівної складності. 
За бездоганну відповідь на кожне питання студент отримує – 10 балів. При цьому відповідь вважається бездоганною, якщо студент не зробив жодної помилки та повністю виклав зміст питання. 
За кожне запитання знімається 10 балів, якщо була здійснена невірна відповідь або за відсутність відповіді, 5 балів знімається за виправлення відповіді на запитання (за кожне виправлення).
Білет містить 3 практичних питання. За бездоганне виконання завдання практичної частини студент отримує – 60 балів. 
Практична частина заліку вважається виконаною бездоганно, якщо при наявності розв’язання приклада, при цьому усі дії виконані вірно, без помилок; всі записи, щодо розв’язання записані послідовно, зроблена перевірка (якщо потрібно). Крім цього усі малюнки, креслення та схеми виконані охайно, без помилок.
Залік вважається не складаним, якщо студент отримав незадовільну оцінку. 

Критерії оцінювання виконання накопичувальної частини дисципліни
Накопичувальна частина дисципліни складається з поточного контрольного опитування та виконання 8-ми лабораторних робіт. У кожному модульному контролі виконання та захист кожної лабораторної роботи оцінюється 4-ма балами.

Критерії оцінювання поточного контрольного опитування.
Контрольне опитування проводиться у формі письмових контрольних робіт.
Контрольні роботи в кожному з модулів полягають в рішенні практичного завдання, та виборі правильної відповіді для тестових питань або відповіді на теоретичне питання. Відповідь вважається  бездоганною, якщо студент не зробив жодної помилки та відповів правильно на всі питання. 
За кожне запитання знімається 1 бал, якщо була здійснена невірна відповідь або за відсутність відповіді. Якщо студент відмовився від проходження тестування, то він отримує незадовільну оцінку. Контрольна робота вважається не складеною, якщо студент отримав незадовільну оцінку. 
Контрольне опитування проводиться після опанування лекційним матеріалом змістових модулів. У кожному модулі на опитування відводиться 9 балів.

Семестровий модуль № 1
ЛЗ1- ЛЗ4. Оцінка за виконання – 16 балів. Термін виконання – 1-8 тиждень. 
Контрольні роботи – 9 балів. Термін виконання – 1-8 тиждень.
МК1. Модульна контрольна робота – 25 балів (8 тиждень). Перескладання можливе протягом 9–11 тижнів за розкладом консультацій.

Семестровий модуль № 2
ЛЗ5- ЛЗ8. Оцінка за виконання – 16 балів. Термін виконання – 9-15 тиждень. 
Контрольні роботи – 9 балів. Термін виконання – 1-8 тиждень.
МК2. Модульна контрольна робота – 25 балів (14 тиждень).

Умови допуску до підсумкового контролю

До заліку допускаються здобувачі вищої освіти, які виконали всі види навчальних елементів навчальної дисципліни на не менш, ніж на 60 %.
Залік відбувається за всіма тематичними (змістовними) модулями дисципліни.

Політика освітнього процесу

Здобувач зобов’язаний своєчасно та якісно виконувати всі отримані завдання; за необхідністю з метою з’ясування всіх не зрозумілих під час самостійної та індивідуальної роботи питань, відвідувати консультації викладача. Дотримуватись принципів академічної доброчесності.

Виконаний не свій варіант завдання здобувачем не оцінюється.

Робота, яка виконана після встановлених викладачем термінів, не приймається.

Відсутність здобувача на екзамені або на контрольній роботі відповідає оцінці «0». 
Складання/перескладання екзаменів – за встановленим деканатом розкладом.

Під час лекції здійснювати телефонні дзвінки забороняється.

Заборонено використання будь-яких підручників, посібників, конспектів лекцій, шпаргалок під час проходження модульних контролів та екзамену з дисципліни.

Документи (файли), що додаються: Робоча програма навчальної дисципліни.

Література

Основна література
1. Джош Лонг. JAVA В ОБЛАКЕ. SPRING BOOT, SPRING CLOUD, CLOUD FOUNDRY/Джош Лонг, Кеннет Бастани- СПБ: Питер, 2019 - 624с.
2.    Raja CSP Raman, Ludovic Dewailly. Building RESTful Web Services with Spring 5 - Second Edition: Leverage the power of Spring 5.0, Java SE 9, and Spring Boot 2.0 /Packt Publishing, 2018 -  228p.
3.    Ли Атчисон. Масштабирование приложений. Выращивание сложных систем – СПб.: Питер, 2018 – 256с.
4.    Patni, Sanjay. Pro RESTful APIs / Apress, 2017 - 136 p.
5.    Wallace Jackson JSON Quick Syntax Reference/ Apress, 2016 - 142 p.
6.    Varanasi, Balaji, Belida, Sudha. Spring REST / Apress, 2015 - 177 p.
7.    Bill Burke. RESTful Java with JAX-RS 2.0, Second Edition / O’Reilly Media, 2014
8.    Ben Smith. Beginning JSON / Apress, 2015 - 353 p.
9.    Гонсалвес Э. Изучаем Java EE 7. — СПб.: Питер, 2014. — 640 с.: ил.
Крейг Уоллс. «Spring в действии» - ДМК Пресс, 2013 год, 752 с.
10.    Одиночкина С.В. Основы технологий XML - СПб: НИУ ИТМО, 2013. – 56 с.
11.    Машнин Т. С. Web-сервисы Java. — СПб.: БХВ-Петербург, 2012. — 560 с.: ил. 
12.    Хабибуллин И. Ш. Разработка Web-служб средствами Java. — СПб.: БХВ-Петербург, 2003. — 400 с: ил.

Додаткова література
1.    Герберт Шилдт Java 8: руководство для начинающих, 6-е изд. : Пер. с англ. - М. ООО «И.Д. Вильямс», 2015. - 720 с.: ил.
2.    Гослинг, Джеймс, Джой, Билл, Стил, Гай, Брача, Гилад, Бакли, Алекс. Язык программирования Java SE 8. Подробное описание, 5-е изд.: Пер. с англ. — М.: ООО «И.Д. Вильямс», 2015. — 672 с.: ил.
3.    Хорстманн Кей С. Java SE 8. Базовый курс.: Пер. с англ. — М. : ООО «И.Д. Вильямс», 2015. — 464 с. : ил.

Методична література
1.    Конспект лекцій з дисципліни «Веб-сервіси на Java EE» для студентів спеціальності 121 – «Інженерія програмного забезпечення» / Уклад.: Писаренко К.О., Оніщенко Т.В. Одеса: ОНПУ, 2019. – 74с. (№7127-РС-2019)
2.    Конспект лекцій з дисципліни «Веб-сервіси на Java EE» для іноземних студентів спеціальності 121 – «Інженерія програмного забезпечення» / Уклад.: Писаренко К.О. Одеса: ОНПУ, 2019. – 74с. (№6861-РС-2019)
3.    Методичні вказівки до лабораторних робіт з дисципліни «Веб-сервіси на Java EE» для студентів спеціальності 121 – «Інженерія програмного забезпечення» / Уклад.: Писаренко К.О., Оніщенко Т.В.  Одеса: ОНПУ, 2019. – 28с. (№7053-РС-2019)
4.    Методичні вказівки до лабораторних робіт з дисципліни «Веб-сервіси на Java EE» для іноземних студентів спеціальності 121 – «Інженерія програмного забезпечення» / Уклад.: Писаренко К.О. Одеса: ОНПУ, 2019. – 26с.  (№6863-РС-2019)
 

2020 рік