====== Tests and Education Themes ====== ===== Tests ===== [[http://habrahabr.ru/post/196152/|Сказ о Selenium тестировании]] [[http://habrahabr.ru/post/162417/|Простое написание тестов — это не TDD!]] [[http://habrahabr.ru/company/etnasoft/blog/169381/|Юнит-тестирование для чайников]] [[http://www.examlab.tk/|Simulate your SCJP/OCJP before you take it]] [[http://www.stanford.edu/class/cs106a/|Stanford cs106a Programming methodology]] ===== Themes ===== ==== Разработка на платформе Java SE 7. Базовые темы ==== [[http://www.luxoft-training.ru/kurs/razrabotka_na_platforme_java_se_7_bazovye_temy.html?ID_TIME=44477]] Описание: В процессе обучения слушатели получат базовые знания и навыки, которые позволят им заниматься разработкой на платформе Java SE 7. Данный курс ориентирован на проработку необходимых для начала разработки на Java знаний и навыков – от основ UML до реализации ООП в Java. Курс сфокусирован на основах синтаксиса и ключевых ООП-практиках. Расширенные вопросы платформы Java покрываются связанным курсом «JVA-008 Разработка на платформе Java SE7. Расширенные темы». Цели: После завершения обучения слушатели разберутся с: Задачами платформы Java SE; Понятиями JDK, JRE, JVM; Основами ООП; Основами UML; Структурой Java-приложений: классами, свойствами, методами; Примитивными типами языка Java; Ключевыми операторами языка Java; Реализацией ООП в Java: наследованием, полиморфизмом, делегированием; Понятиями класса, абстрактного класса и интерфейса; Вложенными классами (inner classes); Исключениями. После завершения обучения слушатели смогут: Формировать Java Doc-документацию; Читать базовые типы UML-диаграмм; Разрабатывать и запускать Java-приложения; Использовать в приложениях примитивные и объектные типы; Использовать в приложениях ключевые операторы языка; Использовать в приложениях абстрактные классы и интерфейсы; Применять при проектировании приложений ключевые принципы проектирования и шаблоны проектирования (design patterns); Использовать в приложениях assertions; Использовать в приложениях вложенные классы; Использовать в приложениях механизм исключений. Разбираемые темы: Введение в платформу Java История создания; Задачи платформы; Понятие платформы; Версионность; Направления; Обзор JDK; Процесс разработки и запуска; Использование комментариев. Основы объектно-ориентированного программирования Парадигмы программирования; Классы и объекты; Наследование; Полиморфизм; Видимость. Введение в UML Задачи UML; Типы диаграмм; Диаграммы классов; Диаграммы состояний; Диаграммы последовательности; Краткий обзор остальных типов диаграмм. Структура приложений на Java Описание класса; Понятие Java-приложения; Работа с экземпляром класса; Иллюстрация; Понятие classpath; Практика; Пакеты; Java-архивы; Практика; Модификация Java-приложения из двух классов; Разбиение классов по пакетам; Архивация одного пакета; Запуск. Примитивные типы, операторы, управление потоком выполнения Где используются базовые типы; Декларация переменных и их инициализация; Примитивные типы; Базовые типы; Операторы в Java; Ветвления; Циклы; Параметры методов. Реализация ООП в Java Перегрузка методов; Наследование; Полиморфизм; Модификатор final; Конструкторы; Перечисления (enums); Статический контекст; Абстракции; Принципы проектирования; Параметризуемые классы (generics). Расширенные вопросы синтаксиса Java Assertions; Вложенные классы; Вопросы совместимости с предыдущими версиями платформы. Исключения Концепция обработки исключений; Блок try-catch-finally; Типы исключений; Выброс исключения из метода; Прием "rethrow". Целевая аудитория: Курс ориентирован на младших разработчиков на платформе Java SE 7 (java junior developers). К ним можно отнести текущих разработчиков на других языках и платформах, не имеющих опыта разработки на Java. Сертификат: По итогам обучения каждому слушателю выдается сертификат о прохождении курсов Luxoft Training. Слушатели онлайн курсов получают электронную версию сертификата (на указанный email) по запросу. Предварительная подготовка – общее: Опыт разработки на императивных языках программирования. Связанные курсы: DEV-001 – Шаблоны проектирования (GoF) , 24 час. , 26.11.2013-28.11.2013 (Одесса), 16.12.2013-18.12.2013 (Москва) DEV-012 – Сборщик проектов Ant , 8 час. , 23.11.2013 (Одесса) JVA-008 – Разработка на платформе Java SE 7. Расширенные темы , 40 час. , 23.12.2013-30.12.2013 (Москва) JVA-012 – Обзор JAVA-технологий разработки ПО JVA-016 – Введение в Apache Maven ==== Разработка на платформе Java SE 7. Расширенные темы ==== [[http://www.luxoft-training.ru/kurs/razrabotka_na_platforme_java_se_7_rasshirennye_temy.html?ID_TIME=44479]] Описание: В данном курсе слушатели получат расширенные знания и навыки, которые позволят им заниматься разработкой на платформе Java SE 7. Курс включает в себя описание ключевых классов системной библиотеки, а также основы правильного проектирования приложений. Это позволяет слушателям выступить не только в роли кодировщиков, но и в роли проектировщиков приложений. Базовые вопросы платформы Java покрываются связанным курсом «JVA-007 Разработка на платформе Java SE 7. Базовые темы». Цели: После завершения обучения слушатели разберутся с: ключевыми классами системной библиотеки; библиотекой ввода-вывода; работой с потоками выполнения (threads); классами коллекций; основами технологии JavaBeans; основами разработки графического пользовательского интерфейса; механизмом Reflection; парадигмой AOP и механизмом аннотаций в языке Java; подсистемой журналирования; основами мониторинга и администрирования JVM; основами поддержки скриптовых языков в платформе Java SE 7. После завершения обучения слушатели смогут: использовать в приложениях ключевые классы системной библиотеки: System, Math, Object, строки, обертки (wrappers); работать с вводом-выводом из приложений; управлять в приложениях потоками (threads); работать со стандартными классами коллекций; использовать компонентную модель Java Beans; разрабатывать простой графический интерфейс приложения с использованием библиотеки Swing; использовать механизм Reflection; использовать в приложениях аннотации; использовать в приложениях стандартную библиотеку журналирования; реализовать мониторинг и настройку JVM; использовать при разработке приложений скриптовые языки, например Java Script. Разбираемые темы: Ключевые классы системной библиотеки System; Math; Object; Строки; Обертки поверх примитивов; Работа с регулярными выражениями; Properties. Ввод-вывод Библиотека классов ввода-вывода; Сетевое взаимодействие; Форматирование вывода. Потоки Понятие потока; Управление потоком; Критические секции; Управление потоком в критической секции; Библиотека примитивов синхронизации java.util.concurrent. Коллекции Обзор collection API; Коллекции; Множества (set); Отображения (map); Сравнение различных структур данных на предмет применимости в различных ситуациях; Механизм сравнения элементов коллекций; Коллекции синхронизированные и несинхронизированные. Введение в стандарт Java Beans Спецификация Java Beans; Понятие компонента; Понятие контейнера; Правила разработки JavaBeans; Механизм обработки событий; Мета-информация компонентов; Использование JavaBeans в других стандартах и каркасах. Введение в разработку GUI Обзор библиотек; Сравнение библиотек; Введение в Swing; Ключевые компоненты Swing; Обработка событий в Swing. Механизм Reflection Аннотации Введение в AOP; Задачи аннотаций; Стандартные аннотации; Создание собственных аннотаций. Система журналирования Администрирование JVM Выделение памяти; Алгоритмы gc; Мониторинг JVM. Поддержка скриптовых языков в Java 7 Целевая аудитория: Курс ориентирован на будущих старших разработчиков на платформе Java SE 7 (java senior developers). К ним можно отнести текущих разработчиков на других языках и платформах, не имеющих опыта разработки на Java, а так же текущих java-кодировщиков (java junior developers and coders). Сертификат: По итогам обучения каждому слушателю выдается сертификат о прохождении курсов Luxoft Training. Слушатели онлайн курсов получают электронную версию сертификата (на указанный email) по запросу. Предварительная подготовка – общее: Опыт разработки на Java SE 7 Связанные курсы: JVA-001 – Взаимодействие с СУБД из java-приложений посредством технологии JDBC v3 JVA-007 – Разработка на платформе Java SE 7. Базовые темы , 40 час. , 09.12.2013-13.12.2013 (Москва), 05.03.2014-12.03.2014 (Одесса) JVA-009 – Разработка бизнес-приложений на базе технологии EJB3 , 40 час. , 20.01.2014-24.01.2014 (Москва) JVA-010 – Владение каркасом разработки Spring Framework JVA-011 – Владение каркасом модульного тестирования JUnit JVA-018 – Разработка бизнес-приложений на базе JPA 2.0 ==== Разработка бизнес-приложений на базе технологии EJB3 ==== [[http://www.luxoft-training.ru/kurs/razrabotka_biznes-prilogeniy_na_baze_tehnologii_ejb3.html?ID_TIME=44638#tab-info-link]] Описание: В данном курсе слушатели узнают о технологии распределенных вычислений с использованием спецификации Enterprise JavaBeans 3.0 (EJB3). Рассматриваются типы бинов – сессионные с поддержкой и без поддержки состояния, обработчики JMS-сообщений. Особое внимание уделено сохраняемым сущностям (entities) и технологии JPA. Курс также включает вопросы по развертыванию компонент, контекстам транзакций и безопасности в EJB. Слушатели ознакомятся с использованием службы сообщений Java Message Service (JMS) и научатся разрабатывать клиентов службы сообщений. В дополнение рассматривается использование консоли сервера приложений для развертывания и мониторинга EJB-компонент. Обращаем внимание, что курс построен на сервере Oracle Weblogic. Цели: После завершения обучения слушатели смогут: Представлять жизненный цикл EJB Разрабатывать сессионные (session) EJB Разрабатывать сущностные (entity) EJB Разрабатывать message-driven EJB Понимать суть и предназначение локальных и удаленных интерфейсов EJB Понимать механизм Container-Managed Persistence (CMP) Понимать механизм транзакций в EJB Конфигурировать безопасность EJB Понимать базовые концепции JMS (Java Messaging Service) Разбираемые темы: 1. Обзор платформы Java EE Понятие платформы Контейнер Понятие Java EE -приложения Обзор основных сервисов Типы Java EE -приложений Роли разработки в Java EE Основы администрирования JavaEE -контейнера Понятие развертывания 2. Архитектура EJB Задачи Типы Структура компонентов Вызов EJB Сборка EJB-приложения Развертывание EJB-приложения 3. Session EJBs Задачи сессионных EJB Разработка Stateless Session EJBs Разработка Stateful Session EJBs Перехватчики Афиширование как веб-сервис 4. Исключения в технологии EJB Задачи System Exсeptions Application Exсeptions 5. Среда и ресурсы EJB-приложения Environment entries Resource References EJB References 6. Безопасность в технологии EJB Основные понятия сервиса безопасности Декларативная и процедурная авторизация в EJB-приложениях 7. Транзакции в технологии EJB Понятие и архитектура транзакций BMT CMT 8. Локальные интерфейсы Задачи локальных интерфейсов Реализация Факторы выбора между локальными и удаленными интерфейсами Отличия при использовании локальных интерфейсов 9. Entities Java Persistence API Архитектура Entities Транзакции в Entities Сохранение иерархий классов Сохранение связей EJB-QL Обработчики (listeners) 10. MDB Введение в JMS API Message-driven beans 11. Расширенные темы EJB Timers EJB Best Practices RMI Настройка производительности EJB Кластеризация J2CA 12. EJB как веб-сервисы Целевая аудитория: Индивидуальные разработчики, cформировавшиеся команды разработчиков Предварительная подготовка – общее: • Знание Java5. • Знакомство с разработкой веб-приложений на базе JavaEE: технологий JSP и Servlets. • Знакомство с технологией JDBC и её серверных расширений. • Знакомство с ключевыми технологиями веб-сервисов: SOAP, WSDL. Связанные курсы: DEV-001 – Шаблоны проектирования (GoF) , 24 час. , 26.11.2013-28.11.2013 (Одесса), 16.12.2013-18.12.2013 (Москва) ==== Шаблоны проектирования (GoF) ==== [[http://www.luxoft-training.ru/kurs/shablony_proektirovaniya_gof.html?ID_TIME=44478]] Описание: Паттерны (patterns, шаблоны) представляют собой консистенцию некоего опыта, пригодную для повторного использования. Паттерны находят применение во всех областях деятельности, поскольку позволяют использовать сработавшие ранее решения. Знание паттернов проектирования позволяет не только быстрее строить Ваши решения и получать качественный исходный код, но и проще общаться с Вашими коллегами, которые уже освоили данную технологию. В курсе рассматриваются базовые 23 паттерна, изложенные в книге "Design Patterns: Elements of Reusable Object-Oriented Software" by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides (Gang of Four, GoF). Цели: После завершения обучения слушатели смогут: Описать понятие паттернов и принципы их использования. Описать проблемы и преимущества проектирования на базе повторного использования кода. Использовать терминологию паттернов в обсуждении, проектировании и разработке. Разрабатывать приложение на базе паттернов. Понимать и использовать паттерны уровня приложения. Разбираемые темы: Модуль 1: Введение Авторы, Литература ООП, UML, LePUS3 Принципы ОО дизайна Каталог шаблонов GoF Модуль 2: Factory Method, Abstract Factory, Adapter, Composite, Decorator, Observer, Strategy Модуль 3: Template method, Bridge, Chain of Responsibility, Prototype, Façade, Mediator, Flyweight Модуль 4: Command, Proxy, Interpreter, Iterator, State, Memento, Visitor, Singleton Целевая аудитория: Разработчики Технические лидеры Сертификат: По итогам обучения каждому слушателю выдается сертификат о прохождении курсов Luxoft Training. Слушатели онлайн курсов получают электронную версию сертификата (на указанный email) по запросу. Предварительная подготовка – общее: Знание принципов объектно-ориентированного программирования. Опыт работы с объектно-ориентированными языками от 1 года. Желательно: знакомство с Java, UML Связанные курсы: ARC-004 – Шаблоны проектирования приложений масштаба предприятия , 24 час. , 03.02.2014-07.02.2014 (Санкт-Петербург) ARC-008 – Основы высокопроизводительных систем , 24 час. , 17.02.2014-19.02.2014 (Москва) ==== Взаимодействие с СУБД из java-приложений посредством технологии JDBC v3 ==== [[http://www.luxoft-training.ru/kurs/vzaimodeystvie_s_subd_iz_java-prilogeniy_posredstvom_tehnologii_jdbc_v3.html]] Описание: Данный курс готовит слушателей к использованию JDBC API, интерфейса доступа к СУБД в Java-приложениях. Слушатели изучат, как применять JDBC API для доступа к реляционным базам данных, для выполнения SQL-операторов и запросов, использования транзакций, подготовленных операторов, хранимых процедур, метаданных для осуществления манипуляций в базе данных. Слушатели применят полученные знания для создания консольного клиент-приложения. Отдельным модулем охватываются вопросы использования расширений JDBC на платформе J2EE, при охвате этих тем слушатели пройдут практику создания веб-клиента к БД. Цели: После завершения обучения слушатели разберутся с: архитектурой JDBC API основными классами и интерфейсами JDBC API типами JDBC-драйверов механизмом соединения с СУБД посылкой SQL-запросов к СУБД анализом выборок от СУБД модифицируемыми выборками выборками с произвольным доступом групповыми модификациями механизмом обработки исключительных ситуаций в JDBC API метаданными СУБД транзакциями в JDBC API понятием JDBC-сервиса в J2EE-контейнере понятием пулов соединений распределенными транзакциями После завершения обучения слушатели смогут: разрабатывать приложения-клиенты к СУБД на платформах J2SE и J2EE использовать механизмы транзакций – локальных и распределенных работать в приложениях с выборками – обычными, модифицируемыми и с произвольным доступом использовать групповую модификацию данных в приложениях-клиентах СУБД использовать метаданные для построения более гибких приложений-клиентов СУБД корректно обрабатывать возникающие ошибки использовать механизмы пулов соединений Разбираемые темы: 1) Архитектура JDBC Схемы взаимодействия с СУБД Структура JDBC-программы Типы JDBC-драйверов 2) Взаимодействие с СУБД посредством JDBC API SQL-запросы к СУБД Обработка данных из БД, выборки Выборки с произвольным доступом Модифицируемые выборки Обработка ошибок 3) Транзакции в JDBC API Понятие транзакции Конкурентный доступ к данным Использование транзакций в JDBC API 4) Дополнительные возможности JDBC API Метаданные Групповая модификация данных Вопросы типизации 5) J2EE-расширения JDBC API (дополнительные темы) Суть расширений для J2EE DataSources и пулы соединений Распределенные транзакции Целевая аудитория: J2SE- и J2EE-разработчики приложений, взаимодействующих с базами данных. Сертификат: По итогам обучения каждому слушателю выдается сертификат о прохождении курсов Luxoft Training. Слушатели онлайн курсов получают электронную версию сертификата (на указанный email) по запросу. Предварительная подготовка – общее: Слушатели должны знать язык Java, иметь опыт разработки приложений на платформе J2SE. Необходимо знать стандарт SQL, представлять устройство и иметь опыт работы с РСУБД. Желательно иметь представление о специфике современных СУБД – хранимых процедурах, триггерах. Желателен опыт разработки веб-приложений на платформе J2EE, знание спецификаций Servlets/JSP и JNDI. ==== Владение каркасом разработки Spring Framework ==== [[http://www.luxoft-training.ru/kurs/vladenie_karkasom_razrabotki_spring_framework.html]] Описание: Данный курс даст слушателям представление о Spring Framework. Слушатели узнают об основных модулях этого фреймворка и вариантах их использования. Также в курсе рассматривается использование Spring framework совместно с другими технологиями. Владение разработчиком данным фреймворком является признаком его высокого профессионального уровня и готовности к участию в проектах по разработке сложных многослойных приложений. Цели: Дать возможность слушателям начать практическое применение Spring Framework для решения типовых задач, возникающих в ходе разработки, рассмотреть вопросы интеграции с Enterprise Edition технологиями. Дать слушателям представление о спектре продуктов, выпускаемых под брендом Spring и не входящих в Spring Framework. Разбираемые темы: 1. Основы Spring Framework Введение в Spring Framework Архитектура каркаса Компонентная модель Spring 2. AOP в Spring Основные понятия Типы advice’ов Особенности Spring AOP Пример использования AspectJ style Практика: использование AspectJ style 3. Доступ к данным в Spring Интеграция Spring с JNDI Основные положения. Шаблон DAO Поддержка JDBC в Spring Поддержка ORM в Spring Управление транзакциями в Spring 4. Spring MVC Шаблон MVC Введение в Spring Web MVC Контроллеры Представления Локализация/Интернационализация Темы Библиотека тегов Spring Поддержка Multipart Неявная настройка Аннотации Практика: Разработка простейшего приложения с использованием Spring MVC, Локализация, Темы оформления, Исключения 5. Интеграция Spring с другими технологиями Планировщик задач (job scheduling) Использование JMS Использование EJB Целевая аудитория: Java–разработчики с опытом работы от года Сертификат: По итогам обучения каждому слушателю выдается сертификат о прохождении курсов Luxoft Training. Слушатели онлайн курсов получают электронную версию сертификата (на указанный email) по запросу. Предварительная подготовка – общее: Опыт работы с Java SE 5/6 Владение сборщиком проектов Ant Обязательное знание следующих технологий: JNDI JDBC Servlet / JSP / JSTL Шаблоны проектирования: Proxy, Command, Decorator, Template Method, MVC Желательно знакомство со следующими технологиями: JMS EJB Связанные курсы: JVA-013 – Владение каркасом разработки Spring Security Рекомендуемые дополнительные материалы, источники: blog.springsource.com ==== Владение каркасом модульного тестирования JUnit ==== [[http://www.luxoft-training.ru/kurs/vladenie_karkasom_modulnogo_testirovaniya_junit.html]] Описание: В процессе обучения рассматриваются теоретические основы модульного тестирования и реализация каркаса JUnit. В рамках данного курса также рассматриваются базовые паттерны проектирования в контексте фреймворка JUnit. Практические занятия включают в себя разработку модульных тестов и различных техник использования фреймворка для проведения модульного тестирования. Цели: После завершения обучения слушатели разберутся с: методологией модульного тестирования, устройством каркаса JUnit, вопросами тестирования в рамках интегрированной среды разработки. После завершения обучения слушатели смогут: использовать каркас JUnit для модульного тестирования своих продуктов, использовать JUnit отдельно и в составе среды разработки, а также совместно со сборщиком Ant. Разбираемые темы: 1. Методология тестирования Виды тестирования Модульное тестирование 2. Каркас JUnit Пакеты каркаса и основные классы Основные этапы разработки модульных тестов Простые тесты Запуск тестирования Наборы тестов Расширенные вопросы 3. Интеграция тестирования в среды разработки Использование ANT Eclipse Целевая аудитория: Junior, Standard developers Сертификат: По итогам обучения каждому слушателю выдается сертификат о прохождении курсов Luxoft Training. Слушатели онлайн курсов получают электронную версию сертификата (на указанный email) по запросу. Предварительная подготовка – общее: Необходимо иметь опыт разработки на платформе Java, общее представление о шаблонах разработки (design patterns) и уметь читать UML-диаграммы. Связанные курсы: DEV-001 – Шаблоны проектирования (GoF) , 24 час. , 26.11.2013-28.11.2013 (Одесса), 16.12.2013-18.12.2013 (Москва) DEV-012 – Сборщик проектов Ant , 8 час. , 23.11.2013 (Одесса) ==== Разработка бизнес-приложений на базе JPA 2.0 ==== [[http://www.luxoft-training.ru/kurs/razrabotka_biznes-prilogeniy_na_baze_jpa_20.html]] Описание: Курс о разработке бизнес приложений с использованием JPA 2.0. Цели: После завершения курса слушатели разберутся: С жизненным циклом классов-сущностей С моделированием отношений сущностей С языком запросов JP Query language и Criteria API C использованием JPA в автономных и контейнерных приложениях Разбираемые темы: Модуль 1 – Обзор Java Persistence API Основы объектно-реляционного отображения (Object Relational Mapping (ORM)) Основные понятия Java Persistence API (сущность (entity), менеджер сущности, и единица персистентности (persistence unit)) Модуль 2 – Знакомство с примитивным JPA приложением Модуль 3 – Сущности Java Persistence API Различия между объектами и сущностями Различия между персистентными полями и свойствами Общие аннотации Java Persistence API: @Entity, @Id, @Table, и @Column Модуль 4 – Менеджер сущности Отношения между менеджером сущности, контекстом персистентности и единицей персистентности Различия между менеджером сущности, управляемым через контейнер и менеджером сущности, управляемым через приложение Жизненный цикл сущности Модуль 5 – Моделирование отношений сущностей Ассоциативные отношения в моделях данных и объектных моделях Использование свойств взаимоотношений для определения ассоциаций Реализация однонаправленных ассоциаций «один к одному» Реализация двунаправленных ассоциаций «один к одному» Реализация двунаправленных ассоциаций «многие к одному» / «один ко многим» Реализация двунаправленных ассоциаций «многие ко многим» Реализация однонаправленных ассоциаций «многие ко многим» Установки режимов fetch и cascade Модуль 6 – Наследование сущностей и объектно-реляционное отображение Наследование сущностей Стратегии объектно-реляционного отображения иерархии наследования Наследование от класса сущности Наследование с использованием соответствующего родительского класса Наследование от класса не-сущностей Стратегии отображения наследования Использование вложенного класса Модуль 7 – Персистентные Enums и коллекции Персистентные сущности, содержащие enums с @Enumerated Персистентные сущности, содержащие списки с @ElementCollection Персистентные сущности, содержащие отображения с @ElementCollection Модуль 8 – Введение в запросы Нахождение сущности по ее первичному ключу Основные запросы Java Persistence API Query Language Собственно SQL запросы Основные запросы Criteria API Модуль 9 – Использование Java Persistence API Query Language Java Persistence API Query Language Создание и использование предложения SELECT Создание и использование предложения UPDATE Создание и использование предложения DELETE Модуль 10 – Использование Java Persistence API Criteria API Сравнение запросов, используемых в Criteria API с запросами, используемыми в Java Persistence query language Метамодельный объектный подход к запросам Создание запросов Criteria API Модуль 11 – Использование Java Persistence API в Контейнере Использование Java Persistence API из сервлета Использование Java Persistence API из сеансовой компоненты Модуль 12 – Реализация транзакций и блокировки Управление разграничением транзакций Реализация транзакций под управлением контейнера(CMT) Программное взаимодействие с текущей CMT транзакцией Реализация транзакций под управлением компонент (BMT) Применение транзакций к Java Persistence API Модуль 13 – Расширенные вопросы Java Persistence API Задание составных первичных ключей Переопределение соответствия с помощью аннотаций @AttributeOverride и @AssociationOverride Прослушиватели событий и методы обратного вызова Целевая аудитория: Разработчики бизнес-компонент на базе технологий EJB и JPA. Предварительная подготовка – общее: Знание Java5. Знакомство с разработкой веб-приложений на базе JavaEE: технологий JSP и Servlets. Знакомство с технологией JDBC и её серверных расширений.