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