Аудитория: Начинающие администраторы приложений для Oracle Weblogic Server 12c, курс также может быть полезен для разработчиков SQL и Java, руководителей IT подразделений.
Необходимая подготовка: реляционные базы данных, основы языка Java или одного из языков OOP (общие определения).
1. Инфраструктура сервера приложений Oracle Weblogic 12c (WLS)
· Стандарты Java Enterprise Edition (JEE). Архитектура JEE, сервлеты, JSP, EJB, JDBC, служба имен JNDI, службы транзакций, сообщений, проверки подлинности и управления расширениями java — общий обзор.
· Поддержка протоколов доступа к серверу приложений, толстые, тонкие, Web клиенты. Определение прокси сервера, firewall, и сервера приложений. Разница между Web сервером и сервером приложений масштаба предприятия. Понятие домена и зачем его использовать, ограничения в использовании домена.
· Сервер администрирования домена и управляемый сервер. Место машины и кластера в домене. Утилита управления узлом.
2. Инсталяция сервера WLS.
· GUI и консольный способ инсталяции сервера. Особенности использования JDK при выборе типа инсталяции.
· Структура каталогов сервера приложений. Основные переменные окружения сервера.
3. Конфигурация WLS.
· Создание и конфигурация домена сервера приложений с помощью утилит GUI. Создание кластера и размещение в нем управляющего сервера.
· Партиция сервера и виртуальные партиции.
· Конфигурация соединения с базой данных и ее тестирование.
· Создание и тестирование службы сообщений (JMS).
· Завершение создания домена.
· Определение параметров запуска JVM и переменных окружения сервера. Запуск сервера администрирования. Утилита java weblogic.Server. Создание управляемого сервера. Размещение управляемого сервера в машине и запуск сервера. Управляемый сервер и команда java weblogic.Server. Работа с управляемым сервером через Web консоль. Создание файлов идентификации. Конфигурация и запуск на одном узле нескольких экземпляров WLS.
· Шаблон для создания домена и утилита для его генерации. Создание дополнительных скриптов и добавление их в шаблон, управление пользователями будущего домена в шаблоне — конфигурация ролей, групп, пользователей. Добавление групп в группы. Добавление пользователей и групп в глобальные роли. Завершение создания шаблона домена.
· Основы работы с административной консолью WLS. Доступ к консоли по протоколам http и https. Основные и вспомогательные опции консоли.
· Архитектура управления изменениями сервера. Файл config.xml, внесение изменений в архитектуру сервера, консоль изменений.
· Weblogic Scripting Tools (WLST), обзор основных команд и способов использования. Запуск WLST скрипта . Пример создания домена с помощью WLST. JMX – общее представление. Навигация между JMX Beans.
4. Управление и мониторинг окружения WLS
· Node manager — его назначение, архитектура, конфигурация; запуск, перезапуск, останов управляемого сервера и сервера администрирования через Node manager. Конфигурация Node manager как сервиса или демона операционной системы. Обеспечение безопасного доступа к Node manager из WLST скрипта. Консоль администрирования Node manager.
· Конфигурация запуска WLS как сервиса или демона операционной системы. Запуск Node manager на нескольких хостах с управляемыми серверами.
· Конфигурация Машины для использования Node manager и для удаленного запуска. Определение переменных окружения для узла .
· Файлы и механизмы журналирования WLS. Log журналы сервера, домена, их конфигурация. Просмотр log журналов из консоли. Каталоги, атрибуты сообщений и их уровни строгости. Создание фильтрации определенных сообщений.
· Использование консоли для мониторинга JEE сервисов и размещенных на сервере приложений.
· Особенности сетевой адресации WLS. Сетевые каналы их назначение и конфигурация. Порты администрирования.
5. Основы размещения и развертывания приложений на сервере.
· Роль Web сервера и типичные Web взаимодействия. Статический и динамический контент Web приложений. Особенности JEE Web приложений. Правила сборки Web приложений. Структура приложения и его конфигурация — web.xml и weblogic.xml файлы. Доступ к приложению из клиентских мест. Особенности приложений построенных на WebService (SOAP протокол). Отображение физического каталога сервера приложений на виртуальный путь доступа к приложению.
· Enterprise Java Beans (EJB) приложения.
· Типы EJB, структура EJB приложений. Роль аннотаций в спецификации EJB3, ORM и JPA – поддержка стандартов севером WLS. Конфигурация приложения для доступа к пулу соединений JDBC сервера WLS. Файл weblogic-ejb-jar.xml.
· Типичное JEE приложение и его структура. Файлы application.xml и weblogic-application.xml. Конфигурация специфических особенностей WLS для использования в JEE приложение. WLS загрузчик классов для конкретного приложения. Расширение спецификации JEE – EAR архивы с дополнительными библиотеками и классами — каталог APP-INF/. Разделяемые библиотеки сервера приложений. Ссылки на библиотеки в файле weblogic-application.xml.
· Процесс разворачивания приложения на сервере.
· Методы разворачивания и основные инструменты - обзор. Автоматическое разворачивание приложения методом прямого копирования. Особенности, накладываемые на процесс разворачивания приложений в различных режимах работы сервера (разработка, производство). Процесс подготовки приложения к разворачиванию на сервере. Удаление приложения с сервера. Изменение дескриптора развертывания приложения через консоль WLS. Мониторинг и тестирование приложения. Обновление приложения на WLS. Использование команды java weblogic.Deployer для управления приложением на сервере. Разворачивание приложения с WLST.
6. Службы сервера приложений
· Введение в службу имен — Java Naming and Directory Interface (JNDI). Структура и сервисы службы имен. Дерево отображения имен. Контексты и подконтексты. Когда администратор управляет службой имен. Просмотр списка имен из консоли и с использованием WLST.
· Управление пулом соединений JDBC.
▪ JDBC источник данных и его область видимости. Двухуровневая и многоуровневая архитектура доступа к данным.
▪ Типы драйверов JDBC. Свойства соединения и его URL для доступа к базе данных. DataSource и ConnectionPool архитектура.
▪ Конфигурация и разворачивание JDBC ресурсов. Механизм доступа к источникам данных через JNDI сервис.
▪ Создание источника данных, привязывание его к пулу соединений и добавление к Управляемому серверу.
▪ Пример доступа к источникам данных из клиентского приложения. Использование множества источников данных и распределенные (XA) транзакции.
▪ Мониторинг и тестирование источника данных.
· Управление JMS службой WLS.
▪ Приложения сервера, ориентируемые на работу через службу сообщений (JMS). Очереди типа Точка-Точка. Топики типа Публикатор-Подписчик.
▪ Особенности сервера WLS при работе со службой JMS. Архитектура соединения клиента со службой JMS и передача сообщений.
▪ Транзакционные сообщения. Задачи администратора по управлению службой JMS.
▪ Создание и конфигурация JMS сервера, определение JMS ресурсов, фабрика соединений и ее создание, определение очередей и топиков.
▪ Конфигурация доступа и ограничений для ресурса обмена сообщениями.
▪ Обеспечение надежности при передаче и получении сообщений через организацию хранения последних на диске в виде файлов или в базе данных.
▪ Конфигурация постоянства сообщений на диске или через JDBC драйвер. Сбор статистики для JMS объектов.
▪ Мониторинг JMS сервера и фабрик, очередей и топиков.
· Управление транзакциями — служба Java Transaction API (JTA)
▪ Понятие транзакции — AСID (Атомарность, согласованность, изолированность, надежность). Идеология построения службы JTA WLS.
▪ Обмен информацией в транзакциях и без них. Завершение и откат транзакции на WLS.
▪ Распределенные транзакции. Двухфазный протокол фиксации транзакции- архитектура. Завершение и откат двухфазных транзакций.
▪ Конфигурация JTA службы и ее Log журнала.
▪ Создание XA ресурсов. Транзакционные сообщения и JDBC служба. Внутридоменные транзакции. Мониторинг транзакций и анализ статистики по двухфазным транзакциям.
· Служба JAAS — Обеспечение безопасного доступа к ресурсам WLS и его приложениям.
▪ Общая архитектура безопасности WLS сервера.
▪ Провайдер аутентификации и авторизации.
▪ Встроенный в WLS, LDAP сервис и его конфигурация. Создание новых пользователей, групп, ролей.
▪ Декларативная безопасность JEE приложений — использование дескрипторов разворачивания приложений .
▪ Определение сферы деятельности (Realm) для пользователей и ролей.
▪ Декларативная защита Web приложений (файл web.xml и weblogic.xml).
▪ Определение политик и ролей для Web и других ресурсов.
▪ Когда использовать Security Sockets Layer (SSL). SSL соединение. Включение SSL коммуникации.
7. Возможности разворачивания приложений в кластерной архитектуре сервера приложений
· План разворачивания приложения — порядок создания. Подготовка приложения для разворачивания в многосерверной и кластерной инфраструктуре предприятия. Создание плана разворачивания из консоли и с использованием утилиты java weblogic.PlanGenerator. Порядок разворачивания на сервере новой версии приложения. Управление доступом к новой версии приложения.
· Создание кластерной инфраструктуры.
▪ Определение кластера и зачем он нужен, преимущества и возможности использования.
▪ Архитектура кластера WLS -баазовая, многопоточная и с использованием прокси сервера.
▪ Прокси сервер — как регулятор баланса загрузки серверов кластера.
▪ Кластер в локальной и глобальных сетях. Коммуникации в кластере и быстрое обнаружение проблем. Особенности коммуникации в кластере один ко многим и один к одному.
▪ Создание и конфигурация кластера с использованием административной консоли. Добавление новых членов в кластер. Конфигурация кластерной коммуникации. Добавление серверов в кластер. Добавление в кластер прокси сервера — класс HttpProxyServlet. Создание прокси через консоль управления и в ручную. Параметры инициализации прокси сервлета. Подключение к кластеру и конфигурация сервера Apache в качестве прокси.
▪ Управление кластером. Подготовка приложений к двухфазному разворачиванию в кластере. Разворачивание приложения в кластере.
▪ Перехват управления сессией Web приложения и репликация ее на сервера кластера. Репликация сессии на первичном и вторичном сервере кластера. Конфигурация репликации сессии.
▪ JDBC, файловые репликации в кластере. Определение каталогов для файловых репликаций.
▪ Кластеризация EJB. Определение уровня кластеризации для EJB приложений. Баланс загрузки кластеризованных EJB объектов. Кластеризация JNDI и JMS.