01. JAVA

Java — это объектно-ориентированный язык программирования, изначально предназначенный для программирования бытовых приборов. Программный код исполняется на специальной виртуальной машине Java (JVM) и не зависит от архитектуры компьютера. Эта особенность программ на языке Java и стала одной из основных причин его бурного развития и использования как на персональных компьютерах, так и на мобильных устройствах. В настоящее время этот язык программирования активно используется для создания интернет-приложений самого разного уровня сложности.

Если Вас интересует программирование, и Вы планируете работать в сфере интернет-технологий, то изучение основ языка программирования Java, его скриптовой составляющей JavaScript и пакета J2EE — это то, на чем следует акцентировать внимание при обучении на курсах Java. В процессе обучения Вы не только познакомитесь с основами программирования на этом языке, но и с его сильными и слабыми сторонами, особенностями создания клиентских и серверных приложений.

Начать обучение языку программирования Java можно на курсах "Язык программирования Java и введение в технологию J2EE", "Язык программирования Java. Создание приложений для работы с базами данных — технологии ORM (Hibernate, TopLink)" и "Язык программирования Java и введение в технологию JEE c использованием среды разработки IBM — Rational Application Developer (Eclipse)", хотя последние ориентированы на слушателей, которые не являются новичками в программировании.

Для тех java-программистов, кто желает повысить свой уровень квалификации, наш Учебный Центр предлагает специализированные курсы, такие как "Java и Oracle. Разработка клиент-серверных приложений", "Разработка корпоративных Java EE приложений для стандартных серверов приложений" и "Построение моделей и приложений масштаба предприятия с использованием языка UML в стандарте J2EE (Средство разработки Oracle JDeveloper, сервер приложений Oracle iAS 10g)". В рамках этих курсов рассматриваются способы создания клиент-серверных приложений уровня предприятия, т.е. серьезные проекты, которые реализуются только крупными компаниями и госструктурами. Освоение языка программирования на таком уровне и практика в серьезных проектах позволят Вам существенно повысить свой профессиональный уровень и претендовать на высокооплачиваемые позиции в крупных компаниях либо участвовать в крупных проектах аутсорсинговых ИТ-компаний, в том числе зарубежных, которые регулярно расширяют свои штаты за счет высококвалифицированных специалистов, умеющих нестандартно мыслить и решать сложные задачи в сжатые сроки.

Профессия "программист" обычно привлекает людей с особым, математическим складом ума и определенным характером. Они постоянно в поиске оптимальных решений, лаконичного и красивого кода, обучение на курсах Java для них может быть очередным шагом к поставленным перед собой задачам. При желании они могут изучить материалы курсов самостоятельно, вот только систематичности и комплексного подхода при этом, скорее всего, не получится, т.к. пристальное внимание будет уделено только тому, что действительно необходимо в настоящее время и интересно, а все остальное останется "за бортом" надолго, если не навсегда. Именно поэтому практически всегда обучение на профильных курсах в итоге оказывается эффективнее самообразования, хотя бывают и исключения из правил.

Мы приглашаем всех интересующихся языком программирования Java приходить к нам на курсы, получать новые знания и навыки и расти в профессиональном плане. Мы ждем Вас!

Основы администрирования IBM MQ (Message Queue)

Цена
Цена для организаций 35000 руб.
Цена для частных лиц 35000 руб.

Длительность курса: 32/4 часов/дней.

Курс ориентирован: для персонала IT подразделений предприятий, который занимается сопровождением распределенных приложений, построенных на основе очередей и сообщений

Предварительная подготовка: знание основ OOP (объектно-ориентированное программирование), желательно знание основ JEE.

По окончании курса слушатели будут уметь:

  • самостоятельно разворачивать на предприятии инфраструктуру IBM Websphere Message Queue. Мониторинг нагрузки, очереди отвергнутых сообщений, позволит во время принимать решения по оптимизации инфраструктуры IBM MQ.
  • Особое внимание в курсе уделяется взаимодействию сервера приложений IBM Websphere c сервером MQ, согласно стандартным спецификациям JEE (Java Enterprise Edition).
  • На протяжении курса слушатели используют среду разработки JEE приложений Eclipse для создания тестовых и нагрузочных (стрессовых) приложений для IBM MQ.

Содержание курса

  • IBM MQ — сервер среднего звена, распределенных вычислений, предназначенный для управления потоком сообщений. Краткая история IBM MQ.
  • Подготовка операционной системы для развертывания сервера MQ, необходимые пакеты, установка системных семафоров. Подготовка пользователей и групп операционной системы. Два этапа развертывания сервера MQ.
  • Структура каталогов, полученных в результате инсталляции сервера. Каталог сервера и его инсталляции. Создание среды окружения пользователя операционной системы.
  • Создание первого менеджера очереди — утилита CRTMQM — создать и запустить первый администратор очередей. Правила описания имен всех объектов MQ.
  • Два способа управления — утилиты MQExplorer и MQSC. Основы работы. Правила создания скриптов для выполнения задач администрирования в MQSC.
  • Управление местом размещения данных и журнальных файлов менеджера очереди для повышения производительности работы системы. Каталог размещения лог журналов.  Цикличный и линейный журнал MQ.
  • Основы управления трассировками в MQ. Процессы MQ в операционной системе и создание для процессов файлов трассировок. Преобразование трассировок для чтения информации в них.
  • Запуск менеджера очередей. Локальное подключение к менеджеру с помощью утилиты MQSC. Создание первой локальной очереди. Тестирование очереди — утилиты AMQSPUT и AMQGET для размещения и выборки сообщений. Утилита AMQGBR и команды  MQSC для просмотра состояния сообщений в очереди.
  • Типы очередей — первый обзор. Различия между локальными, псевдонимами, удаленными и моделями очередей.
  • Практическая работа по созданию и тестированию псевдонима очереди, преимущества использования псевдонима в сложных, распределенных системах. Дескриптор сообщения, структура. Подготовка операционной среды для создания нескольких менеджеров очередей, размещенных на разных хостах.
  • Создание определения удаленной очереди. Подготовка слушателя (listener)​ , для обеспечения удаленного соединения с менеджером очередей. Создание канала для удаленного соединения , типы каналов. Идентификатор пользователя MCA. Основы безопасности при удаленных соединениях с сервером очередей.
  • Удаленные клиенты. Использование Еclipse для создания утилиты MQExplorer. Удаленное администрирование менеджера очередей. Библиотеки Java для организации удаленного соединения с сервером MQ. Практический пример создание JMS клиента в среде Eclipse для MQ сервера.
  • Трансмиссионная очередь. Тестирование соединения с использованием трансмиссионных очередей. Описание заголовка трансмиссионной очереди.
  • Очередь отвергнутых сообщений. Когда сообщение попадает в эту очередь. Задачи администратора по обслуживанию очереди отвергнутых сообщений.
  • Временные очереди. Описание заголовка временной очереди, инициализация. Время жизни сообщения во временной очереди.
  • Триггеринг. Описание задачи триггеринга. Создание простейшей модели триггерного взаимодействия на основе стандартных примеров IBM. Внешние процессы. Монитор внешнего процесса. Отправка и получение сообщения на основе триггера и триггерного монитора.
  • Введение в технологию JEE — Message Driven Bean. Создание JEE приложения для взаимодействия с очередью MQ через веб интерфейс. Использование аннотаций для инжектирования ресурсов MQ в JEE  приложение. Фабрика очереди и раздела (Topic). Интерфей Connection и Session для организации транзакционного соединения. Публикаторы и подписчики. Описание ресурсов IBM MQ на сервере приложений IBM Websphere.
  • Практическая разработка взаимодействия серверов приложений JEE с очередями IBM MQ с использование технологии JEE. Стрессовое тестирование взаимодействия серверов. Использование утилиты Apache JMeter.

Основы администрирования IBM WAS (Websphere Application server)

Цена
Цена для организаций 42000 руб.
Цена для частных лиц 42000 руб.

Длительность курса: 40/5 часов/дней.

Курс ориентирован: для персонала IT подразделений предприятий, которые занимаются сопровождением распределенных приложений, построенных на основе IBM WAS. В настоящее время существует большое количество приложений среднего звена, которые должны сопровождаться на предприятиях. В понятие сопровождение входит обновление приложений новыми версиями, управление модулями приложений, конфигурация настроек Java машины, управление производительностью, надежностью и масштабируемостью сервера приложений и приложений, которые на нем размещаются. Курс необходим слушателям, которые сопровождают приложения для сервера приложений IBM Websphere.

Предварительная подготовка:

Знание основ OOP (объектно-ориентированное программирование), язык программирования Java.

По окончании курса слушатели будут уметь:

  • самостоятельно смогут разворачивать сервер приложений IBM Websphere масштаба предприятия.
  • Мониторинг Java машины и компонент сервера приложений позволят во время принимать решения по обеспечению безотказной работы инфраструктуры IBM WAS.
  • В процессе обучения слушатели самостоятельно разворачивают на сервере тестовые приложения, проводят их мониторинг и настройку, обеспечивают безопасный доступ к приложениям.

Содержание курса

  • IBM WAS — сервер среднего звена распределенных вычислений, предназначенный для развертывания JEE приложений.
  • Подготовка операционной системы для развертывания сервера WAS, необходимые пакеты, установка системных семафоров. Подготовка пользователей и групп операционной системы. Три этапа развертывания сервера WAS — установка основных пакетов, установка механизмов обновления сервера до следующих версий, обновление сервера новыми сервисными пакетами.
  • Структура каталогов, полученных в результате инсталяции сервера приложений.
  • Виртуальная Java машина — сердце сервера приложений. Стандарты и спецификации, технология JEE — основа IBM Websphere. Структура и компоненты JVM. Управление памятью, переменные окружения JVM. Пакеты расширений. Структуры и виды приложений, размещаемых на сервере. Введение в загрузчик классов сервера приложений.
  • Среда разработки Eclipse — инструмент администратора при работе с IBM Websphere. Плагины расширений для Eclipse. Конфигурация профайла для сервера приложений из среды Eclipse.
  • Запуск сервера приложений, конфигурационные файлы, цель, узел и сервер приложений. Введение в консоль управления сервером, мониторинг основных компонент.
  • Конфигурация сервиса JAAS и JDBC. Пулы соединений, сервис J2CA и безопасность IBM Websphere. Определение ролей и групп пользователей. Доступ к серверам баз данных, настройка и мониторинг соединений. Служба JMS, взаимодействие IBM MQ и IBM WAS. Таймер сервисы и JMS служба. Контейнер Web приложений и приложений для взаимодействия с базой данных. Особенности размещения на сервере транзакционных приложений.
  • Архитектура JEE приложений. Стандарты приложений: Web и EJB прилоржения. Использование среды Eclipse для сборки, конфигурации и тестирования приложений.
  • Размещение приложений на сервере, стандартные JEE и специфические для IBM Sphere дескрипторы размещения приложений. Мониторинг приложений, развернутых на сервере.
  • Архитектура Web приложений. Идеология MVC — версии. От сервлета до фаселета — технология JSF2. Стандартные конфигурационные файлы и особенности размещения Web приложений на IBM Websphere. Управление и мониторинг пользовательских сессий через консоль управления сервером приложения, сервлеты и JSF страницы — мониторинг производительности. Жизненный цикл пользовательского запроса на сервер и сессионные ресурсы сервера приложений.
  • Управление транзакционными EJB3 приложениями. Типы EJB компонент их конфигурация и мониторинг на сервере IBM WebSphere. Конфигурационные файлы IBM Websphere и особенности взамодействия компонент в контейнере EJB.
  • Введение в распределенные транзакции, транзакции базы данных и сервера приложений. Конфигурация транзакционного контейнера сервера приложений. Классы синглетоны и сервисы таймера — управление заданиями на сервере приложений. Сессионный контекст EJB приложения и управление безопасным доступом к EJB приложениям.
  • Основы ORM и JPA, конфигурация JEE приложений для работы с базой данных. Инжектирование ресурсов сервера приложений в EJB компоненты. Особенности работы JEE приложений с ресурсами IBM Websphere.
  • Взаимодействие приложений JEE с сервером IBM MQ. Типы соединений с MQ сервером. Организация и настройка ресурсов IBM Websphere для работы с IBM MQ.
  • Технология JEE Message Driven и сервер IBM MQ — тесное сотрудничество. Транзакционные бизнес методы и распределенные JDBC транзакции, еще раз о конфигурации JDBC драйвера сервера приложений. 

Разработка корпоративных Java EE приложений для стандартных серверов приложений

Цена
Цена для организаций 42000 руб.
Цена для частных лиц 42000 руб.

Длительность курса: 40/5 часов/дней.

Это обзорный курс, в котором будет показано большинство технологий JEE (Servlet, JSF, EJB 3) для стандартных серверов приложений, таких как JBoss, Weblogic, Web Sphere, примеры которых будут разрабатываться в среде Eclipse и JDeveloper. По всем разделам курса будут создаваться приложения, как серверной так и клиентской части, все примеры приложений будут переданы слушателям на магнитных носителях.

Цель курса: по окончании курса слушатели получат полную картину по разработке приложений с помощью среды Eclipse и JDeveloper в технологии JEE.

При чтении курса строятся примеры приложений с использованием стандартных шаблонов, так же много приводится примеров анти-патернов, которые, к сожалению, встречаются на практике и даже в сегодняшней литературе. По согласованию со слушателями, разработка приложений ведется для одного из стандартный сервера приложений (JBoss, WebLogic, OC4J, Web Sphere), возможен вариант тестирования приложений на разных серверах. Кроме этого, при чтении курса активно используется JUnit для тестирования модулей.

Все примеры и презентации в виде рисунков (которые были сделаны лектором), передаются слушателям на магнитных носителях.

Категория слушателей : разработчики Java, которые планируют использовать технологию JEE.

Содержание:

  • Инсталляция и конфигурация среды разработки Eclipse, JDeveloper, основные компоненты и плагины.
  • Общая архитектура стандартного сервера приложений JEE. Инсталляция сервера, управление службами и сервисами. Консоль управления сервером для решения тестовых задач разработчика. Порядок создания серверного JEE приложения. Определение основных сервисов JEE. Управление сервисом JAAS, JDBC, JMS, Timer и другими. Подключение тестового сервера к среде разработки.
  • Разработка приложений клиента в архитектуре (RCP — Rich Client Platform) для сервера приложений. Инсталляция клиента для сервера приложений. Библиотеки для подключения к серверу приложений. Протоколы взаимодействия с сервером (RMI, IIOP). Интерфейс javax.naming.Context. Введение в службу имен (JNDI). Создание GUI интерфейса с помощью среды разработки.
  • Разработка XML приложений (Визуальные средства RAD). Технология JAXB. Обзор разметки. Сведения о синтаксисе XML. DTD — определение типа документа. Язык определения схем. Пространство имен и язык Xpath. XLink. Объектная модель документа. SAX. Использование каскадных таблиц стилей CSS. Язык преобразования XSLT, связь с HTML. Интеграция XML с корпоративными приложениями. Получение объекта Java из XML документа, преобразование Java объекта в XML поток .
  • Разработка приложений с использованием Servlets, JSP, JSF. Web взаимодействия. Конфигурирование сервера для работы с Web приложениями. Структура WAR и EAR архивов, дескрипторы размещения и доставки. Последовательность создания Web приложения.
  • Правила построения безопасного доступа к Web приложениям. Сервис JAAS. Principals и JAZN аутентификация. Пример разработки приложения с использованием JAAS сервера. Безопасность на основе форм.
  • Разработка Web контроллеров на основе сервлетов. Листенеры, фильтры, управление безопасностью через сервлеты. Технология программирования сервлетов, сеансы и жизненный цикл. Контекст приложения и сервлета. Отслеживание сеансов. Цикл жизни сессии. Настройка дескриптора размещения Web приложения. Использование JNDI для доступа к данным в сервлетах. Взаимодействие между сервлетами через контекст приложения.
  • Построение простейших JSP страниц. JSP тэги. Использование языка выражений. Получение информации из структур данных. Операторы языка выражений. Приведение типов данных.
  • Работа с действиями Core. Запись в выходной поток. Установка и удаление переменных. Итераторы. Просмотр коллекций в цикле. Импортирование статических и динамических ссылок.
  • Работа с XML действиями. Синтаксический разбор XML документа. Условные Х операторы и операторы циклов. Трансформация расширяемого языка стилевых таблиц
  • Локализация приложений с помощью ресурсных контентов. Библиотека тегов форматирования.
  • Библиотека SQL тэгов. Конфигурирование и использование источников данных. Работа с результирующими множествами. Работа с транзакциями.
  • Модель MVC. Создание Web приложений в архитектуре JSF. Конфигурационный файл Faces сервлета. Bucking bean. Обработка событий на стороне сервера. Подключение листенеров и валидаторов. Управление акциями в JSF приложении. Библиотека стандартных JSF компонент. Правила использования основных UI (User Interface) компонент на страницах JSF. FacesContext — управление сообщениями и доступ к стандартным контекстам приложения.
  • Использование библиотек Trinidad, ADF для расширения технологии JSF и переноса обработки событий на сторону клиента — технология AJAX.
  • Интеграция Web приложений с приложениями EJB. Введение в технологию EJB.
  • Особенности многомодульной компоновки приложений для сервера приложений
  • Общая архитектура EJB 3. Аннотации метаданных и дескрипторов доставки. Переносимость и миграция между спецификациями 2 и 3. Два типа компонент — Сессионные и Управляемые событиями. Сущностные бины.
  • Порядок сборки, упаковки и отправки на сервер приложений, модулей с EJB3 компонентами. Аннотации вместо файла ejb-jar.xml. Конфигурация приложения на конкретном сервере приложений с помощью аннотаций сервера приложений
  • Клиенты для сессионных компонент (локальные , удаленные, Web сервисы). Создание удаленного клиента на основе SWING приложения для выполнения методов компонент с использованием rmi протокола. Управление сессионным состоянием. Цикл жизни сессионных компонент. Аннотации, методы для управления циклом жизни. Методы управления доступом к компонентам. Распределение ролей для выполнения различных методов.
  • Методы и классы Interceptor, аннотация @AroundInvoke.
  • Доступ к ресурсам приложения и сервера. TimerService. Создание компоненты для выполнения действий по расписанию. Управление пассивацией в сессионных компонентах с состоянием. Создание простейшего сущностного компонента на основе таблицы в базе данных. Конфигурация первичного ключа. Аннотация @Id, @SequenceGenerator, @TableGenerator. Композиционный первичный ключ. Аннотация @Embeddable и @EmbeddedId. Отображение композиционного первичного ключа на сущностный класс — аннотация @IdClass.
  • Конфигурация метаданных по таблицам и колонкам — аннотации @Table, @SecondaryTable. @Column. Связанные колонки — @JoinColumn. Использование различных отношений между колонками. Конфигурация базового отображения примитивных типов данных в таблицах Oracle — @Basic. Конфигурация больших объектов — @ Lob. Конфигурация поля Version для производства оптимистической блокировки записи.
  • Определение методов жизненного цикла сущностной компоненты — @Pre… и @Post… аннотации. Ассоциация листенера и сущностного класса.
  • Конфигурация наследования в сущностных компонентах.
  • Язык запросов EJBQL. Использование аннотаций для создания именованных запросов -@NamedQuery. Использование параметров в запросах. Создание динамических запросов — javax.management.Query.
  • Компоненты, управляемые сообщениями (MDB). Использование аннотаций для привязки MDB компонента к источнику сообщений.

Разработка корпоративных Java и Java EE приложений в среде IBM Rational Application Developer

Цена
Цена для организаций 42000 руб.
Цена для частных лиц 42000 руб.

Длительность курса: 40/5 часов/дней.

Это обзорный курс, в котором будет показано большинство технологий JEE для сервера приложений IBM Web Sphere v 7, примеры которых будут разрабатываться в среде RAD (IBM Rational Application Developer v 7 for Web Sphere software). По всем разделам курса будут создаваться приложения, как серверной так и клиентской части, все примеры приложений будут переданы слушателям на магнитных носителях.

По окончанию курса слушатели получат полную картину по разработке приложений с помощью IBM Rational Application Developer в технологии JEE для сервере приложений IBM Web Sphere.

Содержание курса:

  • Введение в RAD и IBM Rational Software Delivery Platform (SDP). Инсталляция и конфигурация среды разработки, основные компоненты.
  • Общая архитектура сервера приложений IBM Web Sphere V7. Консоль управления сервером для решения тестовых задач разработчика. Порядок создания серверного JEE приложения. Конфигурация сервера, узла, цели. Определение основных сервисов JEE. Управление сервисом JAAS, JDBC, JMS, Timer и другими.
  • Разработка приложений клиента в архитектуре (RCP — Rich Client Platform) для IBM Web Sphere. Инсталляция клиента для сервера приложений. Библиотеки для подключения к серверу приложений. Протоколы взаимодействия с сервером (RMI, IIOP). Интерфейс javax.naming.Context. Введение в службу имен (JNDI). Создание GUI интерфейса с помощью RAD 7.x. Утилита launchClient для тестирования приложения.
  • Разработка XML приложений (Визуальные средства RAD). Технология JAXB 2.
  • Обзор разметки. Сведения о синтаксисе XML. DTD — определение типа документа. Язык определения схем. Пространство имен и язык Xpath. XLink. Объектная модель документа. SAX. Использование каскадных таблиц стилей CSS. Язык преобразования XSLT, связь с HTML. Интеграция XML с корпоративными приложениями. Получение объекта Java из XML документа, преобразование Java объекта в XML поток .
  • Разработка приложений с использованием Servlets, JSP, STRUTS, JSF
  • Web взаимодействия. Конфигурирование OC4J для работы с Web приложениями. Структура WAR и EAR архивов, дескрипторы размещения и доставки. Последовательность создания Web приложения.
  • Правила построения безопасного доступа к Web приложениям. Сервис JAAS. Principals и JAZN аутентификация. Пример разработки приложения с использованием JAAS сервера. Безопасность на основе форм.
  • Разработка Web контроллеров на основе сервлетов. Листенеры, фильтры, управление безопасностью через сервлеты. Технология программирования сервлетов, сеансы и жизненный цикл. Контекст приложения и сервлета. Отслеживание сеансов. Цикл жизни сессии. Настройка дескриптора размещения Web приложения. Использование JNDI для доступа к данным в сервлетах. Взаимодействие между сервлетами через контекст приложения.
  • Посроение простейших JSP страниц. JSP тэги. Использование языка выражений. Получение информации из структур данных. Операторы языка выражений. Приведение типов данных.
  • Работа с действиями Core. Запись в выходной поток. Установка и удаление переменных. Итераторы. Просмотр коллекций в цикле. Импортирование статических и динамических ссылок
  • Работа с XML действиями. Синтаксический разбор XML документа. Условные Х операторы и операторы циклов. Трансформация расширяемого языка стилевых таблиц
  • Локализация приложений с помощью ресурсных контентов.
  • Библиотека SQL тэгов. Конфигурирование и использование источников данных. Работа с результирующими множествами. Работа с транзакциями.
  • Struts framework в Web приложениях.Struts конфигурационный файл.
  • Интеграция Web приложений с приложениями EJB. Введение в технологию EJB.
  • Особенности многомодульной компоновки приложений для сервера IBM Web Sphera.
  • Общая архитектура EJB 3. Аннотации метаданных и дескрипторов доставки. Переносимость и миграция между спецификациями 2 и 3. Два типа компонент — Сессионные и Управляемые событиями. Сущностные бины.
  • Порядок сборки, упаковки и отправки на сервер приложений модулей с EJB3 компонентами. Аннотации вместо файла ejb-jar.xml. Конфигурация приложения на конкретном сервере приложений с помощью аннотаций сервера приложений
  • Клиенты для сессионных компонент (локальные , удаленные, Web сервисы). Создание удаленного клиента на основе SWING приложения для выполнения методов компонент с использованием rmi протокола.Управление сессионным состоянием. Цикл жизни сессионных компонент. Аннотации, методы для управления циклом жизни. Методы управления доступом к компонентам. Распределение ролей для выполнения различных методов. Методы и классы Interceptor, аннотация @@AroundInvoke.
  • Доступ к ресурсам приложения и сервера. TimerService. Создание компоненты для выполнения действий по расписанию. Управление пассивацией в сессионных компонентах с состоянием. Создание простейшего сущностного компонента на основе таблицы в базе данных. Конфигурация первичного ключа. Аннотация @Id, @SequenceGenerator, @TableGenerator. Композиционный первичный ключ. Аннотация @Embeddable и @EmbeddedId. Отображение композиционного первичного ключа на сущностный класс — аннотация @IdClass.
  • Конфигурация метаданных по таблицам и колонкам — аннотации @Table, @SecondaryTable. @Column. Связанные колонки — @JoinColumn. Использование различных отношений между колонками. Конфигурация базового отображения примитивных типов данных в таблицах — @Basic. Конфигурация больших объектов — @ Lob. Конфигурация поля Version для производства оптимистической блокировки записи.
  • Определение методов жизненного цикла сущностной компоненты — @Pre… и @Post… аннотации. Ассоциация листенера и сущностного класса.
  • Конфигурация наследования в сущностных компонентах.
  • Язык запросов EJBQL. Использование аннотаций для создания именованных запросов -@NamedQuery. Использование параметров в запросах. Создание динамических запросов — javax.management.Query.
  • Компоненты, управляемые сообщениями (MDB)

Язык программирования Java. Создание приложений для работы с базами данных — технологии ORM (Hibernate, TopLink )

Цена
Цена для организаций 42000 руб.
Цена для частных лиц 42000 руб.

Длительность курса: 40/5 часов/дней.

Цель курса: после завершения курса, слушатели самостоятельно смогут создавать клиентские приложения на языке Java для реляционных баз данных с использованием библиотек ORM (object/relational mapping) — TopLink и Hibernate.

При чтении курса строятся примеры приложений с использованием стандартных шаблонов, так же много приводится примеров анти-патернов, которые, к сожалению, встречаются на практике и даже в сегодняшней литературе.

Все примеры и презентации в виде рисунков (которые были сделаны лектором), передаются слушателям на магнитных носителях.

Категория слушателей: разработчики, переходящие на платформу Java, ориентирующиеся в одном из языков: C++, Pascal, Clipper, Fox; знающие механизмы доступа к базам данных.

Рекомендуемая литература: Брюс Эккель Философия JAVA, Питер. Джошуа Блох, Java. Эффективное программирование, Лори; The J2EE 1.6 Tutorial, SUN, Документация по библиотекам Hibernate, TopLink

Содержание курса:

  • Почему Java? Краткий обзор Java — история. Первое простейшее приложение.
  • Сравнение интегрированных сред разработки Jdeveloper, Eclipse, Net Beanse. Рекомендации по выбору среды разработки
  • Четыре вида приложений, разрабатываемые в Java. Пакет — основа размещения классов. Сборка приложений. Манифест и дескрипторы размещения приложений. Передача приложений конечным пользователям, размещение на серверах приложений. Использование серверов для для поддержки версионности приложений. Командная строка Java для запуска приложений. Использование библиотек. Управление памятью из командной строки.
  • Скалярные и объектные типы данных. Статический и динамический контекст. Классы и загрузчики. Синглетоны. Интерфейсы, перечисления и аннотации.
  • Использование UML для разработки моделей классов. Статическое и динамическое представление классов. Ассоциации. Управление доступом к переменным и методам. Наследование и реализация интерфейсов.
  • Обзор основных пакетов java. Классы для работы со строками (String, StringBuffer, StringBuilder, StringTokenizer и др.). Класс Runtime и System — получение доступа к среде выполнения. Управление свойствами среды выполнения Java.
  • Коллекции. Списки класса List. Стеки и класс LinkedList, создание очередей. Множества Set и SortedSet
  • Ассоциированные списки Map (HashMap, TreeMap, SortedMap, Vector и Enumeration. Файловый ввод/вывод (InputStream, OutputStream и др.). Класс File. Чтение и запись данных, сериализация объектов.
  • Основы кэширования данных. Мягкие с слабые ссылки. Пример создания собственного контейнера объектов.
  • Сериализация данных. Сохранение и восстановление пользовательского интерфейса. Передача объектов Java по сети. Краткое введение в события Java. Модель возникновения и обработки событий. Вложенные и анонимные классы. Менеджеры компоновок. Использование классов графического интерфейса пользователя Abstract Window Toolkit(AWT), Swing, технология SWT . Формирование собственных компонент и их инсталяция в средах разработки.
  • Основы XML. Общая нотация языка разметки. Схема документа. Управление пространством имен. DOM и SAX парсеры, использование Java классов для проверки документов. Построение схем документов с помощью средств разработки Java. Введение в JAXB. Marshaling и UnMarshaling XML документов. Создание объектов Java на основе XML документов.
  • Многопоточное программирование. Процессы и потоки, контексты. Приоритеты потоков и синхронизация. Класс Thread и доступ к главному потоку. Два способа создания дочернего потока — интерфейс Runnable и класс Thread. Группы потоков. Разработка приложений с использованием средств многопоточного программирования.
  • Общая архитектура доступа к данным. ODBC и JDBC. Сравнение различных драйверов. URL базы данных. Три способа соединения с данными Oracle из Java — обзор. Совместимость Oracle JDBC драйверов. Конфигурация JDBC драйвера и его настройка.
  • Интерфейс Connection, Statement, ResultSet, MetaDataResultSet и другие, для обеспечения доступа к данным (архитектура). Последовательность соединения с Базой Данных . Отображение типов данных реляционной базы на java.sql. Потоковые типы данных, хранение объектов Java в реляционной базе данных, динамическое выполнение методов. Использование интерфейсов для извлечения данных
  • Выполнение хранимых процедур на сервере. Интерфейс CallableStatement. Получение наборов данных на сторону клиента через параметры и возвращаемые значения функций.
  • Обработка исключительных ситуаций на стороне клиента. Класс java.sql.SqlException. Извлечение серверной информации об ошибке на стороне клиента.
  • Библиотеки ORM — Hibernate, TopLink, JDO, Apache OpenJPA. Спецификация JPA (Java Persistence API) — обзор. Что выбрать?
  • Порядок инсталляции библиотеки ORM в пользовательское приложение на примере Hibernate или TopLink. Настройка среды разработки для работы с ORM — Eclipse.
  • Конфигурация сессии и фабрики доступа к данным. Использование конфигурационных xml файлов.
  • Использование провайдера управления сущностями. Выполнение Native запросов в базу данных и извлечение результатов. Отображение результатов на коллекции массивов. Использование пакетных обновлений данных. Введение в систему управления транзакциями ORM.
  • Определение правил отображения реляционных данных на java объекты, с помощью аннотаций.
  • Создание простейшего сущностного компонента на основе таблицы в базе данных. Конфигурация первичного ключа. Аннотация @Id, @SequenceGenerator, @TableGenerator. Композиционный первичный ключ. Аннотация @Embeddable и @EmbeddedId. Отображение композиционного первичного ключа на сущностный класс — аннотация @IdClass.
  • Конфигурация метаданных по таблицам и колонкам — аннотации @Table, @SecondaryTable. @Column. Связанные колонки — @JoinColumn. Использование различных отношений между колонками. Конфигурация базового отображения примитивных типов данных в таблицах — @Basic. Конфигурация больших объектов — @ Lob. Конфигурация поля Version для производства оптимистической блокировки записи.
  • Определение методов жизненного цикла сущностной компоненты — @Pre… и @Post… аннотации. Ассоциация листенера и сущностного класса.
  • Конфигурация наследования в сущностных компонентах.
  • Язык запросов EJBQL, HQL. Использование аннотаций для создания именованных запросов -@NamedQuery. Использование параметров в запросах. Создание динамических запросов — javax.management.Query.
  • Механизмы управления постоянством. Шаблон класса для управления сущностными объектами. Класс Persistence, EntityManagerFactory, EntityManager.
  • Создание комплексного клинт-серверного приложения с использованием технологии ORM

Построение моделей и приложений масштаба предприятия с использованием языка UML в стандарте J2EE (Средство разработки Oracle JDeveloper, сервер приложений Oracle iAS 10g).

Цена
Цена для организаций 42000 руб.
Цена для частных лиц 42000 руб.

Длительность курса: 40/5 часов/дней.

Аудитория: разработчики Oracle, системные администраторы, аналитики, которым необходимо получить понимание и навыки объектно-ориентированного анализа и проектирования многозвенных приложений в стандарте J2EE с использованием UML в среде разработки Oracle JDeveloper.

Необходимая подготовка: Желание узнать новые направления в современных технологиях корпорации Oracle

Цель: помочь эффективно использовать UML (Unified Modeling Language) при разработке информационной системы в технологии J2EE. В процессе обучения слушатели научаться применять UML к фундаментальным концепциям объектно-ориентированного анализа и проектирования. Рассматриваются вопросы построения моделей развертывания фармов и кластеров с целью обеспечения надежности и отказоустойчивости систем, механизмы коллективной разработки программного обеспечения. На основе контейнера J2EE OC4J строятся модели WEB приложения. Моделируются приложения для CTM контейнера в технологии EJB, рассматриваются модели взаимодействия между различными контейнерами сервера приложений. По окончанию курса, слушатели получают в электронном виде все приложения и модели, которые были созданы на протяжении курса, а также дополнительную справочную и другую информацию по теме.

Содержание курса:

  1. Зачем мы создаем модели приложений. Основы языка UML

     

     

    • Простое приложение "Hello world". Четыре строительных блока UML, ключевые абстракции, механизмы и компоненты.
    • Сущности, классы, интерфейсы, прецеденты, активные классы, компоненты, узлы — общее представление.
    • Четыре типа отношений UML — связующие элементы между строительными блоками UML.
    • Структура пакетов языка UML. Метамодели. Правила и общие механизмы.
  2. Основы жизненного цикла разработки J2EE приложенияКаскадный, итерационный циклы, краткая история. RUP процесс и особенности распределенных систем — дисциплины развития, тестирования и развертывания J2EE приложений в контейнерах серверов приложений. Риски, связанные с разработкой J2EE приложений.
  3. Oracle JDeveloper и UML

     

     

    • Описание прецедентов и формирование UseCase диаграмм с помощью Jdeveloper. Предусловия, постусловия. Расширения, обобщения, включения. Исполнители. Комментарии и словарь терминов.
    • Диаграммы последовательностей. Жизненный цикл J2EE приложений. Межсистемные взаимодействия в распределенных J2EE приложениях.
    • Диаграммы Моделей Данных. Реляционные отношения в моделях и их описание в UML. Пример разработки конкретной модели данных с загрузкой ее в базу данных. Редактирование модели и синхронизация с базой данных. Описание событий в Базе Данных с помощью UML.
    • Концептуальная модель классов. Система обозначений для ассоциаций языка UML. Стандартные ассоциации и роли, обобщения, ограничения в предметной области.
    • Операции и атрибуты в контексте класса. Агрегация класса и композиция.
    • Интерфейсы и абстрактные классы в нотации UML. Моделирование взаимодействия классов в контексте J2EE сервера — общее понятие о JNDI контексте. Моделирование конкретных классов с помощью диаграмм Jdeveloper.
  4. Модель предметной области. Общая архитектура Oracle iAS. Фармы, кластеры, контейнер J2EE. Взаимодействия между различными сервисами внутри контейнера. Концептуальная модель EJB и WEB приложений для контейнера J2EE.
  5. Моделирование разработки Web приложений.

     

     

    • Жизненный цикл сервлета. Обязательные методы. Моделирование жизненного цикла обработки запросов и генерирования ответов. Изучение моделей передачи и включения сервлета. Пять контекстов сервлета.
    • Компоненты JSP. Архитектура MVC1 и MVC2. Моделирование поведения JSP страниц на стороне сервера и стороне клиента. События в JSP и их отображение в UML.
    • Технология Java Server Faces (JSF) и STRUTS. Модели событий, проверок, акций. Взаимодействие между компонентами в JSF технологии. Oracle Application Development Framework (ADF) и моделирование Web приложений. Структура ADF.
    • Формирование BC4J диаграмм на основе структуры, размещенной в базе данных. Моделирование поведения BC4J компонент в контексте сервера и Web приложений. Ввод дополнительных правил проверки и ограничений в объектную модель данных с помощью расширений UML.
    • Взаимодействие JSP и ВС4J моделей через диаграммы развертывания.
  6. Моделирование разработки приложений масштаба предприятия (EJB).

     

     

    • Краткая история EJB. Версии. Почему компонентная модель. Три вида компонент. Представление компонентов EJB в UML — серверное и клиентское отображение. Компоненты управляемые сообщениями (MDB). Моделирование сообщений и роль JMS — два вида сообщений и два вида адресатов.
    • Жизненный цикл компонента, управляемого сообщением. Построение диаграммы последовательностей для компонента управляемого сообщением. Управление транзакциями в MDB компонентах.. Отношения MDB компонент и других классов в составе EJB приложения. Взаимодействие со службой JNDI.
    • Сеансовые компоненты — типы и диалоговое состояние. Типы интерфейсов сессионных компонент и классы реализации. Локальный и удаленный клиент. Необходимость отказа от удаленных вызовов. Модель диалога компоненты без состояния. Транзакции и демаркация транзакций. Моделирование поведения операций сессионных компонент с различными атрибутами транзакций. Моделирование жизненного цикла компоненты с состоянием. Взаимодействие между различными компонентами Enterprise приложения, и другими классами через JNDI интерфейс. Сеансовые компоненты и Web приложения — моделирование развертывания. Отношения между сеансовыми компонентами с различным типом состояния.
    • Компоненты сущности. Деловые объекты. Отображение сущностей в UML. Клиентское и серверное представление сущностных компонент. Моделирование постоянства управляемого контейнером и компонентом, абстракция. Влияние транзакций на операции сущностных компонент. Важность первичного ключа.
    • Жизненный цикл компонента CMP и BMP. Сущности и Web приложения — моделирование взаимодействия через локальные интерфейсы. Создание модели конкретного приложения с взаимодействием EJB компонент с JSF страницами. Модель фасадных компонент для сущностей, стандартные операции фасадов.
    • Моделирование Web сервисов. Архитектура Web сервисов. Моделирование интерфейсов и классов — реализаторов для Web сервисов. Взаимодействие с другими классами и EJB компонентами. Сервисы с состоянием и без состояния. Диаграммы развертывания Web сервисов и других приложений.

    Комплексный Пример моделирования приложения с использованием описанных технологий в среде Jdeveloper.

Основы языка Java. Среда программирования Oracle WorkShop (Eclipse)

Цена
Цена для организаций 42000 руб.
Цена для частных лиц 42000 руб.

Длительность курса: 40/5 часов/дней.

Аудитория: начинающие разработчики, которые будут использовать язык разработки приложений — Java.

Необходимая подготовка: начальные знания операционной системы Windows X.X, или Linux. Основы процедурного и объектно-ориентированного программирования.

Цель: дать слушателям начальные знания по основам программирования с использованием современного языка Java. Разбирается новая среда разработки приложений компании Oracle — WorkShop, в основу которой положен Eclipse.Вводятся основные концепции языка Java, структура классов, основы ООП в Java. На протяжении курса разрабатываются конкретные примеры классов, которые затем передаются слушателям на магнитных носителях.

Рекомендуемая литература: Брюс Эккель Философия JAVA, Питер.

Содержание курса:

Особенности инсталляции и общая архитектура среды разработки Oracle WorkShop. Управление перспективами и отображениями, настройка среды для решения определенных задач. Основные горячие клавиши. Использование шаблонов.

  • Основы языка Java.

    1. Почему Java? Краткий обзор Java — история. Первое простейшее приложение.
    2. Общий обзор современных сред разработки Java. Палитра компонентов, галерея объектов. Управление проектами. Терминальные приложения.
    3. Пакеты классов. Архивы. Распространение приложений. Файлы манифестов. Правила использования библиотек. Построение документации по библиотекам.
    4. Грамматика языка Java. Типы данных. Переменные. Операторы и выражения. Строки и массивы. Управляющие конструкции в языке Java-управление ходом выполнения программы.
    5. Использование UML для разработки моделей классов. Статическое и динамическое представление классов. Ассоциации.
    6. Объектно-ориентированная концепция языка Java. Введение в классы. Единое дерево иерархии. Объекты. Жизненный цикл объекта в языке Java. Сборщик мусора, проведение завершающих действий. Интерфейсы и Абстракция. Управление доступом к переменным и методам. Наследование и реализация интерфейсов. Модификаторы доступа к элементам класса. Ключевое слово final. Конструкторы и полиморфизм.
    7. Перечисления и аннотации. Разработка и использование.
    8. Обработка исключительных ситуаций. Оператор catch. Методы с ключевым словом throws. Блок try-finally- обеспечение правильного завершения. Создание собственных подклассов исключений.
    9. Обзор основных пакетов java. Классы для работы со строками (String, StringBuffer, StringTokenizer). Класс Runtime и System — получение доступа к среде выполнения. Инкапсуляция состояния объекта во время выполнения — класс Class. Построение дерева наследования классов. Класс математических функций. Класс Package.
    10. Коллекции. Списки класса List. Стеки и класс LinkedList, создание очередей. Множества Set и SortedSet. Ассоциированные списки Map (HashMap, TreeMap, SortedMap, Vector и Enumeration. Правила использования коллекций. Построение стеков и очередей.
    11. Файловый ввод/вывод, фaйловые объекты (InputStream, OutputStream). Класс File. Работа с выходным потоком с помощью надстройки FilterOutPutStream. Чтение и запись данных. Поддержка архивов jar и zip.
    12. Сериализация объектов. Сохранение и восстановление пользовательского интерфейса.
    13. Многопоточное программирование. Процессы и потоки, контексты. Приоритеты потоков и синхронизация. Класс Thread и доступ к главному потоку. Два способа создания дочернего потока — интерфейс Runnable и класс Thread. Блокировки, ожидание и уведомление, тупики. Группы потоков. Разработка конкретных приложений с использованием средств многопоточного программирования.
    14. Создание пользовательского интерфейса, используя стандартные библиотеки классов. Особенности обработки событий в Java. Модель возникновения и обработки событий. Вложенные и анонимные классы. Менеджеры компоновок. Использование классов графического интерфейса пользователя Abstract Window Toolkit(AWT), Swing , Пакет Swing для формирования пользовательского интерфейса. Работа с основными классами. Класс Table и AbstractTableModel. Создание таблиц для отображения данных. Модель данных. Другие классы для поддержки визуальных форм.
    15. Формирование собственных компонент и их инсталяция в средах разработки. Настройка палитры компонентов. Настройка проекта. Настройка использования компонентов третьих фирм. Создание собственных компонент.
    16. Поддержка Internet/Intranet коммуникаций (Socket). Пакет java.net.*, создание простейшего Web Browser. Идентификация компьютера, серверы и клиенты. Создание простейшего клиента и сервера на основе класса ServerSocket.

Основы языка Java. Среда программирования Jdeveloper 12g.

Цена
Цена для организаций 42000 руб.
Цена для частных лиц 42000 руб.

Длительность курса: 40/5 часов/дней.

В процессе обучения слушатели используют такие средства разработки как JBuilder X от Borland, JDeveloper 12g от Oracle или IntelliJIDEA, в операционных средах Windows или Linux (по согласованию). Вводятся основные концепции языка Java, структура классов, основы ООП в Java. На протяжении курса разрабатываются конкретные примеры классов, которые затем передаются слушателям на магнитных носителях. В конце курса строятся простейшие приложения для доступа к основным базам данных. Разрабатываются AWT и SWING приложения, строятся пользовательские интерфейсы. Вводятся начальные понятия распределенных вычислений с использованием стандартных серверов приложений. Разрабатываются простейшие Web приложения.

Аудитория: начинающие разработчики, которые будут использовать язык разработки приложений — Java.

Необходимая подготовка: начальные знания операционной системы Windows X.X, или Linux. Основы процедурного и объектно-ориентированного программирования.

Цель: дать слушателям начальные знания по основам программирования с использованием современного языка Java

Рекомендуемая литература: Брюс Эккель Философия JAVA, Питер.

Содержание курса

  • Основы языка Java.

     

     

     

    1. Почему Java? Краткий обзор Java — история. Первое простейшее приложение.
    2. Интегрированная среда разработки BORLAND Jbuilder, Oracle JDeveloper. Палитра компонентов, галерея объектов. Управление проектами. Терминальные приложения.
    3. Грамматика языка Java. Типы данных. Переменные. Операторы и выражения. Строки и массивы. Управляющие конструкции в языке Java-управление ходом выполнения программы.
    4. Использование UML для разработки моделей классов. Статическое и динамическое представление классов. Ассоциации.
    5. Объектно-ориентированная концепция языка Java. Введение в классы. Единое дерево иерархии. Объекты. Жизненный цикл объекта в языке Java. Сборщик мусора, проведение завершающих действий. Интерфейсы и Абстракция. Управление доступом к переменным и методам. Наследование и реализация интерфейсов. Модификаторы доступа к элементам класса. Ключевое слово final. Конструкторы и полиморфизм.
    6. Пакеты классов. Архивы. Распространение приложений. Файлы манифестов. Правила использования библиотек. Построение документации по библиотекам.
    7. Обработка исключительных ситуаций. Оператор catch. Методы с ключевым словом throws. Блок try-finally- обеспечение правильного завершения. Создание собственных подклассов исключений.
    8. Обзор основных пакетов java. Классы для работы со строками (String, StringBuffer, StringTokenizer). Класс Runtime и System — получение доступа к среде выполнения. Инкапсуляция состояния объекта во время выполнения — класс Class. Построение дерева наследования классов. Класс математических функций. Класс Package.
    9. Коллекции. Списки класса List. Стеки и класс LinkedList, создание очередей. Множества Set и SortedSet. Ассоциированные списки Map (HashMap, TreeMap, SortedMap, Vector и Enumeration. Правила использования коллекций. Построение стеков и очередей.
    10. Файловый ввод/вывод, фaйловые объекты (InputStream, OutputStream). Класс File. Работа с выходным потоком с помощью надстройки FilterOutPutStream. Чтение и запись данных. Поддержка архивов jar и zip.
    11. Сериализация объектов. Сохранение и восстановление пользовательского интерфейса.
    12. Создание пользовательского интерфейса, используя стандартные библиотеки классов. Особенности обработки событий в Java. Модель возникновения и обработки событий. Вложенные и анонимные классы. Менеджеры компоновок. Использование классов графического интерфейса пользователя Abstract Window Toolkit(AWT), Swing , JavaBeans Component Library(JBCL от Borland). Формирование собственных компонент и их инсталяция в средах разработки. Настройка палитры компонентов. Настройка проекта. Настройка использования компонентов третьих фирм. Создание собственных компонент. Jar файлы, манифесты
    13. Поддержка Internet/Intranet коммуникаций (Socket). Пакет java.net.*, создание простейшего Web Browser. Идентификация компьютера, серверы и клиенты. Создание простейшего клиента и сервера на основе класса ServerSocket.
    14. Другие классы java (Date, Calendar…).
    15. Многопоточное программирование. Процессы и потоки, контексты. Приоритеты потоков и синхронизация. Класс Thread и доступ к главному потоку. Два способа создания дочернего потока — интерфейс Runnable и класс Thread. Блокировки, ожидание и уведомление, тупики. Группы потоков. Разработка конкретных приложений с использованием средств многопоточного программирования.
    16. Пакет Swing для формирования пользовательского интерфейса. Работа с основными классами. Класс Table и AbstractTableModel. Создание таблиц для отображения данных. Модель данных. Другие классы для поддержки визуальных форм.
    17. Основы доступа к данным. Мост jdbc-odbc. Работа с DBF таблицами и другими серверами баз данных через jdbc-odbc. Выполнение операторов DDL и DML. Основные интерфейсы для доступа к данным. Создание конкретных приложений с использованием данных.
    18. Основы технологии J2EE. Архитектура сервера приложений (OC4J — iAS 9 (10g))
    19. Web взаимодействия. Конфигурирование OC4J для работы с Web приложениями. Структура WAR и EAR архивов, дескрипторы размещения и доставки. Последовательность создания Web приложения
    20. Правила построения безопасного доступа к Web приложениям. Сервис JAAS. Principals и JAZN аутентификация. Пример разработки приложения с использованием JAAS сервера. Безопасность на основе форм.
    21. Разработка Web контроллеров на основе сервлетов. Листенеры, фильтры, управление безопасностью через сервлеты. Технология программирования сервлетов, сеансы и жизненный цикл. Контекст приложения и сервлета. Отслеживание сеансов. Цикл жизни сессии. Настройка дескриптора размещения Web приложения. Использование JNDI для доступа к данным в сервлетах. Взаимодействие между сервлетами через контекст приложения. Посроение простейших JSP страниц
    22. ADF и MVC — основные понятия и правила быстрой разработки приложений. Использование визуальных средств для формирования WEB страниц. Управление ограничениями на стороне сервера приложений. Построение JSP и XML (UIX) страниц с использованием визардов Jdeveloper 12g

Язык программирования Java и введение в технологию JEE c использованием среды разработки IBM — Rational Application Developer (Eclipse)

Цена
Цена для организаций 42000 руб.
Цена для частных лиц 42000 руб.

Длительность курса: 40/5 часов/дней.

Вопрос: Как появился этот курс? Ответ: При многократном чтении курса лекций по основам языка Java, у автора сложилось мнение, что для быстрого старта в мир программирования Java и связанных с ним технологий не стоит вдаваться в подробности изучения типов данных и языковых конструкций, ООП, механизмов обработки исключительных ситуаций (хотя это очень важные моменты и автор не снимает с себя ответственности по сокращению материала , посвященному этим вопросам). Однако современному разработчику необходимо быстро приступить к созданию проекта — нужен выход "Годного".

В связи с этим возник план создать курс, в котором будут показаны те аспекты языка Java, без которых не возможно приступить к разработке приложений JEE (остальное слушатель сможет изучить самостоятельно по тем материалам, которые он получит по окончанию курса), так же в курсе будут показаны ключевые аспекты JEE спецификации — как основа быстрого старта в разработке проекта. По окончанию курса слушатели смогут самостоятельно приступить к созданию Web и EJB приложений для любых серверов приложений.

Цель курса: После окончания курса слушатели смогут самостоятельно создавать многомодульные приложения масштаба предприятия для серверf приложений IBM Web Sphere в среде разработки IBM Rational Application Developer на базе технологий Eclipse.

Категория слушателей: начинающие разработчики, которые будут использовать язык Java для разработки многозвенных и WEB приложений в архитектуре JEE для сервера IBM Web Sphere.

Необходимая подготовка: начальные знания операционной системы Windows, или Linux. Основы процедурного и объектно-ориентированного программирования.

Рекомендуемая литература: Брюс Эккель Философия JAVA, Питер. The J2EE 1.4 Tutorial, SUN

Содержание курса:

  • Почему Java? Краткий обзор Java — история. Первое простейшее приложение.
  • Сравнение интегрированных сред разработки Jdeveloper, Eclipse, Net Beanse
  • Четыре вида приложений, разрабатываемые в Java. Пакет — основа размещения классов. Сборка приложений. Манифест и дескрипторы размещения приложений. Передача приложений конечным пользователям, размещение на серверах приложений. Использование серверов для для поддержки версионности приложений. Командная строка Java для запуска приложений. Использование библиотек. Управление памятью из командной строки.
  • Скалярные и объектные типы данных. Классы и загрузчики. Оболочки и синглетоны. Перечисления и аннотации.
  • Использование UML для разработки моделей классов. Статическое и динамическое представление классов. Ассоциации. Управление доступом к переменным и методам. Наследование и реализация интерфейсов.
  • Обзор основных пакетов java. Классы для работы со строками (String, StringBuffer, StringTokenizer). Класс Runtime и System — получение доступа к среде выполнения. Управление свойствами среды выполнения Java. Коллекции. Списки класса List. Стеки и класс LinkedList, создание очередей. Множества Set и SortedSet. Ассоциированные списки Map (HashMap, TreeMap, SortedMap, Vector и Enumeration. Файловый ввод/вывод (InputStream, OutputStream и др.). Класс File. Чтение и запись данных, сериализация объектов. Сохранение и восстановление пользовательского интерфейса. Передача объектов Java по сети. Краткое введение в события Java. Модель возникновения и обработки событий. Вложенные и анонимные классы. Менеджеры компоновок. Использование классов графического интерфейса пользователя Abstract Window Toolkit(AWT), Swing . Формирование собственных компонент и их инсталяция в средах разработки.
  • Комплексный пример разработки приложения для выполнения методов класса, полученного в результате динамической компиляции и загрузки (маленький сервер приложений).
  • Основы XML. Общая нотация языка разметки. Схема документа. Управление пространством имен. DOM и SAX парсеры, использование Java классов для проверки документов. Построение схем документов с помощью средств разработки Java. Введение в JAXB. Маршалинг XML документов. Создание объектов Java на основе XML дркументов.
  • Многопоточное программирование. Процессы и потоки, контексты. Приоритеты потоков и синхронизация. Класс Thread и доступ к главному потоку. Два способа создания дочернего потока — интерфейс Runnable и класс Thread. Группы потоков. Разработка конкретных приложений с использованием средств многопоточного программирования.
  • Общая архитектура сервера приложений на примере Oracle WebLogic. Обзор сервисов. Порядок управления серверами приложений. Использование протокола RMI для управления сервером приложений. Порядок создания, сборки и отправки WEB, EJB и многомодульных приложений на сервер. Дескрипторы размещения и отправки приложений.
  • Понятие JNDI каталога. Получение доступа к службе именований. Локальные и удаленные клиенты JNDI. Размещение в JNDI каталоге констант и объектов. Локальные и глобальные контексты.
  • Основы доступа к данным. Использование пула соединений JNDI для доступа к данным. Выполнение операторов DDL и DML. Основные интерфейсы для доступа к данным. Создание конкретных приложений с использованием данных.
  • Основы Разработка Web контроллеров на основе сервлетов. Листенеры, фильтры, управление безопасностью через сервлеты. Технология программирования сервлетов, сеансы и жизненный цикл. Контекст приложения и сервлета. Отслеживание сеансов. Цикл жизни сессии. Настройка дескриптора размещения Web приложения. Использование JNDI для доступа к данным в сервлетах. Взаимодействие между сервлетами через контекст приложения. Построение простейших JSP страниц. Определение JSF технологии.
  • Введение в EJB 3. Три вида компонент. Аннотации. Взаимодействие EJB с WEB приложениями. Локальные и удаленные клиенты. Определение жизненного цикла различных EJB компонент. Дескрипторы развертывания компонент.
  • Определение SOAP протокола. Web сервисы. Создание простейших интерфейсов на основе языка WSDL. Создание клиентских мест для Web сервисов. Оркестровка сервисов с использованием языка BPEL.

Язык программирования Java и введение в технологию J2EE

Цена
Цена для организаций 42000 руб.
Цена для частных лиц 42000 руб.

Длительность курса: 40/5 часов/дней.

Цель: дать слушателям основные понятия по основам программирования с использованием современного языка Java для разработки многозвенных EJB и WEB приложений. Вводятся основные концепции языка Java с учетом использования их в архитектуре распределенных WEB приложений. Вводятся начальные понятия распределенных вычислений с использованием стандартных серверов приложений. Уделяется особое внимание архитектуре сервера приложений J2EE. Рассматриваются базовые вопросы создания WEB и EJB приложений, Web сервисов. По окончанию курса слушатели получают общую картину по разработке приложений в архитектуре J2EE — это базовый курс.

В процессе обучения слушатели используют такие средства разработки как Eclipse, JDeveloper 10g, Net Beanse, в операционных средах Linux или Windows (по согласованию).

На протяжении курса разрабатываются конкретные примеры приложений, которые затем передаются слушателям на магнитных носителях.

Аудитория: начинающие разработчики, которые будут использовать язык Java для разработки многозвенных и WEB приложений в архитектуре J2EE.

Необходимая подготовка: начальные знания операционной системы Windows, или Linux. Основы процедурного и объектно-ориентированного программирования.

Рекомендуемая литература: Брюс Эккель Философия JAVA, Питер. The J2EE 1.4 Tutorial.

Содержание курса

  • Основы языка Java.

    1. Почему Java? Краткий обзор Java — история. Первое простейшее приложение.
    2. Сравнение интегрированных сред разработки Jdeveloper, Eclipse, Net Beanse
    3. Четыре вида приложений, разрабатываемые в Java. Пакет — основа размещения классов. Сборка приложений. Манифест и дескрипторы размещения приложений. Передача приложений конечным пользователям, размещение на серверах приложений. Использование серверов для для поддержки версионности приложений. Командная строка Java для запуска приложений. Использование библиотек. Управление памятью из командной строки.
    4. Скалярные и объектные типы данных. Классы и загрузчики. Оболочки и синглетоны.
    5. Использование UML для разработки моделей классов. Статическое и динамическое представление классов. Ассоциации. Управление доступом к переменным и методам. Наследование и реализация интерфейсов.
    6. Обзор основных пакетов java. Классы для работы со строками (String, StringBuffer, StringTokenizer). Класс Runtime и System — получение доступа к среде выполнения. Управление свойствами среды выполнения Java.
    7. Коллекции. Списки класса List. Стеки и класс LinkedList, создание очередей. Множества Set и SortedSet. Ассоциированные списки Map (HashMap, TreeMap, SortedMap, Vector и Enumeration. Принципы использования коллекций.
    8. Файловый ввод/вывод, фaйловые объекты (InputStream, OutputStream и др.). Класс File. Работа с выходным потоком с помощью надстройки FilterOutputStream. Чтение и запись данных. Работа с файлами .properties.
    9. Основы XML. Общая нотация языка разметки. Схема документа. Управление пространством имен. DOM и SAX парсеры, использование Java классов для проверки документов. Построение схем документов с помощью средств разработки Java. Введение в JAXB. Маршалинг XML документов. Создание объектов Java на основе XML дркументов.
    10. Сериализация объектов. Сохранение и восстановление пользовательского интерфейса. Передача объектов Java по сети.
    11. Краткое введение в события Java. Модель возникновения и обработки событий. Вложенные и анонимные классы. Менеджеры компоновок. Использование классов графического интерфейса пользователя Abstract Window Toolkit(AWT), Swing . Формирование собственных компонент и их инсталяция в средах разработки.
    12. Поддержка Internet/Intranet коммуникаций (Socket). Пакет java.net.*, создание простейшего Web Browser. Идентификация компьютера, серверы и клиенты. Создание простейшего клиента и сервера на основе класса ServerSocket.
    13. Многопоточное программирование. Процессы и потоки, контексты. Приоритеты потоков и синхронизация. Класс Thread и доступ к главному потоку. Два способа создания дочернего потока — интерфейс Runnable и класс Thread. Группы потоков. Разработка конкретных приложений с использованием средств многопоточного программирования.
    14. Общая архитектура сервера приложений, основанная на потоках. Обзор сервисов. Порядок управления серверами приложений. Использование протокола RMI для управления сервером приложений. Порядок создания, сборки и отправки WEB и EJB приложений на сервер. Дескрипторы размещения и отправки приложений.
    15. Понятие JNDI каталога. Получение доступа к службе именований. Локальные и удаленные клиенты. Размещение в JNDI каталоге констант и объектов. Локальные и глобальные контексты.
    16. Основы доступа к данным. Использование пула соединений JNDI для доступа к данным. Выполнение операторов DDL и DML. Основные интерфейсы для доступа к данным. Создание конкретных приложений с использованием данных.
    17. Основы Разработка Web контроллеров на основе сервлетов. Листенеры, фильтры, управление безопасностью через сервлеты. Технология программирования сервлетов, сеансы и жизненный цикл. Контекст приложения и сервлета. Отслеживание сеансов. Цикл жизни сессии. Настройка дескриптора размещения Web приложения. Использование JNDI для доступа к данным в сервлетах. Взаимодействие между сервлетами через контекст приложения. Посроение простейших JSP страниц
    18. Введение в EJB 3. Три вида компонент. Аннотации. Взаимодействие EJB с WEB приложениями.
    19. Определение SOAP протокола. Web сервисы. Оркестровка сервисов с использованием языка BPEL.

Java и Oracle. Разработка клиент-серверных приложений

Цена
Цена для организаций 42000 руб.
Цена для частных лиц 42000 руб.

Длительность курса: 40/5 часов/дней.

Аудитория: разработчики Oracle, переводящие свои приложения на Java платформу, или мигрирующие из плоских таблиц в базу данных Oracle.

Необходимая подготовка: начальные знания Oracle SQL и PL/SQL. Основы объектно-ориентированного программирования на Java

Цель: дать слушателям основы разработки клиент-серверных приложений и приложений для среднего звена. Показать расширение возможностей Oracle PL/SQL с помощью Java классов. В процессе работы строятся простейшие приложения для доступа к Oracle данным. Рассматриваются стандарты JDBC2 и 3. Разрабатываются приложения для переноса данных из плоских таблиц или других серверов, в Oracle. Рассматриваются особенные типы данных Oracle такие как REF, BLOB, CLOB, XMLType, Много внимания уделяется объектной опции Oracle и взаимодействию с ней из Java. Java в базе данных Oracle и характерные особенности JVM.

Рекомендуемая литература: Пол Дж. Перроун Создание корпоративных систем на основе Java 2 Enterprise Edition. Вильямс

  1. Общая архитектура доступа к данным. ODBC и JDBC. Сравнение различных драйверов. URL базы данных. Три способа соединения с данными Oracle из Java — обзор. Совместимость Oracle JDBC драйверов. Конфигурация JDBC драйвера и его настройка.
  2. Интерфейс Connection, Statement, ResultSet, MetaDataResultSet и другие, для обеспечения доступа к данным (архитектура). Последовательность соединения с данными Oracle. Отображение типов данных Oracle на java.sql. Потоковые типы данных. Использование интерфейсов для извлечения данных
  3. Выполнение хранимых процедур на сервере. Интерфейс CallableStatement. Получение наборов данных на сторону клиента через параметры и возвращаемые значения функций.
  4. Обработка исключительных ситуаций на стороне клиента. Класс java.sql.SqlException. Извлечение серверной информации об ошибке на стороне клиента.
  5. Поддержка стандарта JDBC 2. Наборы результатов, поддерживающие расширенные средства просмотра. Перебор результатов в наборе. Обновляемые наборы результатов, правила создания. Выполнение DML операций с обновляемыми наборами данных. Поддержка транзакций. Пакетные изменения и поддержка транзакций.
  6. Поддержка стандарта JDBC 3. XA пакет Oracle и распределенные транзакции. Класс oracle.jdbc.OracleSavepoint. Расширенные возмозности Oracle. Возможность использование Oracle типов данных — Объектные типы данных, ROWID, REF CURSOR.
  7. Разработка примеров для работы с потоковыми типами данных (BLOB, CLOB, BFILE), с объектными типами данных, с ссылочными типами и коллекциями.
  8. Общая архитектура OC4J сервера, входящего в состав Oracle iAS. JNDI и именование базы данных. Пул соединений и кеширование соединений. Доступ к пулу соединений из клиентских приложений через протокол ormi.
  9. Разработка полноценного серверного приложения для БД Oracle с использованием средств Java и PL/SQL.
  10. Разработка клиентского приложения с обработкой данных на клиентской стороне. Кеширование изменений. Пессимистическое и оптимистическое изменение данных. Разработка компонент на основе класса AbstractTableModel для изменения данных и их отображения . Использование готовых компонент JBuilder (Borland) для редактирования данных. Использование Бизнес Компонент JDeveloper (Oracle) для быстрой разработки клиентского приложения.
  11. Построение аплетов с доступом к Oracle базе данных. Инсталяция Oracle драйвера на стороне клиента.. Безопасность доступа к Oracle из Java аплетов. Использование шлюзов для обеспечения доступа к данным из аплетов — CMAN (Утилита Oracle Connection Manager).
  12. Сервлеты и Jserv модуль сервера Apache. Настройка точек монтирования и зон. Управление передачей параметров в сервлеты. Разработка сервлетов с использованием JDBC драйвера Oracle. Цикл жизни сервлета. Прослеживание сеансов. Разработка JSP. Теги JSP. Визуальные средства для быстрой разработки страниц. JSP и база данных Oracle — взаимодействие. Разработка сервлетов — контроллеров для реализации режима программной аутентификации
  13. Виртульная Java машина в базе данных Oracle. Что в имени класса? Пакеты Oracle Pl/SQL для работы с Java машиной. Resolver. Предоставление прав пользователям Oracle для работы с Java.
  14. Использование утилиты JavaLoader для загрузки Java классов в базу данных Oracle. Jdeveloper и автоматизация управления Java классами в Oracle. Процедуры — оболочки для вызова java из PL/SQL. Вызов PL/SQL из Java.
  15. Расширение возможностей PL/SQL. Построение Java приложений для разбора текстовых файлов — аналог TABLE ORGANIZATION EXTERNAL. Разработка репликаций на основе Java классов — доступ к другим (не Oracle ) серверам из Oracle. Примеры взаимодействия с DBF (FOX, CLIPPER) таблицами.
  16. Генерация Word и Excel документов средствами Java из базы данных Oracle. Инсталляция пакетов и создание java классов для доступа к серверам автоматизации.

Разработка распределенных приложений с использованием EJB 3

Цена
Цена для организаций 35000 руб.
Цена для частных лиц 35000 руб.

Длительность курса: 32/4 часов/дней.

Цель курса: Как Java кардинально изменила наши представления о разработке программного обеспечения, так же технология EJB изменила представления о разработке надежных и масштабируемых корпоративных систем. Курс покажет общую архитектуру EJB, принципы построение систем с использованием этой технологии. Будут рассмотрены модели компонентов, мониторы компонентных транзакций. Будет дано определение EJB и архитектура распределенных объектов. Различия в стандартах EJB 1.1, 2.0, 3.0 Соглашения между компонентом и контейнером. Удаленный и локальный пользовательские интерфейсы. Три типа EJB компонент. Особенности размещения EJB на OC4j и других серверах. Конфигурация дескрипторов размещения и обеспечение безопасного доступа к EJB компонентам. Основы постоянства. Транзакции в распределенных системах. Построение Web приложений с использованием компонент EJB

Категория слушателей: Профессиональные разработчики Java, аналитики, руководители проектов, желающие переводить свои приложения в многозвенную архитектуру.

Начальная подготовка: знание языка Java, SQL, работа с серверами приложений. (курсы JV_0, JV_1, JV_2)

Содержание курса:

  • Необходимость использования мониторов компонентных транзакций. История развития CTM. Стандарты и спецификации EJB.
  • Краткое введение в протокол RMI. Реализация протокола различными разработчиками серверов приложений. Доступ к JNDI посредством RMI.
  • Стандарт EJB 2.X — краткий экскурс в историю
  • Постоянство, управляемое контейнером. Разработка CMP компонент. Первичный ключ и установка связи с ресурсом. Поисковые методы и методы выборки. Краткое введение в язык EJBQL. Дескриптор развертывания CMP EJB компоненты и описание EJBQL.
  • Постоянство, управляемое компонентой. Разработка BMP компонента. Реализация методов выборки и изменения данных. BMP и доступ к сложным структурам данных. Методы обратного вызова. Дескриптор развертывания для BMP компонента.
  • Использование UML для визуальной разработки сущностных компонент. Реинжиниринг схемы базы данных.
  • Стандарт EJB 3.
  • Общая архитектура EJB 3. Аннотации метаданных и дескрипторов доставки. Переносимость и миграция между спецификациями 2 и 3. Два типа компонент — Сессионные и Управляемые событиями. Сущностные бины.
  • Порядок сборки, упаковки и отправки на сервер приложений модулей с EJB3 компонентами. Аннотации вместо файла ejb-jar.xml. Конфигурация приложения на конкретном сервере приложений с помощью аннотаций сервера приложений
  • Клиенты для сессионных компонент (локальные , удаленные, Web сервисы). Создание удаленного клиента на основе SWING приложения для выполнения методов компонент с использованием rmi протокола.Управление сессионным состоянием. Цикл жизни сессионных компонент. Аннотации, методы для управления циклом жизни. Методы управления доступом к компонентам. Распределение ролей для выполнения различных методов. Методы и классы Interceptor, аннотация @@AroundInvoke.
  • Доступ к ресурсам приложения и сервера. TimerService. Создание компоненты для выполнения действий по расписанию. Управление пассивацией в сессионных компонентах с состоянием.
  • Особенности конфигурации опций доставки компонент в контейнер OC4j. Аннотация @StatefulDeployment и @StatelessDeployment
  • Сущностные EJB3
  • Создание простейшего сущностного компонента на основе таблицы в базе данных. Конфигурация первичного ключа. Аннотация @Id, @SequenceGenerator, @TableGenerator. Композиционный первичный ключ. Аннотация @Embeddable и @EmbeddedId. Отображение композиционного первичного ключа на сущностный класс — аннотация @IdClass.
  • Конфигурация метаданных по таблицам и колонкам — аннотации @Table, @SecondaryTable. @Column. Связанные колонки — @JoinColumn. Использование различных отношений между колонками. Конфигурация базового отображения примитивных типов данных в таблицах Oracle — @Basic. Конфигурация больших объектов — @ Lob. Конфигурация поля Version для производства оптимистической блокировки записи.
  • Определение методов жизненного цикла сущностной компоненты — @Pre… и @Post… аннотации. Ассоциация листенера и сущностного класса.
  • Конфигурация наследования в сущностных компонентах.
  • Язык запросов EJBQL. Использование аннотаций для создания именованных запросов -@NamedQuery. Использование параметров в запросах. Создание динамических запросов — javax.management.Query.
  • Компоненты, управляемые сообщениями (MDB)
  • Жизненный цикл компоненты, конфигурирование компоненты для J2CA провайдера. Управление доступом к J2CA провайдеру OC4J
  • Аннотация @MessageDriven. Параллельные сообщения. Конфигурация жизненного цикла и InterCeptor метода.
  • Использование Facade-session компонент для доступа к локальным интерфейсам сущностных компонент. Фасадные компоненты и ADF DataControl. Быстрая разработка приложений с использованием JSP DataBinding
  • Разработка полноценного WEB приложения для редактирования таблиц и осуществления навигации с использованием сущностных и сессионных компонент. Создание Бизнес компонент на основе EJB компонент. TopLink и EJB компоненты.
  • Примеры разработки аплетов, сервлетов и JSP с использованием EJB компонент. Средство разработки Jdeveloper для автоматизации процесса разработки. Struts-based JSP на основе бизнес компонент.