
- •Введение
- •1 Работа 1. Тестирование ПО рабочей области студента
- •1.1 Дистрибутив ОС УПК АСУ
- •1.1.1 Структура ПО для проведения лабораторных работ
- •1.1.2 Рабочий стол и инструменты рабочей области
- •1.1.3 Состав учебного материала изучаемой дисциплины
- •1.2 ПО СУБД Apache Derby
- •1.2.1 Дистрибутивы Apache Derby
- •1.2.2 Тестирование работы ПО СУБД Apache Derby
- •1.3 ПО сервера приложений TomEE
- •1.3.1 Дистрибутивы ПО TomEE
- •1.3.2 Настройка и запуск сервера Apache TomEE
- •1.4 ПО IDE Eclipse EE
- •1.4.1 Дистрибутивы Eclipse EE
- •1.4.2 Тестирование ПО Eclipse EE
- •2 Работа 2. Использование компоненты JavaServer Faces
- •2.1 Анализ проекта test средствами технологии JSF
- •2.2 Реализация Facelets-шаблона проекта labs
- •2.3 Реализация тестового примера проекта labs
- •3 Работа 3. Области действия технологии JSF
- •3.1 Учебная задача авторизации пользователя
- •3.2 Переключение работ пользователя
- •4 Работа 4. Современные способы доступа к данным
- •4.1 Постановка учебной задачи
- •4.1.1 Учебная задача Letters
- •4.1.2 Корпоративные EJB-компоненты
- •4.1.4 Создание учебной базы данных
- •4.2 Использование фабрики менеджера сущностей
- •4.2.1 Создание сущности Letter
- •4.2.2 Освоить технологии менеджера сушностей
- •4.2.3 Использование не-JTA-типа транзакций
- •4.3 Использование контекста менеджера сущностей
- •4.3.1 Методы запросов типа Criteria API
- •4.3.2 Реализация и исследование примера технологии JPA
- •5 Работа 5. Представление информации с помощью XML
- •5.1 Инструментальные средства технологии JAXB
- •5.1.1 Классы и методы технологи JAXB
- •5.1.2 Аннотации технологии JAXB
- •5.2 Примеры реализации технологии JAXB
- •6 Работа 6. Представление информации с помощью JSON
- •6.1 Инструментальные средства JSON-P
- •6.2 Представление данных на уровне преобразуемых классов
- •6.3 Сравнительный анализ технологий JAXB и JSON
- •7.1 Инструментальные средства Web-служб SOAP
- •7.1.1 Теоретические составляющие Web-служб SOAP
- •7.1.2 Инфраструктура учебного примера Web-службы
- •7.2 Создание учебной Web-службы SOAP
- •7.2.1 Подготовка проекта lab7 в среде Eclipse EE
- •7.2.2 Непосредственное создание Web-сервиса Lets7
- •8.1 Подготовка проекта для агента потребителя сервиса
- •8.1.1 Исползование утилиты wsimport
- •8.1.2 Подготовка проекта lab8
- •8.2 Реализация тестового агента потребителя сервиса
- •8.2.1 Тестовый класс для потребителя сервиса
- •8.2.2 Выводы по лабораторным работам №7 и №8
- •9 Работа 9. Web-службы в стиле REST
- •9.1 Проектирование Web-службы в стиле REST
- •9.1.1 Проектные средства технологии RESTfull
- •9.1.2 Тестирование простейшего RESRfull-сервлета
- •9.2 Реализация поставщика сервиса
- •9.2.1 Подготовительная часть проекта lab9
- •9.2.2 Последовательная реализация сервлета LetsRestService
- •9.3 Реализация потребителя сервиса
- •9.3.1 Тест инструментальных средств потребителя сервиса
- •9.3.2 Полная реализация сервиса проекта lab9
- •9.3.3 Использование технологии JSF
- •9.3.4 Реализация запросов клиентов
- •Заключение
- •Список использованных источников
Заключение
Данное учебно-методическое пособие является дополнением к учебному пособию [1] и обеспечивает магистранта всей необходимой информацией для успешного выполнения полного цикла из девяти лабораторных работ по дисциплине «Распределенные сервис-ориентированные системы».
Методика выполнения работ предполагает, что студент выполняет их последовательно в указанном порядке, предварительно изучая теоретический материал закрепляемый соответствующей работой, согласно таблице В.1.2 представленной во введении.
Особо важное значение имеет успешное завершение первой лабораторной работы, в которой студент должен установить, настроить и протестировать достаточно большой объем инструментальных программных средств, без правильной работы которых дальнейшее продвижение учебного процесса становится невозможным. Учитывая это обстоятельство, студенту даются рекомендации по самостоятельному поиску, приобретению и установке соответствующих программных пакетов, необходимых для создания целостной учебной системы.
Последующие пять лабораторных работ (№2 - №6) посвящены закреплению теоретического материала и получению навыков работы с инструментальными средствами, которые подготавливают студента к созданию целостных сер- вис-ориентированных систем. После их успешного завершения, студент может приступать к выполнению последних трех работ.
Лабораторные работы №7 и №8 позволяют студенту реализовать простейшую учебную распределенную сервис-ориентированную систему, которая соответствует классической парадигме теоретических представлений о предмете изучения, основанной на использовании протокола SOAP. Успешное завершение этих работ рассматривается как успешное практическое освоение учебного материала изучаемой дисциплины.
Лабораторная работа №9 содержит учебное задание по альтернативным подходам к реализации сервис-ориентированных систем, известных как системы, реализованные в стиле RESTfull. Ее описание расширено по отношению к требуемым временным характеристкам учебного процесса. Это сделано с целью более полной демонстрации студенту возможностей этого направления развития современных технологий. Даже частичное выполнение данного задания оценивается как положительный результат работы студента.
60
Список использованных источников
1.Резник, В. Г. Распределенные сервис-ориентированные системы: Учебное пособие [Электронный ресурс] / В. Г. Резник. — Томск: ТУСУР, 2020. - 305 с.
2.Учебный программный комплекс кафедры АСУ на базе ОС ArchLinux [Электронный ресурс]: Учебно-методическое пособие для студентов направления 09.03.01, Направление подготовки "Программное обеспече-
ние средств вычислительной техники и автоматизированных систем" / В. Г. Резник - 2016. 33 с. — Режим доступа: https://edu.tusur.ru/publications/6238.
3.Резник, В. Г. Распределенные вычислительные сети: Учебное пособие [Электронный ресурс] / В. Г. Резник. — Томск: ТУСУР, 2019. — 211 с. — Режим доступа: https://edu.tusur.ru/publications/9072.
4.Apache Derby [Электронный ресурс]: Режим доступа: http://db.apache.org/derby/.
5.Apache TomEE [Электронный ресурс]: Режим доступа: http://tomee.apache.org/.
6.Eclipse Foundation [Электронный ресурс]: Режим доступа: https://www.eclipse.org/.
61
|
Оглавление |
|
Введение........................................................................................................ |
3 |
|
1 Работа 1. Тестирование ПО рабочей области студента..................... |
5 |
|
1.1 |
Дистрибутив ОС УПК АСУ.................................................................... |
6 |
|
1.1.1 Структура ПО для проведения лабораторных работ........................ |
6 |
|
1.1.2 Рабочий стол и инструменты рабочей области................................. |
7 |
|
1.1.3 Состав учебного материала изучаемой дисциплины........................ |
7 |
1.2 |
ПО СУБД Apache Derby........................................................................ |
9 |
|
1.2.1 Дистрибутивы Apache Derby............................................................. |
10 |
|
1.2.2 Тестирование работы ПО СУБД Apache Derby................................ |
11 |
1.3 |
ПО сервера приложений TomEE....................................................... |
15 |
|
1.3.1 Дистрибутивы ПО TomEE.................................................................. |
15 |
|
1.3.2 Настройка и запуск сервера Apache TomEE.................................... |
17 |
1.4 |
ПО IDE Eclipse EE............................................................................... |
21 |
|
1.4.1 Дистрибутивы Eclipse EE................................................................... |
21 |
|
1.4.2 Тестирование ПО Eclipse EE............................................................. |
21 |
2 Работа 2. Использование компоненты JavaServer Faces................. |
31 |
|
2.1 |
Анализ проекта test средствами технологии JSF............................. |
31 |
2.2 |
Реализация Facelets-шаблона проекта labs..................................... |
32 |
2.3 |
Реализация тестового примера проекта labs................................... |
33 |
3 Работа 3. Области действия технологии JSF..................................... |
34 |
|
3.1 |
Учебная задача авторизации пользователя..................................... |
34 |
3.2 |
Переключение работ пользователя.................................................. |
37 |
4 Работа 4. Современные способы доступа к данным....................... |
38 |
|
4.1 |
Постановка учебной задачи............................................................... |
38 |
|
4.1.1 Учебная задача Letters...................................................................... |
38 |
|
4.1.2 Корпоративные EJB-компоненты...................................................... |
39 |
|
4.1.3 Варианы тестирования EJB-компоненты Letters............................. |
39 |
|
4.1.4 Создание учебной базы данных........................................................ |
39 |
4.2 |
Использование фабрики менеджера сущностей............................. |
40 |
|
4.2.1 Создание сущности Letter.................................................................. |
40 |
|
4.2.2 Освоить технологии менеджера сушностей..................................... |
40 |
|
4.2.3 Использование не-JTA-типа транзакций.......................................... |
41 |
4.3 |
Использование контекста менеджера сущностей............................ |
41 |
|
4.3.1 Методы запросов типа Criteria API.................................................... |
41 |
|
4.3.2 Реализация и исследование примера технологии JPA................... |
42 |
5 Работа 5. Представление информации с помощью XML................. |
43 |
|
5.1 |
Инструментальные средства технологии JAXB............................... |
43 |
|
5.1.1 Классы и методы технологи JAXB.................................................... |
43 |
|
5.1.2 Аннотации технологии JAXB............................................................. |
44 |
5.2 |
Примеры реализации технологии JAXB........................................... |
44 |
62
6 Работа 6. Представление информации с помощью JSON............... |
45 |
|
6.1 |
Инструментальные средства JSON-P............................................... |
45 |
6.2 |
Представление данных на уровне преобразуемых классов........... |
46 |
6.3 |
Сравнительный анализ технологий JAXB и JSON........................... |
46 |
7 Работа 7. Классические средства описания Web-сервисов............ |
47 |
|
7.1 |
Инструментальные средства Web-служб SOAP.............................. |
47 |
|
7.1.1 Теоретические составляющие Web-служб SOAP............................ |
47 |
|
7.1.2 Инфраструктура учебного примера Web-службы........................... |
48 |
7.2 |
Создание учебной Web-службы SOAP............................................. |
49 |
|
7.2.1 Подготовка проекта lab7 в среде Eclipse EE.................................... |
49 |
|
7.2.2 Непосредственное создание Web-сервиса Lets7............................ |
49 |
|
7.2.3 Исследование Web-службы SOAP.................................................... |
50 |
8 Работа 8. Классические средства реализации Web-сервисов........ |
51 |
|
8.1 |
Подготовка проекта для агента потребителя сервиса..................... |
51 |
|
8.1.1 Исползование утилиты wsimport....................................................... |
51 |
|
8.1.2 Подготовка проекта lab8.................................................................... |
52 |
8.2 |
Реализация тестового агента потребителя сервиса........................ |
52 |
|
8.2.1 Тестовый класс для потребителя сервиса....................................... |
53 |
|
8.2.2 Выводы по лабораторным работам №7 и №8................................. |
53 |
9 Работа 9. Web-службы в стиле REST................................................... |
54 |
|
9.1 |
Проектирование Web-службы в стиле REST................................... |
54 |
|
9.1.1 Проектные средства технологии RESTfull........................................ |
54 |
|
9.1.2 Тестирование простейшего RESRfull-сервлета............................... |
55 |
9.2 |
Реализация поставщика сервиса...................................................... |
56 |
|
9.2.1 Подготовительная часть проекта lab9.............................................. |
56 |
|
9.2.2 Последовательная реализация сервлета LetsRestService............. |
57 |
9.3 |
Реализация потребителя сервиса..................................................... |
58 |
|
9.3.1 Тест инструментальных средств потребителя сервиса.................. |
58 |
|
9.3.2 Полная реализация сервиса проекта lab9....................................... |
59 |
|
9.3.3 Использование технологии JSF........................................................ |
59 |
|
9.3.4 Реализация запросов клиентов........................................................ |
59 |
Заключение................................................................................................. |
60 |
|
Список использованных источников..................................................... |
61 |
63