От JavaSE к технологиям среднего звена: ORM-JPA, Транзакционная модель EJB , Механизмы управления сообщениями, Web сервисы и микросервисы.
Код курса: IM-017
Продолжительность:
5 дней (40 часов)
Описание
Курс предназначен для слушателей, которые владеют основами Java и используют в своих разработках технологии JSE. Среда разработки — Eclipse. Сервера приложений — Wildfly, WebSphere Liberty, Weblogic.
Вопросы курса:
- Краткая история — от OAK к Java2. Версии SDK и JVM, Эволюция развития. От OOP к функциональному и аспектно-ориентированному программированию.
- Запуск JVM, порядок загрузки классов, приложения JSE и JEE — всему платформа — многопоточное программирование.
- Распределение памяти работающей JVM. Heap, Metaspace, Stack — параметры определяющие размеры областей. Сборка мусора (GC) — 4 основных алгоритма сборки , параметры управления алгоритмами GC.
- JMX интерфейс. Утилиты мониторинга JVM (JConsole, JMC-плагин Eclipse) — сравнение и использование.
- Терминальные утилиты наблюдения за JVM (jmap, jstack, jinfo).
- Загрузка классов в JVM, назначение класса Class, объект класса Class с описанием структуры классов, загруженных в JVM, выполнение статического блока класса.
- Механизмы выполнения скриптовых языков в Java на примере JavaScript (JS). Менеджер скриптовых языков. Выполнение JS функций и методов классов из Java, передача параметров и возврат результатов, имплементация java интерфейсов в JS .
- Определение потока (нити) в java. Как запускается главный поток приложения. Группы потоков и распределение квантов процессорного времени, приоритеты потоков, демоны. Два способа создания собственного потока и его запуск в работу. Останов потока и выход. Механизмы уведомлений.
- Мониторы объектов — как механизмы доступа из потоков к ресурсам приложения. Блоки синхронизации, динамические и статические методы с синхронизированным доступом. Объект класса Class и его монитор. Взаимные блокировки в потоках и блокировки ресурсов (объектов).
- Общая архитектура доступа к данным. ODBC и JDBC. Сравнение различных драйверов. URL базы данных. Три способа соединения с данными Oracle из Java – обзор. Совместимость OracleJDBC драйверов. Конфигурация JDBC драйвера и его настройка.
- Интерфейс Connection, Statement, ResultSet, MetaDataResultSet и другие, для обеспечения доступа к данным (архитектура). Последовательность соединения с Базой Данных . Отображение типов данных реляционной базы на java.sql. Потоковые типы данных, хранение объектов Java в реляционной базе данных, динамическое выполнение методов. Использование интерфейсов для извлечения данных
- Выполнение хранимых процедур на сервере. Интерфейс CallableStatement. Получение наборов данных на сторону клиента через параметры и возвращаемые значения функций.
- Обработка исключительных ситуаций на стороне клиента. Класс java.sql.SqlException. Извлечение серверной информации об ошибке на стороне клиента.
- Библиотеки ORM – Hibernate, TopLink, JDO, Apache OpenJPA. Спецификация JPA (Java Persistence API) – обзор. Что выбрать?
- Использование провайдера управления сущностями. Выполнение Native запросов в базу данных и извлечение результатов. Отображение результатов на коллекции массивов. Использование пакетных обновлений данных. Введение в систему управления транзакциями ORM.
- Определение правил отображения реляционных данных на java объекты, с помощью аннотаций.
- Создание простейшего сущностного компонента на основе таблицы в базе данных. Конфигурация первичного ключа. Аннотация @Id, @SequenceGenerator, @TableGenerator. Композиционный первичный ключ. Аннотация @Embeddable и @EmbeddedId. Отображение композиционного первичного ключа на сущностный класс – аннотация @IdClass.
- Язык запросов EJBQL, HQL. Использование аннотаций для создания именованных запросов -@NamedQuery. Использование параметров в запросах. Создание динамических запросов – javax.management.Query.
- JMS сервер — механизм обмена асинхронными сообщениями на сервере приложения. Конфигурация фабрики подключения к JMS серверу, очередей и разделов (топиков). Механизмы хранения сообщений в памяти и в постоянном хранилище — сравнение. Транзакционный механизм выкладывания сообщения на JMS сервер. Мониторинг сообщений в очереди, переназначение приоритетов сообщениям.
- Описание REST сервиса, механизмы формирования URL и передачи параметров — Query, Path, Matrix и Form параметры. Формирование запроса REST к EJB компонентам. Обмен сообщениями в формате JSON и XML. Создание RESTFull клиента на платформе JSE и в контейнере JEE. REST сервисы и асинхронный обмен сообщениями JMS.
- Открытые стандарты группы W3C. XML – основа обмена данными между приложениями. Краткое введение в XML. Понятие DOM, XSD, механизмы разбора документов. Визуальное построение схемы XSD. Связывание XML данных с объектами java, стандарты JAXB 2. Marshaller и Unmarshaller данных.
- Понимание Протокола Soap. На Самом Деле Ли Он Такой Простой? Сообщение Протокола Soap. Типы Сообщений Протокола Soap. Использование Различных Методов Упаковки Данных В Конверт Soap. Wsdl, Uddi. Rpc-Стиль. Стиль Document . Обзор Стандартов. Визуальное Построение Файла Интерфейса Wsdl. Основные Блоки Wsdl Файла. Создание Сообщений И Формирование Параметров. Описание Операций, Видов Связывания И Точек Размещения Сервисов.
- Обзор распределенных вычислений. Web-сервис – это просто еще одна программа, выполняющаяся в недрах вашей вычислительной инфраструктуры. Web-сервисы – это технология работы с сообщениями, в которой передача сообщений основана на XML. Ключевые функций, которые применяются для управления Web-сервисами. В их числе — развертывание, конфигурирование и обеспечение безопасности. SOA не является чем-то новым: IT-отделы компаний успешно создавали и развертывали приложения, поддерживающие сервис — ориентированную архитектуру, уже много лет — задолго до появления XML и Web-сервисов. SOA — это не технология, а способ проектирования и организации информационной архитектуры и бизнес функциональности.
- Разработка и размещение на сервере Web сервиса, полученного в результате компиляции WSDL файла. Заглушка и скелет сервиса.
- REST сервисы, описание входных и выходных потоков, GET, PUT, POST, DELETE методы обмена данными между клиентом и REST.
Расписание
Время проведения курса пока не определено, отправьте нам заявку, пожалуйста.
Возможно, мы предложим пройти курс в дистанционном режиме или организуем выездной курс, если у Вас группа.