Course intended for:

The training is aimed at web application developers, willing to supplement their skills on the latest technologies, as well as for people who know Java and who want to start an adventure with web applications using the latest technologies. As a presentation layer, the AngularJS is presented, as it is becoming more widely appreciated and used for its Model-View-Controller architecture. The training is carried out using the latest Java Enterprise Edition - Version 7. For those wishing to work with older and established technologies we recommend WEB2 training.

Course objective:

Participants will learn how to design and implement applications using Java EE platform technologies. The goal of the training is to gain the ability to create scalable applications, in accordance with the arcane art: from business components to highly ergonomic and functional interfaces suited to the WEB 2.0 trends.

In particular: Participants will learn AngularJS, HTML5 and JavaScript. They will learn how to design and implement the business logic layer using EJB 3.2 combined with the JPA2.1 mechanisms of object-relational mapping. They will also learn the CDI specification.

Course strengths:

The training program covers issues related to a web application development. In contrast to other trainings, this course is not focused on a single technology, but it covers most important issues of selected technologies. As a result, after completing the training, participants will be able to implement complete web applications by themselves. The training program is constantly updated due to a rapid development of web solutions.

Requirements:

The participants are required basic knowledge of databases and SQL, basic programming skills in Java, basic knowledge of JavaScript and HTML.

Course parameters:

5*7 hours of lectures and workshops at a ratio of 1:3. During workshops, in addition to simple exercises, participants will design and implement a web application using JEE7, JS, HTML. Group size: max. 8-10 people.

Course curriculum

  1. Introduction

    1. Java Enterprise Edition

    2. JEE most commonly used components: EJB, CDI, JPA, web services, websockets, servlets.

    3. Design and implementation with JEE

    4. AngularJS as a MVC framework, thin versus thick client

  2. Business logic layer - EJB 3.2

    1. EJB 3.x component types

    2. How does it work?

    3. Session components

      1. Stateless

      2. Statefull

      3. Singleton

      4. Lifecycle, lifecycle callbacks

      5. Accessing EJB

        1. Locally

        2. Locally without an interface

        3. Remotely

        4. Web service

      6. Asynchronous EJBs

      7. Concurrency

        1. Container role

        2. SFSB and concurrency

    4. Working witch resources

      1. JNDI lookups

      2. Inversion of Control

    5. Interceptors

    6. Exceptions

    7. Message Driven Beans

      1. JMS2.0

      2. How does it work?

      3. MEPs

    8. Security

    9. Transactions

      1. Container managed transactions (CMT)

      2. Bean managed transactions (BMT)

      3. Client managed transactions

    10. EJB and web services

      1. Web services basics

      2. JAX-WS/JAX-RS and EJB/CDI

    11. Deployment

      1. EJB module (jar)

      2. Enterprise Archive (ear)

      3. Web Archive (war)

      4. Full vs light (web) server profile

      5. EJB embedded container

    12. Testing EJB

    13. EJB Lite and web applications

  3. Persistence layer and Java Persistence API 2.1

    1. ORM conception

    2. Entities

      1. simple

      2. embedded

      3. accessing fields

      4. collections

    3. Asociations

    4. Keys

      1. Simple

      2. Complex

      3. Automatic generation of keys

    5. PersistentContext

      1. Container managed and application managed

      2. Transaction and Extended

    6. Entity lifecycle

    7. DML

    8. Transactions

    9. Queries

      1. JPQL

        1. Syntax

        2. Query and TypedQuery

        3. Named queries

        4. Native queries

      2. JPA2.1 Criteria API

        1. Criteria API
      3. serach-within and serach-by-example

      4. Native queries mapping

    10. Lifecycle listeners

    11. Testing JPA

    12. Deployment

      1. Java SE/dektop

      2. Web module

      3. EJB module

  4. CDI (WebBeans)

    1. Introduction

      1. Bean

      2. Context

      3. Scope

      4. Injection

    2. Beans

      1. Managed beans

      2. Session means

      3. Specialization

      4. Active and inactive beans

    3. Scopes

      1. Built-in scopes

      2. Conversation scope

      3. Dependent scope

      4. Nonstandard scopes

      5. Default scope

      6. Lifecycle of scope objects

    4. Injection

      1. Where to inject

      2. Qualifiers, Alternatives, Stereotypes

      3. Named injections

    5. Producers

    6. Events and listeners

    7. CDI and EJB

  5. WebSockets

    56. Endpoints
    
    57. Sending and receiving messages
    
    58. HTTP Long Pooling and WebSockets
    
  6. Web application using AJAX

    1. AJAX communication models

    2. JSON

      1. Introduction

      2. Java API for JSON Processing

      3. JSON and Restful web service

    3. Prototype and JQuery libraries

  7. Java Servlet 3.1

    1. Introduction

    2. Lifecycle of a servlet

    3. Sharing data

    4. Servlet initialization

    5. Process HTTP requests

    6. Filtering

    7. File upload, media types

    8. WebContext

    9. Asynchronous processing

    10. Nonblocking I/O

    11. HTTP 1.1

    12. Security

  8. HTML 5

    1. Introduction to HTML 5, CSS, JavaScript

      1. Simple website

      2. Advantages HTML 5 over HTML 4

      3. Web browsers and HTML 5

      4. New tags in HTML 5

      5. JavaScript

      6. JavaScript and HTML DOM

      7. Events

      8. Web forms validation using JS

    2. Programming JavaScript

      1. JavaScript code structure

      2. Creating and extending objects

      3. Best practices

    3. Programming HTML 5

      1. File operations

      2. Drag & Drop

      3. Embedding multimedia

      4. Web Audio API

      5. Geolocation API

      6. Debugging and profiling

    4. Altering application presentation

      1. Creating portable website

      2. Detecting web browser, CSS 3 Media Queries

    5. CSS 3 and HTML 5

      1. Text styles

      2. Block element styles

      3. CSS3 Selectors

      4. Graphics with CSS3

    6. Animation

      1. Transitions

      2. Transformations

      3. CSS Key-Frame

    7. AJAX

      1. XMLHTTPRequest

      2. Web Sockets

    8. Web Messaging API

      1. Message passing

      2. Authorizations

      3. Channel and ports

    9. Web Worker Process

      1. Asynchronous processing

      2. Types of Web Workers

      3. Browser support

      4. Busy message

  9. CSS 3: selected issues

    1. Fonts

    2. Text effects

    3. Document layers

    4. Border effects

    5. Color transparency and gradients

    6. 2D/3D animations

    7. Box Layout

    8. Document background

  10. Java Script

    1. Selected issues

      1. Tables and structured

      2. Functions as object

      3. Varargs

      4. Prototyping

      5. Built-in prototypes

      6. Closured

      7. Regex

    2. Selected issues and problems

      1. SameOriginPolicy, CORS

      2. Mouse position

      3. "Forward" and "Back"

      4. Alerts

      5. Redirecting

      6. New window

      7. Date and time

      8. Delayed execution

      9. Loading resources before usage

      10. Onmouseover listener

      11. Random number generator

      12. Working with characters

      13. Number formating

      14. Memory leaks in JavaScript

  11. AngularJS: MVC in JavaScript

    1. What MVC and MVVM are?

      1. AngularJS

      2. Angular Seed / Twitter Bootstrap

    2. AngularJS models

      1. Model binding

      2. $scope

    3. Views and templates

      1. Views in AngularJS

      2. repeaters

      3. CSS switching

      4. Form validators

        1. Built-in validators

        2. Custom validators

        3. Validators and CSS

      5. Events

      6. External JS libraries user for validation

    4. Directives

      1. Introduction

      2. External directives

      3. Isolated controller directives

    5. Services

      1. Introduction

      2. $inject

      3. Angular $http as a service

      4. Angular Web Service

    6. Routers

      1. Template reloading

      2. Multiple views for multiple controllers

    7. Angular UI

      1. External libraries with Angular

      2. ng-grid

    8. Testing web ui with Jasmine/Karma/Selenium

    9. JavaScript debugging with web browser

    10. Security

Any questions?

* Required.


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