Java Enterprise Technologies (Java EE 7) – EJB 3.2, JSF 2.2, JAX-RS 2.0, Web Services, WebSocket, JMS, CDI, Bean Validation, JPA, JTA, Batch and Concurrency


В епохата на IT глобализация гъвкавостта, бързината и използването на отворени стандарти са необходими фактори за пазарен успех и дългосрочно развитие. Java™ EE платформата за разработка на бизнес приложения става все по-отворена, гъвкава, достъпна и лесна за употреба. IPT курсът „Java™ Enterprise Technologies (Java™ EE 6) – EJB™ 3.1, JSF 2.1, Web Services, JAX-RS, JAXB, JNDI™, JTA™, JMS™, JAAS™, JPA 2.0“ предлага уникална за България възможност за увеличаване на производителността на вашия софтуерен екип чрез запознаване с новостите в Java Enterprise Edition 6 и 7, сред които:

  • RESTful Web Services (JAX-RS) – директна експозиция на POJOs (Plain Old Java Objects) като уеб ресурси чрез прилагане на набор от стандартни анотации и интерфейси;
  • Contexts and Dependency Injection for the Java EE Platform (CDI), JSR 299 (Web Beans, Weld) – интегрира новостите в JBoss Seam, Google Guice и Spring. Унифицира употребата на Java Beans (POJO, JSF Managed Beans и EJB) в множество контексти (Beans, JSF/ Facelets, Servlets/ Filters, Web Services, …) и обхвати на видимост (Request, Session, Application, Conversation, …). Чрез инжектиране на зависимости с помощта на анотации, автоматичен избор на подходящите инстанции чрез квалификатори, lifecycle callbacks, interceptors & decorators се постига независимост между отделните компоненти, транзакционна поддръжка в уеб слоя, краткост и яснота на израза, улеснено тестване и по-висока продуктивност;
  • Bean Validation 1.0 – унифицирана валидация на данните във всички слоеве на приложението (от презентационния – JSF до слоя за съхранение на данни – JPA) чрез декларативни анотации;
  • JSF 2.1, Facelets & Templates, AJAX – повишена производителност и ясно разделяне на логика от презентация в уеб слоя, чрез използване на готови библиотеки от тагове, включително за реализация на асинхронно взаимодействие (AJAX) с JSF, улеснено композиране на страниците с помощта на шаблони и бързо създаване на custom tags чрез композиция;
  • Enterprise Java Beans (EJB) 3.1 – основна иновация в новата версия на Java™ EE 6. Писането и използването на EJB никога не е било толкова лесно – интерфейсите вече не са задължителни, пакетирането е опростено, а възможностите на бизнес-компонентите са разширени с възможност за асинхронна обработка чрез проста анотация @Asynchronous на съответните методи и използване на Future обекти за получаване на резултат. Друга новост е наличието на нов тип EJB – @Singleton, който позволява лесно споделяне на състояние между множество EJB компоненти в приложението. Използването на XML описания става напълно опционално, а с помощта на EJBContainer API реализация EJB могат да се използват (и тестват) също и самостоятелно в Java™ SE приложения;
  • Java™ Persistence API (JPA) 2.0 – разширява вече наложилото се като стандарт за ORM JPA с подобрени възможности за Object/Relational Mapping на колекции от примитивни типове и вградени обекти, разширения на езика за заявки (JPQL) с нови оператори (CASE, WHEN, NULLIF, COALESCE), Criteria API за програмно изграждане на заявки със строга типизация, поддръжка на нови стратегии за Pessimistic Read/Write Locking на данните.

В курса тези новости надграждат класическите за Java™ EE технологии и APIs: JAXP, JAXB, JAX-WS, JNDI™, JTA™, JavaMail, JMS™, JAAS™, с акцент върху декларативната и програмна сигурност, разпределени транзакции, Message Oriented Middleware и новите анотации, улесняващи програмната разработка във всички слоеве на приложението.

Курсът започва с преглед на основните Java™ EE 6 технологии и връзките между тях, както и с отделните слоеве на Java™ EE архитектурата. Представя се структурата и конвенциите за пакетиране на Java™ Enterprise приложения, включително новите, облекчени възможности за съчетаване на различни компоненти. Разглеждат се основните XML стандарти за реализация на уеб-услуги (SOAP, WSDL) и пакетите в Java™ EE 6 (JAX-WS, JAXB, StAX), които автоматизират тяхното използване, заедно с новостите по реализация на „разговори“, транзакционно-ориентирани, сигурни (secure) и надеждни (reliable) уеб услуги. Включени са и все по-актуалните Representational State Transfer (RESTful) web services – Jersey API ( JSR-311: JAX-RS – Java API for RESTful Web Service).

След това курсът се фокусира върху компонентния модел на Java™ EE – Enterprise Java™ Beans – EJB™. Разглеждат се актуалните сесийни компоненти с и без запазване на вътрешно състояние (stateful and stateless session beans) и компоненти обработващи съобщения (message-driven beans), както и новия за Java™ EE 6 тип (и анотация) @Singleton с техния жизнен цикъл, структура и конвенции за именуване. Представят се и се разработват множество примери за сесийни, Singleton и обработващи съобщения EJB™, както и клиенти за тях. Участниците се запознават с приложението на EJB™ обработващи съобщения за изграждане на Message-Oriented Middleware (MOM) софтуерни архитектури.

Друг важен практически акцент на курса е новото за Java 5, 6 и 7 Java™ Persistence API (JPA). Разглеждат се в детайли използването на JPA в уеб и EJB™ слоевете и Java Persistence Query Language (JPQL) – за навигиране и обектно-ориентирани заявки към базата от данни, както и новото за Java™ EE 6 Criteria API за програмно изграждане на заявки със строга типизация.

Основна част на курса е разглеждането на ключовите Java™ EE услуги и технологии, сред които Java™ Naming and Directory Interface JNDI™ – унифициран интерфейс към директорийни услуги (LDAP и др.), Java™ Transaction API JTA™ – разпределени транзакции, Java™ Messaging Service JMS™ – API за асинхронна комуникация, механизми за сигурност в уеб и EJB™ слоя и др.

Специално внимание по време на курса се отделя на практическата реализация на многослойни Java™ EE 6 приложения в среда NetBeans 7, тяхното асемблиране, инсталиране (deployment) и настройка на широкоразпространения приложен сървър GlassFish v3.

В хода на курса ще бъдат представени цялостни примери за интегриране на новите технологии, а също задачи за самостоятелна разработка от участниците с възможност за индивидуална консултация.

Курсът се води от Траян Илиев – квалифициран преподавател с 12-годишен педагогически стаж във ФМИ на СУ и практически опит в управлението и разработката на бизнес софтуерни проекти (еGovernment, eLearning, WebTV, Web-based GPS Tracking, Web 2.0 Mashups, JavaScript Portlets).

Участниците в курса е необходимо предварително да познават и да могат практически да използват езиците Java™ и XML.

.pdf Преглед на подробната програма на курса в PDF формат (в нов прозорец на браузъра)

За повече информация и записване, моля пишете на нашия e-mail адрес: office@iproduct.org