Course intended for:

The training is aimed at developers and architects of the JEE platform, willing to supplement their knowledge of the latest 7 th version of this technology, migrating existing applications to JEE7.

Course objective:

Participants will learn what changes the 7th version of the JEE platform presents. The goal of the training is to acquire knowledge and skills in migrating older solutions to JEE7, learn best practices of the JEE application migration, get to know pitfalls and tricky parts of JEE migration. In particular, participants will learn new EJB3.2 specification, JPA2.1, Servlet3.1, JMS2.0 and others. Newfound functionalities will also be discussed: WebSockets, Java API for JSON Processing, Batch Application and Concurrency Utilities.

Course strengths:

The program holistically and comprehensively covers changes that the 7th version of the JEE platform presents. In contrast to this type of trainings, presented training includes practical workshops, which will strengthen expertise in its practical aspects.

Requirements:

Participants are required at least basic programming skills in Java and basic knowledge of JEE architecture.

Course parameters:

3*7 hours of lectures and workshops at a ratio of 1:3. Group size: max. 8-10 people

Course curriculum

  1. Introduction

    1. Introduction to the Java Enterprise Edition

    2. History of JEE

    3. New features in JEE7

    4. Differences between JEE5, JEE6, JEE7

  2. Business Logic migration

    1. Migrating EJB

      1. Differences between EJB 3.0, 3.1, 3.2

      2. New features

        1. Asynchronous local session

        2. Non-persistent timer

        3. Singleton

        4. Local and no-interface beans

      3. API changes

      4. DD changes *-ejb-jar.xml

      5. Changing JARs or server modules

    2. Migrating CDI

      1. Differences between CDI 1.0, 1.1

      2. New features

        1. Working without JEE container

        2. Static injections

      3. API changes

      4. DD changes *-beans.xml

      5. Changing JARs or server modules

      6. JBOSS SEAM to JBOSS WELD migrations

    3. Migrating JPA

      1. Differences between JPA 2.0, 2.1

      2. New features

        1. Criteria API

        2. Stored procedures native API

        3. Unsynchronized persistence context

        4. JPQL/Criteria – arithmetic subqueries, JOIN ON, TREAT etc.

      3. API changes

      4. DD changes persistence.xml, *-orm.xml

      5. Changing JARs or server modules

    4. Migrating JNDI

      1. JNDI standardized namespaces

        1. java:comp/

        2. java:module/

        3. java:app/

        4. java:global/

      2. Server namespaces e.g.: java:jboss/

  3. Presentation layer migration

    1. Migrating Servlets

      1. Differences in Servlet 2.5, 3.0, 3.1

      2. New features

        1. Non-blocking I/O

        2. HTTP 1.1

        3. Security

        4. WebSockets

      3. API changes

      4. DD changes *-web.xml

      5. Changing JARs or server modules

    2. Migrating JSF

      1. Differences between JSF 1.2, 2.0, 2.1, 2.2

      2. New features

        1. HTML5 and JSON

        2. Integration with CDI

        3. Asynchronous processing

        4. AJAX

        5. Templates

        6. Security

      3. Migrating JSF1.x to JSF2.x

      4. Expression Language

      5. API changes

      6. DD changes *-faces-config.xml

      7. Changing JARs or server modules

  4. Communication layer migration

    1. Migrating JAX-WS

      1. Differences in API JAX-WS 2.0, 2.1, 2.2

      2. Migrating JAX-RPC to JAX-WS

      3. New features

        1. Asynchronous processing

        2. Stateful web service

        3. WS-Addressing, WSIT, JAXB

    2. Migrating JAX-RS

      1. Differences in API JAX-RS 1.0, 2.0

      2. Restful web services implemented with servlets and JAX-RS

      3. New features

        1. Filters & Interceptors

        2. Asynchronous processing

        3. Hypermedia

    3. Migrating JMS

      1. Differences in JMS 1.0, 1.1, 2.0

      2. New features

        1. Asynchronous processing
      3. DD changes *-jms.xml

  5. New features in JEE7

    1. Batch Application API 1.0

      1. Batch processing, Jobs

      2. Job Specification Language (JSL)

      3. Artefacts

      4. Working with jobs

    2. Concurrency Utilities API 1.0

      1. Concurrent processing, threads and processes, problems

      2. Components: ManagedExecutorService, ManagedScheduledExecutorService, ContextService, ManagedThreadFactory

      3. Transactions in concurrent processing

      4. Security

    3. WebSocket 1.0

      1. Endpoints

      2. Messages

    4. JSON and HTML5

      1. Parsing

      2. Generating

  6. JEE5, JEE6 application deployment on JEE7 servers

    1. Pitfalls

    2. Good practices

    3. Mixing standards e.g. calling EJB2.x from EJB3.x

    4. Changes in server construction on JBOSS AS 5/7/8 example

      1. Microkernel redesigned

      2. Classloader redesigned

      3. New features

        1. HornetQ vs JBoss Messaging

        2. Infinispan vs JBoss Cache

        3. others

      4. Server profiles

      5. Migrating DD on JBOSS

  7. Maven for JEE7

    1. Changes in pom.xml

    2. Additional plugins and extensions

Any questions?

* Required.


Contact
Phone +48 22 2035600
Fax +48 22 2035601
Email