Целевая аудитория

Курс предназначен для слушателей, которые владеют основами 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.