Spring Batch

Goals


- Process data in batches with Spring Batch

Program

Batch processing: principle and objectives, Java EE 7 standard
Batch processing implementations; Quartz, scripts, Spring Batch
Spring Batch: presentation, functionalities
Dependencies with Spring
Associated tools
Global architecture: Job, Step, Parameter
Fundamental objects of the framework (Executer, Launcher, Repository)
Installation and configuration of Spring Batch

Basic classes and interfaces
Job structure and sequence of steps
Implementation techniques
Reading, transforming and writing data (LTE); readers, processors, writers
Development of specific implementations
Access to data for batch processing
DAOs and templates provided by Spring Framework
Exception management and recovery after errors
Transaction management (job, step)
Batch historization: JobRepository, schema, interactions

Batch execution parameters
Available classes
Asynchronous batch launch

Duration

2 days

Price

£ 1241

Audience

Java EE Developers

Prerequisites

Master object-oriented programming in Java

Reference

JAV100310-F

Sessions

Contact us for more informations about session date

Spring Data

Goals


- Integrate different Spring Data modules into a Java SE / EE application

Program

Galaxie Spring
Contribution of Spring Core
Spring Data: principle, features
Panorama of Spring Data modules:
– Main modules: Commons, Gemfire, JPA, JDBC, KeyValue, LDAP, MongoDB, REST, Redis, Cassandra, Solr
– Community modules: Aerospike, ArangoDB , Couchbase, Azure DocumentDB, DynamoDB, Elasticsearch, Hazelcast, Jest, Neo4j, Vault
– Others: JDBC Extensions, Spring for Apache Hadoop, Content
Environment installation and dependency configuration

JDBC
Pattern DAO (Data Access Object) reminders
Spring Data JDBC: inputs, dependencies, configuration
Spring DAO input (JdbcTemplate)
Configuration of data sources and access to JNDI resources
Writing queries
Processing results
Managing transactions
Managing errors

Object Relational Mapping (ORM): principle, JPA (Java Persistence API) standard JPA
implementations: Hibernate, EclipseLink, OpenJPA, …
Implementation of JPA / Hibernate in a project: dependencies, configuration
Mapping of entities: keys, fields , association, inheritance
EntityManagerFactory, EntityManager, EntityTransaction, … Objects
Spring Data JPA: principle, contributions
Transposition of the configuration of the persistence unit in Spring Data JPA
Presentation of the available DAOs
Writing of requests and exploitation of results
Management of transactions by annotations
Exception management

LDAP: directory principle,
Spring structure LDAP: principle, contributions
Management of access to an LDAP directory
Spring Data LDAP: data integration with Spring LDAP
Manipulation of the directory and recovery of Java objects
Error management

Relational model vs document-oriented model (NoSQL)
MongoDB: presentation, functionalities, configuration
MangoDB infrastructure: definition, optimization
Mongo repositories
Inserting and modifying
Spring data MongoDB data: principle, functionalities
MongoDB – Spring coupling: dependencies, configuration
Queries and results processing
Management errors

Duration

3 days

Price

£ 1840

Audience

Java EE Developers

Prerequisites

-Master object-oriented programming in Java
- Notions of SQL
- Notions of Spring Core

Reference

JAV100312-F

Sessions

Contact us for more informations about session date

Microservices Architecture with Spring Boot

Goals


- Master the use of Spring Boot for building web services

Program

Galaxie Spring: presentation,
Spring Core contributions : inversion of control and injection of
Spring Boot dependencies : principle, functionalities, prerequisites
Creation of a project with Spring Initializr
Integration with Maven
Structure of a Spring Boot application: standalone, webapp
The starters , Auto-configuration
Presentation of Spring CLI
Setting up the environment
Running a Spring Boot application via Spring CLI, via STS or Maven
Workshop: Installation of the IDE (Eclipse STS), definition of projects and use of starters

Options for configuration (.properties vs YAML)
ASCII banner
Default properties
Automatic start
Debug, Configuration of traces
Management of hot reloading
Persistence of sessions between restarts
Workshop: configuration of projects (.properties) and management of reloading

JPA: presentation, contributions
Available Providers: Hibernate, Eclipse Link
Configuration of Spring Boot properties
Mapping of entities
Mapping of properties: primary keys, column
Concurrency management: version, lock
Mapping of relations: OneToMany / ManyToOne, OneToOne, ManyToMany
Management of loading collections: lazy vs eager
Inheritance management: strategies, workshop implementation
: mapping of several physical data models

Creation of data access classes: @Repository
Learning the JPA-QL language
Implementation of personalized requests
Use of stored procedures
Organization of application layers: presentation / services / data access
Workshop: Implementation of a complete persistence layer

Use of RestController
Parameter and mapping
management Return type
management Error management
Web service documentation

Workshop: Writing micro-services with Spring web

Header data
management Security
management with Spring Security User and role management.

Workshop: Spring Security Integration

Test strategies, types supported
Application configuration
Mocking of application layers
Self-configured tests
Execution and reporting

Workshop: implementation and execution of tests

Cache
management Log management
Deployment: packaging, execution, profiles, Spring Boot Actuator

Workshop: deployment of micro-services

Jersey API
Using the client class
Managing the sending of parameters and types of returns

Workshop: implementing Java clients for a REST service

Duration

5 days

Price

£ 2975

Audience

Java EE Developers

Prerequisites

- Master object-oriented programming in Java
- Mastery Spring Core

Reference

JAV100901-F

Sessions

Contact us for more informations about session date

Spring Boot

Goals


- Master the use of Spring Boot in a Java EE application

Program

Galaxie Spring: presentation,
Spring Core contributions : inversion of control and injection of dependencies
Spring Boot: principle, functionalities, prerequisites
Creation of a project with Spring Initializr
Integration with Maven
Structure of a Spring Boot application: standalone, webapp
The starters , Auto-configuration
Presentation of Spring CLI
Setting up the environment
Running a Spring Boot application via Spring CLI, via STS or Maven

Options for the configuration (.properties vs YAML)
ASCII banner
Default properties
Automatic start
Debug, Configuration of traces
Management of hot reloading
Persistence of sessions between restarts
Configuration of a Java EE application via YAML

Data persistence with Spring Data JPA
Security management with Spring Security
REST web services support
Planning
Cache
management Log management
Deployment: packaging, execution, profiles, Spring Boot Actuator

Test strategies, types supported
Application configuration
Mocking of application layers
Self-configured tests
Execution and reporting

Duration

2 days

Price

£ 1412

Audience

Java EE Developers

Prerequisites

- Master object-oriented programming in Java
- Mastery Spring Core

Reference

JAV100315-F

Sessions

Contact us for more informations about session date

Spring Advanced

Goals


- Use Spring in any environments in order to have an efficient architecture

- Realize a dynamic website quickly with Spring

- Ensure that this site is maintainable and efficient

Program

Reminders of the fundamental mechanisms

Spring MVC architecture
Implementation of actions
Management of forms
Validation of forms and advanced interactions
Taglibs Spring
Management of types and conversions
Messages and internationalization
Development of interceptors
Use of Ajax
Templating: principle, implementation

Workshop: Building a management application

Spring Security: management of authentication and authorizations
Spring Remoting: remote access, WebServices
Spring JMS: management of
Spring JMX messages : administration

Workshop: Using advanced APIs

Duration

2 days

Price

£ 963

Audience

All

Prerequisites

Have followed the "Spring Initiation" training or have equivalent knowledge

Reference

JAV279-F

Sessions

Contact us for more informations about session date

Spring Initiation

Goals


- Build a dynamic website quickly with Spring

Program

Inversion Of Control (dependency injection)
Role of a light container, frameworks available
Presentation of Spring, versions, uses
Panorama of the different bricks: Core, Web, ORM, AOP, …
Setting up the environment, necessary libraries

Workshop: Installation of the environment (Spring STS) and configuration of a Spring project

Configuration of beans and instantiation of the container
Dependency injection by mutator / constructor
Control of properties
Automatic linking of beans (XML configuration / annotations)
Configuration inheritance
Assignment of collections to the properties of a bean
Access to JNDI resources
Transaction management

Workshop: Multiple creations and configurations of beans, instantiations

JUnit unit tests, Mocks
Configuration by announcements
Execution, reports

Workshop: Implementation of Spring JUnit unit tests

Reminders of JDBC and Pattern DAO (Data Access Object)
Contribution of Spring DAO (JdbcTemplate)
Configuration of data sources and access to JNDI resources
Coupling of Spring with ORM frameworks
Transaction management by annotations

Workshop: Spring DAO implementation, Spring / JPA-Hibernate coupling

Duration

3 days

Price

£ 1605

Audience

All

Prerequisites

Knowledge of servlets and JSP

Reference

JAV280-F

Sessions

Contact us for more informations about session date

Spring Initiation + Advanced

Goals


- Use Spring in any environments in order to have an efficient architecture

- Realize a dynamic website quickly with Spring

- Ensure that this site is maintainable and efficient

Program

Inversion Of Control (dependency injection)
Role of a light container, frameworks available
Presentation of Spring, versions, uses
Panorama of the different bricks: Core, Web, ORM, AOP, …
Setting up the environment, necessary libraries

Workshop: Installation of the environment (Spring STS) and configuration of a Spring project

Configuration of beans and instantiation of the container
Dependency injection by mutator / constructor
Control of properties
Automatic linking of beans (XML configuration / annotations)
Configuration inheritance
Assignment of collections to the properties of a bean
Access to JNDI resources
Transaction management

Workshop: Multiple creations and configurations of beans, instantiations

JUnit unit tests, Mocks
Configuration by announcements
Execution, reports

Workshop: Implementation of Spring JUnit unit tests

Reminders of JDBC and Pattern DAO (Data Access Object)
Contribution of Spring DAO (JdbcTemplate)
Configuration of data sources and access to JNDI resources
Coupling of Spring with ORM frameworks
Transaction management by annotations

Workshop: Spring DAO implementation, Spring / JPA-Hibernate coupling

Spring MVC architecture
Implementation of actions
Management of forms
Validation of forms and advanced interactions
Taglibs Spring
Management of types and conversions
Messages and internationalization
Development of interceptors
Use of Ajax
Templating: principle, implementation

Workshop: Building a management application

Spring Security: management of authentication and authorizations
Spring Remoting: remote access, WebServices
Spring JMS: management of
Spring JMX messages : administration

Workshop: Using advanced APIs

Duration

5 days

Price

£ 2307

Audience

All

Prerequisites

Mastery of object programming in Java - Web concepts

Reference

JAV278-F

Sessions

Contact us for more informations about session date

Java EE 7 : Web applications

Goals


- Discover and implement what's new in Java EE 7

Program

Enterprise application architecture
Java EE 7 specification: new features, evolutions
JEE 7 servers

Workshop: Installation of the development environment: IDE, application server, database server

Batch Applications: process manipulations Batch
Java API for JSON: main interfaces, creation / parsing of
Java API for WebSocket flows : presentation, communication, creation of EndPoints
Concurrency Utilities: Executors, Thread Pooling

Workshop: Implementing WebSocket – Using the JSON API – creating tasks

Web services: architectures (SOAP / RESTful)
Java API for RESTful Web Services 2.0: API and annotations, implementation
Creation of a web service client
Processing of a JSON response

Workshop: Implementation of RESTful web services and queries

Asynchronous communication and JMS
EJB MD and JMS 2.0 new features
Sending JMS messages to a topic or a queue
Consuming messages

Workshop: Implementation of sending and consuming JMS messages

JSP 2.2: specification, new features
New EL 3.0 operators
Static elements and method references
Custom converters
Lambda expressions
Building and operations on collections

Workshop: Multiple examples of using EL 3.0

Servlet 3.1: asynchronous request (Non-blocking I / O), HttpUpgradeHandler interfaces, WebConnection, security,
JPA 2.1 reset : callback, converters, update / delete criteria, stored procedures, EntityListeners, …
EJB 3.2: evolution, types, communication asynchronous,
CDI 1.1 timers : dependency injection, scopes, interceptors, decorators
JSF 2.2: HTML5 support, multi-templating, Faces Flows, Stateless views

Lab: EJB Lite component implementation – database mapping (JPA) – JSF views implementation

Duration

5 days

Price

£ 2050

Audience

Java / JEE developers, architects

Prerequisites

Mastery of the object in Java - knowledge of JSP and Servlet

Reference

JAV830-F

Sessions

Contact us for more informations about session date

Java EE 6 : Architecture of an application

Goals


- Discover the new features of JEE 6 - Successfully migrate to JEE 6

Program

Overview of JEE’s contributions 6
Cost of migration: project, learning, constraints

Organization of the
EJB Singleton
EJB Lite interfaces
Simplification of the packaging
New in the Timer Service
JNDI naming
EJB invocations: asynchronous, without container

Presentation of the
Panorama API of available tags
Customization of error messages

Advanced support for collections (map)
Management of compound keys and sequences
Management of aggregations (nested embeddable)
Mapping of collections (Basic, Embeddable) and sorts (OrderColumn)
OneToMany Undirectionel
Automatic deletion of objects removed from relationships (Orphan removal)
Locks on objects (Pessimistic Locking)
Changes to the EntityManager API
Using the Cache API
Using properties to configure the
Criterias persistence unit
What’s new in JPQL

REST architecture: presentation, components and characteristics
The JAX-RS API, JSR-311
JAX-RS vs JAX-WS
Contexts of use
REST service implementation, description (WADL) and deployment
Implementation of a REST service client
Advanced concepts : exceptions, selections, context, security

Duration

2 days

Price

£ 1091

Audience

Java / JEE Developers

Prerequisites

Mastery of Java, Notions of Servlet / JSP, MVC frameworks and data persistence

Reference

JAV569-F

Sessions

Contact us for more informations about session date

EJB 3 Initiation + Advanced

Goals


- Master the development of EJB 3 - Manage the performance of a distributed application

- Set up a complete JEE architecture

Program

JEE specifications: components, containers
Principle of n-tier architectures (distributed applications), solutions
Annotations
Presentation of EJBs: history and versions
Life cycle of EJBs
Application servers: JBoss, GlassFish, WebSphere, …

Choice of the development environment (Eclipse / Netbeans), available plugins
Installation of the runtime environment, specific contributions to each container
Structure of a web module based on EJBs, packaging and deployment
Reminders on servlets and JSPs (chaining, persistence in memory, …)

Practical workshop: preparation of a development / test platform – handling of the environment – multiple examples: java (annotations), servlets and jsp

Architecture (bean, interfaces, annotations), role of object container
EJB types: session, entity, message-driven
EJB calls (RMI / IIOP protol), clients (heavy / light)
JNDI (Java Naming and Directory Interface) and collaboration between tools (localization of resources)
The Pattern Chain of Responsibility and presentation of interceptors (bean, interface, annotations)

Practical workshop: implementation of the design pattern chain of responsibility – introduction to interceptors

Definition, interaction and calculations
Available types (stateless, stateful), life cycle
Access to an EJB Session: visibility (local / remote / webService), choice of access type
Concurrent access and optimizations at the container level
Implementation of interceptors, change of default configurations
Timers services

Practical workshop: implementation of several Session EJBs (stateless / stateful) + interceptor – deployment and writing of various types of clients

Object relational mapping, specification and ORM frameworks
EJBs entities: functionalities, access
JPA annotations (Java Persistence API)
Context / persistence unit
Management of the state of an EJB Entity
Relations between entity beans (associations), cascading processes
Management of the ‘inheritance: SINGLE_TABLE, TABLE_PER_CLASS, JOINED
EJB-QL (EJB Query Language): presentation, syntax and constructs of queries

Practical workshop: Development of MVC web applications with interactions between session EJBs and various Entity beans – use of the EJB-QL language

Definition, Architecture (MOM, message models), APIs available
Overview of server implementations
Implementation of message exchanges (destination, sending, reception, recovery by injection)
Transaction management

Practical workshop: Setting up an application based on EJB messages, multiple exchanges and transactions

Application security: presentation of APIs, user and role management
Securing access to interfaces of EJBs
EJB and web services, protocols and clients (static / dynamic, synchronous / asynchronous)
EJB2 and EJB3: differences, choices, evolution (migration)

Practical workshop: Deployment of web services based on EJB3 and writing of several clients – security of a distributed application

Duration

5 days

Price

£ 2307

Audience

All

Prerequisites

Knowledge of servlets and JSP - Mastery of Java language

Reference

JAV113-F

Sessions

Contact us for more informations about session date

EJB 3 Advanced

Goals


- Obtain a maintainable and efficient EJB system

- Set up a complete JEE architecture with JBoss or Glassfish

Program

Reminders of EJB 3 specifications: architecture (bean, interfaces, annotations), role of the object container
The Pattern Chain of Responsibility and presentation of interceptors (bean, interface, annotations)

Practical workshop: implementation of the design pattern chain of responsibility – introduction to interceptors

Reminder of the basics: implementation, access
Implementation of interceptors, change of default configurations
Timers services

Practical workshop: implementation of several Session EJBs (stateless / stateful) + interceptor

Managing the state of an Entity EJB and concurrent access
Advanced relationships between entity beans (associations), cascading processes
Managing inheritance: SINGLE_TABLE, TABLE_PER_CLASS, JOINED
EJB-QL (EJB Query Language): presentation, syntax and constructions requests

Practical workshop: Development of MVC web applications with interactions between session EJBs and various Entity beans – use of the EJB-QL language

Definition, Architecture (MOM, message models), APIs available
Overview of server implementations
Implementation of message exchanges (destination, sending, reception, recovery by injection)
Transaction management

Practical workshop: Setting up an application based on EJB messages, multiple exchanges and transactions

Application security: presentation of APIs, user and role management
Securing access to interfaces of EJBs
EJB and web services, protocols and clients (static / dynamic, synchronous / asynchronous)
EJB2 and EJB3: differences, choices, evolution (migration)

Practical workshop: Deployment of web services based on EJB3 and writing of several clients – security of a distributed application

Duration

2 days

Price

£ 963

Audience

All

Prerequisites

Have taken the JEE - EJB course or equivalent knowledge

Reference

JAV114-F

Sessions

Contact us for more informations about session date

EJB 3 Initiation

Goals


- Master the development of EJB 3

- Manage the performance of a distributed application

- Set up a complete JEE architecture

Program

JEE specifications: components, containers
Principle of n-tier architectures (distributed applications), solutions
Annotations
Presentation of EJBs: history and versions
Life cycle of EJBs
Application servers: JBoss, GlassFish, WebSphere, …

Choice of the development environment (Eclipse / Netbeans), available plugins
Installation of the runtime environment, specific contributions to each container
Structure of a web module based on EJBs, packaging and deployment
Reminders on Servlets and JSPs (chaining, persistence in memory, …)

Practical workshop: preparation of a development / test platform – handling of the environment – multiple examples: java (annotations), Servlets and JSP

Architecture (bean, interfaces, annotations), role of object container
EJB types: session, entity, message-driven
EJB calls (RMI / IIOP protol), clients (heavy / light)
JNDI (Java Naming and Directory Interface) and collaboration between tools (localization of resources)

Definition, interaction and calculations
Available types (stateless, stateful), lifecycle
Access to an EJB Session: visibility (local / remote / webService), choice of access type
Concurrent access and optimizations at the container level

Practical workshop: implementation of several Session EJBs (stateless / stateful) – deployment and writing of various types of clients

Object relational mapping, specification and ORM frameworks
Entity EJBs: functionalities, access
JPA annotations (Java Persistence API)
Context / persistence unit
Management of the state of an Entity EJB
Relations between entity beans (associations), cascading processes

Practical workshop: Development of MVC web applications with interactions between session EJBs and various Entity beans

Duration

3 days

Price

£ 1605

Audience

All

Prerequisites

Knowledge of servlets and JSP - Mastery of Java language

Reference

Sessions

Contact us for more informations about session date

Java EE – Servlets and JSP Initiation + Advanced

Goals


- Know how to architect and design high-performance JEE web projects based on Servlets and JSP

- Set up the MVC pattern

Program

Development of dynamic web applications: overview of existing technologies
JEE platform: architecture, APIs and runtime environment
Servlets and JSP compared to other web services

Development environment (Eclipse / NetBeans)
Basic elements and development optimization
Servlet and JSP engines: presentation, choice (Tomcat, GlassFish, …)
Structure of a web module; component lifecycle
Packaging and deploying a web application

Practical workshop: installation of development and execution environments; first minimal web project

Specification and lifecycle Page
chaining: links and forms
Reminder of the interaction mechanisms and standards of the HTTP protocol
Handling of http errors and logging
Sessions, cookies and other
JDBC persistence spaces for accessing a database from a
JavaMail servlet for sending mail from a
Multi-threading form with servlets
Advanced deployment configurations

Practical workshop: creation, deployment and testing of a complete Servlet-based project including management features with access to a database, use of the session and sending emails

General principle and comparison with Servlets
Expressions: display dynamic data in the middle of XHTML
Scriptlets – use and limits
Declarations and directives: the JSP is a class
Inclusions and reuse mechanisms
Javabeans: presentation, creation
Access and manipulation of Javabeans from JSP and Servlets
MVC model
Complete case study – Servlets and JSP in collaboration
Server memory organization
Error handling

Practical workshop: Development of web applications with an MVC architecture and an advanced presentation based on JSP

Overview of available taglibs
Installation, use of a
JSTL tag library (JSP Standard Tag Lib): presentation and test
The language of expressions (EL)
Definition of functions, creation of TLDs and calls from a JSP
Creation of taglibs: principle and apis available

Practical workshop: integration of taglibs in JSPs – implementation of a custom library of tags

Templating: mechanism, available
JNDI frameworks and configuration of resources (JDBC, mails, etc.) at the application server level Application
security: presentation of APIs, user and role
management Management of a web project: from analysis to test

Practical workshop: server configuration and use of JNDI resources – Using a template engine

Duration

5 days

Price

£ 2136

Audience

All

Prerequisites

Mastery of the basics of Java language and knowledge of XHTML

Reference

JAV116-F

Sessions

Contact us for more informations about session date

Java EE : Servlets and JSP Advanced

Goals


- Know how to architect and design high-performance JEE web projects based on Servlets and JSP

- Set up the MVC pattern

Program

JEE platform: architecture, APIs and runtime environment
Reminders of Servlets and JSPs

Sessions, cookies and other
JDBC persistence spaces for accessing a database from a
JavaMail servlet for sending mail from a form
Handling http errors and logging
Multi-threading with servlets
Advanced deployment configurations

Practical workshop: creation, deployment and testing of a complete servlet-based project including management features with access to a database, use of the session and sending emails

Javabeans: presentation, creation
Access and manipulation of Javabeans from JSP and servlets
MVC model
Complete case study – Servlets and JSP in collaboration
Server memory organization
Error management

Practical workshop: Development of web applications with an MVC architecture and an advanced presentation based on JSP

Overview of available taglibs
Installation, use of a
JSTL tag library (JSP Standard Tag Lib): presentation and test
The expression language (EL)
Definition of functions, creation of TLDs and calls from a JSP
Creation of taglibs: principle and apis available

Practical workshop: integration of taglibs in JSPs – implementation of a custom library of tags

Templating: mechanism, available
JNDI frameworks and configuration of resources (JDBC, mails, etc.) at the application server level Application
security: presentation of APIs, user and role
management Management of a web project: from analysis to test

Practical workshop: server configuration and use of JNDI resources – Using a template engine

Duration

2 days

Price

£ 963

Audience

All

Prerequisites

Have taken the JEE initiation course or equivalent knowledge

Reference

JAV117-F

Sessions

Contact us for more informations about session date

Java EE: Servlets and JSP Initiation

Goals


- Know how to architect and design high-performance JEE web projects based on Servlets and JSP

- Set up the MVC pattern

Program

Development of dynamic web applications: overview of existing technologies
JEE platform: architecture, APIs and runtime environment
Servlets and JSP compared to other web services

Development environment (Eclipse / NetBeans)
Basic elements and development optimization
Servlet and JSP engines: presentation, choice (Tomcat, GlassFish, …)
Structure of a web module; component lifecycle
Packaging and deploying a web application

Practical workshop: installation of development and execution environments; first minimal web project

Specification and lifecycle Page
chaining: links and forms
Reminder of the interaction mechanisms and standards of the HTTP protocol
Handling of http errors and logging
Sessions, cookies and other persistence spaces

Practical workshop: creation, deployment and testing of a complete servlet-based project including management features

General principle and comparison with Servlets
Expressions: display dynamic data in the middle of XHTML
Scriptlets – use and limits
Declarations and directives: the JSP is a class
Inclusions and reuse mechanisms
Complete case study – Servlets and JSP in collaboration

Practical workshop: Development of web applications with an MVC architecture

Duration

3 days

Price

£ 1391

Audience

All

Prerequisites

Mastery of the basics of Java language and knowledge of XHTML

Reference

JAV154-F

Sessions

Contact us for more informations about session date

Java SE 8 to 12

Goals


- Master the changes brought about by the new versions of Java

- Be able to migrate code from version 8 to 12

Program

History, versions
Java editions: Java SE, Java EE, Java ME
Compilation and interpretation by the JVM (Java Virtual Machine)
Java technologies / frameworks and positioning
Development environment
Packaging and deployment of a Java application

Workshop: Installation of the JDK (Java Development Kit) and an IDE (Eclipse / NetBeans) – Structure of a project, buildPath, …

Modularity of the JDK (JEP 200 – Jigsaw / JSR 376)
Inference of the type of variable (JEP 193)
Improvement of the use of collections (JEP 269)
New in the API of processes (JEP 202)
Depreciation management (JEP 277 )
Improvement on threads: spin-wait (JEP 285)
Variables and methods Handle (JEP 193, 274) Support of HTTP2 and WebSockets (JEP 110)
JavaScript engine: ES 6 (JEP 236, 292)
Improvements of Javadoc for the support de HTML5 (JEP 224, 225, 254)
Image support: multi-resolution (JEP 251), formats (JEP 262)
API for accessing the specifications of the OS desktop (JEP 272)
Improvements made to JavaFx
Log unification (JEP 158, 264, 271)

Variable type inference (JEP 286)
Application Class-Data Sharing (JEP 310)
Release versioning (JEP 322)
Improvements related to Garbage Collector (JEP 307, JEP 304)
JEP 319: Root Certificates
New methods in the Collectors class
New method in the Optional class
New methods in the Objects class

Marketing of JDK 11 by Oracle
Consequences of Long Term Support of Oracle
JDK11 of Oracle vs Open JDK 11
Use of var in lambdas
Standardization of the new HTTP client
Direct execution of a source file
Removal of JavaFX, Java EE and CORBA modules

Collectors: Teeing Collector Improvements on character strings File comparison Compact number formatting Unicode 11 adoption Unicode 11 preview Functions and APIs removed: Java6, finalization methods, …

Duration

3 days

Price

£ 1685

Audience

Java Developers

Prerequisites

Knowledge of Java object-oriented programming

Reference

JAV100684-F

Sessions

Contact us for more informations about session date

Java SE 7

Goals


- Master the evolutions brought by Java 7

Program

Java 7: presentation, evolutions
Syntactic contributions:
– Use of strings in the switch control structure
– Operators and numeric literals
– Exception management
– …

Practical workshop: Overview of the novelties of the language

New in Swing
Theme management (look and feel)
Appearance / transparency management
Components and JLayer

Practical workshop: Creation of a graphical application implementing the new Swing features in Java 7

Presentation of the new classes (java.nio.file)
Path processing
Managing access to files
Notification of changes to a file

Practical workshop: Advanced flow manipulation

Driver loading
Improved exception
handling Using javax.sql.rowset

Practical workshop: Application of the contributions of JDBC 4.1

Process management (Fork and Join)
Internationalization in Java 7
Application security and cryptography
Network programming
Class loading
Improvement of the JVM and invocation of dynamic languages

Practical workshop: Multiple examples of use

Duration

3 days

Price

£ 2785

Audience

Java Developers

Prerequisites

Knowledge of Java 5/6

Reference

JAV517-F

Sessions

Contact us for more informations about session date

Java SE / Java EE Security

Goals


- Know the security risks of a site made with JEE

- Know how to set up and maintain the security of a JEE application

Program

Theoretical needs
Safety policy
Risk assessment
General methods

JDK
JVM tools Compile
Cycle

Process
Memory
Parameters
Monitoring software

Java
security JVM security under Java
SecurityManager
Access rights of an applet

Hash
Encryption
Asymmetric encryption
Bouncy Castle

Definition
Security provider

Need
Digital signature
Certificates
Example X509
Extraction from the
JarSigner keystore

Principle
Obfuscation techniques
Commercial solutions

JAAS presentation
Definitions
Operation

JAAS
WEB and EJB security
Securing a WEB application
Securing an EJB

Presentation
The notion of cluster
Level 7 routing
Example with Apache front-end
Concept of distributed sessions and replicated sessions
Example with a cluster of Tomcat servers
Replication of EJBs in cluster mode.

Duration

2 days

Price

£ 1275

Audience

All

Prerequisites

Knowledge of Java, notions of JEE

Reference

JAV138-F

Sessions

Contact us for more informations about session date

Multi-threading and memory management in Java

Goals


- Master the implementation of multi-threading in Java

- Effectively manage concurrency and memory

Program

Notions of threads and processes
The Switching Context: operation, consequences
Parallelism and concurrent access
Java synchronization: locks, synchronized, volatile
Good synchronization practices and errors to avoid (Deadlock)
Implementation of coordination of threads
Immutability: publications, encapusulation, confinement
Synchronized collections, competing collections
Atomics
Lock, Semaphore
CountDownLatch
Pooling of threads, executors 

Workshop: implementation of multi-threaded scenarios, synchronization – use of executors.

JVM memory organization: stack, heap
Presentation of the garbage collector mechanism
Operation of the Garbage
Collector Generational
Garbage Collectors Garbage Collector and memory leaks
JVM configuration to optimize the memory footprint
Presentation of the JVM tools to monitor an application : jConsole, jVisualVM

Workshop: optimization of the JVM for an application – monitoring: dump and code analysis. 

Duration

2 days

Price

£ 1085

Audience

Java developers and analysts

Prerequisites

Have followed the « Java initiation » course or have equivalent knowledge

Reference

JAV1065-F

Sessions

Contact us for more informations about session date

Advanced Java

Goals


- Know and master advanced language concepts

Program

Permgen space disappearance Default
methods
Repeated annotations, type annotations Method references, Interface with default
methods Interface private methods Freeing
resources
CompletableFuture API
Garbage collector improvements
Modularity of the jdk

Workshop: Environment installation – functionalities demonstration – code profiling and performance improvement.

Handling dates and durations with the new time API
Weaknesses of the current library
New classes and interfaces
Technical choice between durations, instants and local dates
Management of time zones
Formatting

Workshop: Use and formatting of dates, operations on dates and durations

Lambda expressions: definition, interest
Writing rules, declarations
Functional interface: principle, compatibility
Access to the state encompassing a lambda expression
Implementation and performance.
Evolution of the Atelier Collection API

: use of new patterns and functional interfaces introduced since Java 8

New features
Use of Patterns for-each, replace-if, do-if-absent, do-if-present
Merging of
Stream API collections : principle, interest
Patterns for creating streams
Intermediate and terminal operations on streams
Management of specific cases: empty streams, optional
Use of parallel streams

Workshop: use of streams with different collectors – use of resources with parallel streams – use of patterns

Genericity: typing principle, uses
Generic classes and constraints on types
Implementation of generic methods Generic
interfaces and polymorphism
Reflection and available classes
Dynamic introspection of objects
Invocation of members of an object
Dynamic instantiation of objects

Workshop: writing generic methods to manage imports / exports and serializations of data – Patterns and genericity

Nashorn: presentation, use case
jjs command line
JavaScript code interpretation
Calling Java code from JavaScript

Workshop: Instantiating and using the Nashorn engine, using Java objects in JavaScript – calling JavaScript functions and managing parameters

Process
initiation ProcessHandle and ProcessHandle.inf
The concurrency API: different types of executors
Choice of interfaces Runnable, Future, Callable
Multithreading application and use of Lambda expressions
ComposableFuture
Asynchronous mode and timeout management
Queues and classes atomic
Thread Pool Management

Lab: Coding of scheduled tasks using executors – multitasking implementation with the use of threads and synchronization

Duration

5 days

Price

£ 2540

Audience

Java Developers

Prerequisites

Have followed the « Java initiation + deepening » course or have equivalent knowledge

Reference

JAV100573-F

Sessions

Contact us for more informations about session date

Java SE 8 + Eclipse (Advanced Use)

Goals


- Master the evolutions brought by Java 8

- Master the Eclipse environment: configuration, unit tests, version management, task automation

Program

JavaScript processing for Java (Nashorn)
Disappearance of permgen space
The new API for handling dates / times
Default methods
Repeated annotations, type annotations Method references
Lambdas expressions

Workshop: Multiple demonstrations of new features of the Java 8 language

Weaknesses of the current library
New classes and interfaces introduced by Java 8
Technical choice between durations, instants and local dates
Formatting

Workshop: Use and formatting of dates, operations on dates and durations

Presentation of the syntax and interests
Labdas expressions in the
Streams collections and functional interfaces

Lab: Using Lambdas expressions, flows with collections

What’s New in JavaFX
Deploying Applications with Compact Profiles

Workshop: Running JavaScript code from a Java application, deploying applications

Environment and views
Perspectives
Properties: character encoding, JRE, servers, shortcuts, …
Launching Eclipse with different JREs
Creation and configuration of projects
IDE help, research
Addition of
Eclipse Plugins and Features and UML modeling

Workshop: Eclipse configuration, creation of projects, addition of plugins

Code organization, editing (opening modes)
Configuration of libraries (buildPath) and associated JavaDoc (online / archive)
Completion, access to the JavaDoc and assisted correction
Refactoring functions
Debug your code: breakpoints, variable inspection , execution stack
Unit tests with jUnit: TestCase, TestSuite, execution

Workshop: Putting into practice the different functions in an application

Software configuration management (SCM): presentation, positioning, tools
GCL terminology: Branch, Tag, Checkout, Commit, Merge, …
SCM (SVN, Git, TFS): functionalities, components
Global architecture and implementation of a data repository
SCM clients, plugins for Eclipse
Perspectives, Eclipse operations, conflict management

Workshop: Version management of an application

Where to use Maven? Where not to use it?
Eclipse plugins: m2Eclipse or q4e
Principle of repositories; choice of a simple physical architecture
Setting up a project, structure
Accessing the project
Building the project
User systematisms; additional actions available
Dependencies between projects
Predefined tasks: compilation, generation of archives …

Workshop: Application building with Eclipse / Maven

Passing of the certification (if foreseen in the financing).

Duration

4 days

Price

£ 2195

Audience

Java developers

Prerequisites

Knowledge of Java object-oriented programming

Reference

JAV100261-F

Sessions

Contact us for more informations about session date

Eclipse : Advanced use

Goals


- Master the Eclipse environment: configuration, unit tests, version management, task automation

Program

Environment and views
Perspectives
Properties: character encoding, JRE, servers, shortcuts, …
Launching Eclipse with different JREs
Creation and configuration of projects
IDE help, research
Addition of
Eclipse Plugins and Features and UML modeling

Workshop: Eclipse configuration, creation of projects, addition of plugins

Code organization, editing (opening modes)
Configuration of libraries (buildPath) and associated JavaDoc (online / archive)
Completion, access to the JavaDoc and assisted correction
Refactoring functions
Debug your code: breakpoints, variable inspection , execution stack
Unit tests with jUnit: TestCase, TestSuite, execution

Workshop: Putting into practice the different functions in an application

Software configuration management (SCM): presentation, positioning, tools
GCL terminology: Branch, Tag, Checkout, Commit, Merge, …
SCM (SVN, Git, TFS): functionalities, components
Global architecture and implementation of a data repository
SCM clients, plugins for Eclipse
Perspectives, Eclipse operations, conflict management

Workshop: Version management of an application

Where to use Maven? Where not to use it?
Eclipse plugins: m2Eclipse or q4e
Principle of repositories; choice of a simple physical architecture
Setting up a project, structure
Accessing the project
Building the project
User systematisms; additional actions available
Dependencies between projects
Predefined tasks: compilation, generation of archives …

Workshop: Application building with Eclipse / Maven

Duration

2 days

Price

£ 1085

Audience

Java Developers

Prerequisites

Knowledge of Java

Reference

JAV769-F

Sessions

Contact us for more informations about session date

Java SE 8

Goals


- Master the changes brought by Java 8

Program

JavaScript processing for Java (Nashorn)
Disappearance of permgen space
The new API for handling dates / times
Default methods
Repeated annotations, type annotations Method references
Lambdas expressions

Workshop: Multiple demonstrations of new features of the Java 8 language

Weaknesses of the current library
New classes and interfaces introduced by Java 8
Technical choice between durations, instants and local dates
Formatting

Workshop: Use and formatting of dates, operations on dates and durations

Presentation of the syntax and interests
Labdas expressions in the
Streams collections and functional interfaces

Lab: Using Lambdas expressions, flows with collections

What’s New in JavaFX
Deploying Applications with Compact Profiles

Workshop: Running JavaScript code from a Java application, deploying applications

Passing of the certification (if foreseen in the financing).

Duration

2 days

Price

£ 1085

Audience

Java Developers

Prerequisites

Knowledge of Java object-oriented programming

Reference

JAV843-F

Sessions

Contact us for more informations about session date

Java Initiation: Programming as an object

Goals


- Great beginners: discover object-oriented programming through the Java language Build a first complete application

Program

History, versions
Java editions: Java SE, Java EE, Java ME
Compilation and interpretation by the JVM (Java Virtual Machine)
Java technologies / frameworks and positioning
Development environment
Packaging and deployment of a Java application

Workshop: Installation of the JDK (Java Development Kit) and an IDE (Eclipse / NetBeans) – Structure of a project, buildPath, …

Configuration
Main views, perspectives
Useful shortcuts
Using the debugger
Using the IDE to increase productivity: snippets, refactoring, automatic code generation

Use of variables, constants, operators
Simple types and reference types
Explicit, implicit cast, wrappers
Execution priorities
Condition expression: if / else, switch, ternary operator
Use of loops: for, while, do while Array
manipulation
Code factorization with
Overload methods , variable arguments, recursion
Comment and document code

Workshop: Multiple examples of manipulation of control structures and functions

Definition of classes, POJO vs JavaBean
Declaration of instance / class members (static)
Constructors and instantiation
Lifecycle of an object in memory
Class diagram (UML)
Aggregation of objects (association)
Encapsulation: getters and setters
Extension of classes (Inheritance)
Object comparison
Abstract classes
Interfaces and implementation
Polymorphism

Workshop: Modeling of problems into objects

Definition, types of exceptions
Catch and process an exception (try / catch / finally)
Throw / Raise an exception (throw / throws)
Create exceptions

Workshop: Managing exceptions that may be triggered in an application

Presentation of the available API,
Comparative generics , choice of a type of collection
Essential classes: ArrayList, HashMap, … Browsing
, operations on collections and sorting

Workshop: Handling of collections of objects

Binary / character
streams Reading and writing of files
Using buffers
Manipulating paths, directories, monitoring
Serialization of objects: binary, XML
Externalization of configuration in .properties
Log management: java.util.logging, Log4j

Workshop: Implementation of exports and imports from files

Notions on data repository and branches
Challenges of configuration management
Check the status of the working copy: status
Index your modifications: add
Validate your modifications: commit
Pull, push and delete a remote branch

Network communications
Process management
JVM options
Code optimization, genericity
Introspection (Reflection API) 

Workshop: code optimization and deployments

Passing of the certification (if foreseen in the financing).

Duration

5 days

Price

£ 2025

Audience

All

Prerequisites

Basic computer knowledge, elementary algorithmic knowledge

Reference

JAV100976-F

Sessions

Contact us for more informations about session date

Swing / MVC: creation of graphical interfaces

Goals


- Develop graphical interfaces with Swing

- Carry out unit tests for HMI

Program

Presentation of the Java Foundation Classes:
(AWT, Swing, Java2D, DragAndDrop, Accessibility and Internationalization)
Comparison of AWT and SWING models
Reminders of the main design patterns used in Java

The fundamental bases
The MVC pattern (Model-View-Controller)
Parametrization of graphic charters (Pluggable look and feel)
Organization of graphical interfaces with event management
Construction of GUI with NetBeans

Principle
High level
containers Utility containers (general and specific)

Principle
Overview of available components
Construction of multiple graphical interfaces

Layouts managers: definition
The most common managers (absolute, BorderLayout, FlowLayout, GridLayout, ..)
Other managers used in WYSIWYG

Principle
Fundamental classes
Available listeners
Separation presentation / treatment
Performances
Multiple examples

Unit tests with JFC Unit
Customizations, internationalization
Print and copy management

Architecture and implementation of a complete application

Duration

3 days

Price

£ 1385

Audience

All

Prerequisites

Know the basics of Java

Reference

JAV222-F

Sessions

Contact us for more informations about session date

Java and XML

Goals


- Master XML

- Be able to foresee its cases and its use patterns

- Know how to choose and use an adequate java implementation

- Be able to carry out complex transformations of documents

Program

Java: reminder of
XML history and domains databases
For what? For who ?

Simple syntax
– Document
– Tags
– Attributes
Special syntax
– Inheritances
– Namespaces
Presentation of DTDs (Document Type Definition)
Real-life examples

Open and read any document with SAX
Observation of errors in the document
Modification of a document
Declaration of a DTD: validate a document

Reading and Exploring a Document
Create, Modify, and Save

Transforming a document with XSLT
XSLT: stylesheets
XSLT: models
XSLT: patterns
XPath: data types, axes and functions

Duration

3 days

Price

£ 1275

Audience

All

Prerequisites

Have followed the « Java initiation » course or have equivalent knowledge

Reference

JAV27-F

Sessions

Contact us for more informations about session date

Java SE Intermediate : Design patterns

Goals


- Learn to implement design patterns

Program

History and reference works
Fields of application
How to apply Design Patterns

Factory and Abstract Factory for creation under
Singleton and derivative conditions : control of available resources

The Composite, how to simplify the
Proxy and Adapter lists , the interfaces for accessing the methods
The Facade: clarifying a component

Strategy: the method factory
The iterator and its existing implementations
Observe: events without events
Chain of responsibility and responsibility trees
Visitor and access: mastery of collaboration
Overview of other Design Patterns

Duration

2 days

Price

£ 1530

Audience

Java Developers

Prerequisites

Have taken the Java Initiation + Deepening course or equivalent concepts

Reference

JAV100953-F

Sessions

Contact us for more informations about session date

Java SE Intermediate : Advanced Object Design

Goals


- Master the fundamentals of OOP

- Understand the decomposition of a business application into objects (OO design / design)

- Apply the principles of grouping, structuring and communication between the objects of a complex system

- Design OO systems in order to promote maintainability and facilitate change in an iterative context

- Apply SOLID principles

- Understand certain business design models (Repository, Factory, DTO)

- Know the place and differences between architectural styles

- Know some models architectural (DDD, Clean Architecture …)

- Design weakly coupled and cohesive applications.

Program

Encapsulation: interest, good practices
Aggregation of objects
Inheritance: use case, preference for composition
Polymorphism: ad-hoc, subtyping, parametric types
Value Objects
Virtuous circle of ignorance

Workshop: building a coherent class scheme

Tell don’t ask
Dependency management
Breakdown of business rules based on interaction
Behavior-based design
Demeter’s Law

Workshop: implementation of behavior patterns

Design by concepts rather than by data: concepts, object types
Hexagonal Architecture
Presentation of SOLID
principles Unique responsibility
principle (SRP) Open-close principle (OCP)

Workshop: multiple examples of bad / good implementation

Abstraction-Instability metric (RC Martin)
Liskov substitution principle (LSP)
Composition versus inheritance
Principle of interface segregation (ISP)

Workshop: analysis of a code and presentation of metrics – rewriting of concrete examples

Modular
design Business domain design (DDD overview)
Infrastructure separation (persistence, UI, ORM, etc.)
Dependency inversion principle (DIP)
Repositories (Repositories)
Transport object (DTO)
Presentation of clean architecture

Workshop: implementing a layered applicaion

Duration

3 days

Price

£ 1530

Audience

Java Developers

Prerequisites

Have taken the Java Initiation + Deepening course or equivalent concepts

Reference

JAV100952-F

Sessions

Contact us for more informations about session date

Java SE Intermediate : Advanced object design + Design patterns

Goals


- Master the fundamentals of OOP

- Understand the decomposition of a business application into objects (OO design / design)

- Apply the principles of grouping, structuring and communication between the objects of a complex system

- Design OO systems in order to promote maintainability and facilitate change in an iterative context

- Apply SOLID principles

- Understand certain business design models (Repository, Factory, DTO)

- Know the place and differences between architectural styles

- Know some models architectural (DDD, Clean Architecture …)

- Design weakly coupled and cohesive applications

- Learn to implement design patterns

Program

Encapsulation: interest, good practices
Aggregation of objects
Inheritance: use case, preference for composition
Polymorphism: ad-hoc, subtyping, parametric types
Value Objects
Virtuous circle of ignorance

Workshop: building a coherent class scheme

Tell don’t ask
Dependency management
Breakdown of business rules based on interaction
Behavior-based design
Demeter’s Law

Workshop: implementation of behavior patterns

Design by concepts rather than by data: concepts, object types
Hexagonal Architecture
Presentation of SOLID
principles Unique responsibility
principle (SRP) Open-close principle (OCP)

Workshop: multiple examples of bad / good implementation

Abstraction-Instability metric (RC Martin)
Liskov substitution principle (LSP)
Composition versus inheritance
Principle of interface segregation (ISP)

Workshop: analysis of a code and presentation of metrics – rewriting of concrete examples

Modular
design Business domain design (DDD overview)
Infrastructure separation (persistence, UI, ORM, etc.)
Dependency inversion principle (DIP)
Repositories (Repositories)
Transport object (DTO)
Presentation of clean architecture

Workshop: implementing a layered applicaion

History and reference works
Fields of application
How to apply Design Patterns

Factory and Abstract Factory for creation under
Singleton and derivative conditions : control of available resources

The Composite, how to simplify the
Proxy and Adapter lists , the interfaces for accessing the methods
The Facade: clarifying a component

Strategy: the method factory
The iterator and its existing implementations
Observe: events without events
Chain of responsibility and responsibility trees
Visitor and access: mastery of collaboration
Overview of other Design Patterns

Duration

5 days

Price

£ 2045

Audience

Java Developers

Prerequisites

Have taken the Java Initiation + Deepening course or equivalent concepts

Reference

JAV100931-F

Sessions

Contact us for more informations about session date

Java SE Advanced

Goals


- Know and master the advanced concepts of Java programming

- Build and deploy complete, high-performance and maintainable applications

Program

Presentation of Swing: containers, widgets
Modal / non-modal windows, message boxes
Positioning of controls (Layout Managers)
Event management: keyboards,
WYSIWYG mice available
Resizing management

Workshop: Complete management application

Presentation of the JDBC API
Writing queries and processing results
Transaction management
Object relational mapping (Pattern DAO)
Presentation of ORM frameworks

Workshop: Organization and implementation of a data access layer

Network communications
Process management
JVM options
Code optimization, genericity
Introspection (Reflection API)

Workshop: code optimization and deployments

Passing of the certification (if foreseen in the financing).

Duration

2 days

Price

£ 1165

Audience

All

Prerequisites

Have followed the « Java initiation » course or have equivalent knowledge

Reference

JAV26-F

Sessions

Contact us for more informations about session date

Java SE Initiation

Goals


- To be able to realize applications in Java

- To know how to choose the adapted technologies and to set up efficient interfaces

Program

History, versions
Java editions: Java SE, Java EE, Java ME
Compilation and interpretation by the JVM (Java Virtual Machine)
Java technologies / frameworks and positioning
Development environment
Packaging and deployment of a Java application

Workshop: Installation of the JDK (Java Development Kit) and an IDE (Eclipse / NetBeans) – Structure of a project, buildPath, …

Use of variables, constants, operators
Simple types and reference types
Casting, Wrappers
Expression of conditions: if / else, switch, ternary operator
Use of loops: for, while, do while
Manipulation of arrays
Factorization of codes with methods
Overload, variable arguments, recursion
Comment and document code

Workshop: Multiple examples of manipulation of control structures and functions

Definition of classes, POJO vs JavaBean
Declaration of instance / class members (static)
Constructors and instantiation
Lifecycle of an object in memory
Class diagram (UML)
Aggregation of objects (association)
Encapsulation: getters and setters
Extension of classes (Inheritance)
Object comparison
Abstract classes
Interfaces and implementation
Polymorphism

Workshop: Modeling of problems into objects

Definition, types of exceptions
Catch and process an exception (try / catch / finally)
Throw / Raise an exception (throw / throws)
Create exceptions

Workshop: Managing exceptions that may be triggered in an application

Presentation of the available API,
Comparative generics , choice of a type of collection
Essential classes: ArrayList, HashMap, … Browsing
, operations on collections and sorting

Workshop: Handling of collections of objects

Binary / character
streams Reading and writing of files
Using buffers
Manipulating paths, directories, monitoring
Serialization of objects: binary, XML
Externalization of configuration in .properties
Log management: java.util.logging, Log4j

Workshop: Implementation of exports and imports from files

Passing of the certification (if foreseen in the financing).

Duration

3 days

Price

£ 1755

Audience

All

Prerequisites

Programming concepts

Reference

JAV25-F

Sessions

Contact us for more informations about session date

Java SE Initiation + Advanced

Goals


- Realize and deploy complete, powerful and maintainable applications in Java

- Knowing how to choose the appropriate technologies and setting up effective interfaces

- Knowing and mastering the advanced concepts of Java programming

Program

History, versions
Java editions: Java SE, Java EE, Java ME
Compilation and interpretation by the JVM (Java Virtual Machine)
Java technologies / frameworks and positioning
Development environment
Packaging and deployment of a Java application

Workshop: Installation of the JDK (Java Development Kit) and an IDE (Eclipse / NetBeans) – Structure of a project, buildPath, …

Use of variables, constants, operators
Simple types and reference types
Casting, Wrappers
Expression of conditions: if / else, switch, ternary operator
Use of loops: for, while, do while
Manipulation of arrays
Factorization of codes with methods
Overload, variable arguments, recursion
Comment and document code

Workshop: Multiple examples of manipulation of control structures and functions

Definition of classes, POJO vs JavaBean
Declaration of instance / class members (static)
Constructors and instantiation
Lifecycle of an object in memory
Class diagram (UML)
Aggregation of objects (association)
Encapsulation: getters and setters
Extension of classes (Inheritance)
Object comparison
Abstract classes
Interfaces and implementation
Polymorphism

Workshop: Modeling of problems into objects

Definition, types of exceptions
Catch and process an exception (try / catch / finally)
Throw / Raise an exception (throw / throws)
Create exceptions

Workshop: Managing exceptions that may be triggered in an application

Presentation of the available API,
Comparative generics , choice of a type of collection
Essential classes: ArrayList, HashMap, … Browsing
, operations on collections and sorting

Workshop: Handling of collections of objects

Binary / character
streams Reading and writing of files
Using buffers
Manipulating paths, directories, monitoring
Serialization of objects: binary, XML
Externalization of configuration in .properties
Log management: java.util.logging, Log4j

Workshop: Implementation of exports and imports from files

Presentation of Swing: containers, widgets
Modal / non-modal windows, message boxes
Positioning of controls (Layout Managers)
Event management: keyboards,
WYSIWYG mice available
Resizing management

Workshop: Complete management application

Presentation of the JDBC API
Writing queries and processing results
Transaction management
Object relational mapping (Pattern DAO)
Presentation of ORM frameworks

Workshop: Organization and implementation of a data access layer

Network communications
Process management
JVM options
Code optimization, genericity
Introspection (Reflection API) 

Workshop: code optimization and deployments

Passing of the certification (if foreseen in the financing).

Duration

5 days

Price

£ 2785

Audience

All

Prerequisites

Programming concepts

Reference

JAV28-F

Sessions

Contact us for more informations about session date

Java SE / Java EE certifications

CMS – Portals

Java SE / Java EE, Reporting

Other Java

Java EE Administration

Java EE, Rich client applications

Java SE / Java EE, Build tools

Java EE, web services

Java EE, data persistence

Java EE, MVC web frameworks

Java EE, Spring Frameworks

Analysis methods : Merise

Goals


- Master the analysis approach adopted by the Merise method

- Apply the different models

Program

Presentation of Merise, history
Basic concepts
Positioning of the method in relation to UP
Global approach of the method, glossary
Study of the existing: models and flow diagrams, validation

Practical workshop: creation of data dictionaries from project documents

Flow study: types, actors
Context model, conceptual and organizational model of flows

Practical workshop: building a flow model

Conceptual Data Model (CDM):
– Presentation, approach
– Design components and rules
– Objects, properties, relationships and occurrence indicators
Conceptual Processing Model (CDM):
– Processes and operations
– Events and results
– Synchronization of processing
– Design rules: issuance, management, development from the flow model

Practical workshop: construction of a CDM from the data dictionary – Design of the CDM and life cycle

Logical Processing Model (MLT):
– Main concepts
– Functional dialogue and man / machine dialogue
– HMI / Kernel
Logical Data Model (LDM):
– Navigational
model – Relational model

Practical workshop: transformation of MLT, MLD, …

Organizational Processing Model (MOT):
– Main concepts and construction rules
– External models
Organizational Data Model (MOD):
– Presentation, conceptual data
– Construction and presentation rules

Practical workshop: design of organizational models corresponding to the processed data

Global approach
Detailed study of the different stages of analysis and design
Merise and the object approach
Usable UML diagrams

Practical workshop: study of certain UML diagrams and project management

Duration

5 days

Price

£ 2565

Audience

Project managers, architects, developers

Prerequisites

No

Reference

GéN315-F

Sessions

Contact us for more informations about session date

Rational Unified Process and eXtrem Programming

Goals


- Discover RUP and XP

Program

Project management methods: principle, comparison
From old methods to agile methods
IT project: specificities, collaborations

Cascading life cycle, iterative
RUP and UML life cycle
Risk management
Iterative development
Requirements management
Component-based architectures
Phases: creation, development, construction, transition
Feedback and practical work

Simple design
Refactoring
Tests
Development in pairs
Collective responsibility for the code
Continuous integration
Frequent deliveries
Iterative planning
Other agile methods Feedback
and practical work

Duration

1 day

Price

£ 809

Audience

All

Prerequisites

IT project management experience

Reference

GéN207-F

Sessions

Contact us for more informations about session date

UML 2 – Advanced

Goals


- Acquire the fundamental concepts of UML analysis / design

Program

Reminder of modeling needs; context, environment, types
Positioning of diagrams in the development cycle

Sequence diagram: interactions between objects over time. Synchronous and asynchronous messages
Communication diagram: role of objects, interactions, concurrency of processes …
Global interaction
diagram Time diagram: variations over time
Component diagram: description of application modules and description of dependencies
Diagram of composite structure: detail of the internal structure of a composite component
Profile diagram (UML 2.2): specialization of a general model

Practical workshop: Multiple examples of analysis and modeling of system dynamics

Diagram of packages, classes, objects: reminders, organization, links
Activity diagram: modeling of the object / activity flow for the performance of an operation
State-transition diagram: detail of the transitions affecting the state of a
Diagram object deployment: physical distribution of system components

Practical workshop: Construction / Application of defined diagrams to complete structures

Detailed study of specifications: UML Infrastructure / Superstructure
Model-driven development (MDA – MDD)
Use of design pattern in class diagrams
Contribution of frameworks
Nesting of diagrams
Design tools: functionalities, report, code generation (BOUML, ArgoUml , …)

Practical workshop: Complete analysis of a project using the Unified Process method

Duration

3 days

Price

£ 1606

Audience

Developers, project managers

Prerequisites

Have followed the UML 2 Initiation course or have equivalent knowledge

Reference

GéN470-F

Sessions

Contact us for more informations about session date

UML 2 – Initiation

Goals


- Knowledge of object programming

Program

Modeling needs: analysis and design of an IT project
Presentation of the language: principle, history and utility
Modeling approaches: UML and analysis methods (Merise, Unified Process)
Panorama of UML modeling environments
General terminology: meta-model , view, model, …
Types of diagrams: structures, behaviors, interactions
Positioning of diagrams in the development cycle

Practical workshop: presentation and analysis of several case studies (UP method)

Use case diagram: presentation, functionalities
Description of diagram elements: actors, use cases
Pre / Post conditions and Types of relationships
Methodology: identification of actors, description of use cases, scenarios

Practical workshop: analysis of a project specifications and construction of use case diagrams

The object in relation to other programming styles (imperative, procedural)
Classes, objects and packages
Methods and inter-object communication
Aggregation and encapsulation
Inheritance, polymorphism, abstract classes and interfaces

Practical workshop: application of the different concepts of object-oriented programming with a programming language or with an algorithmic syntax

Sequence diagram: interactions between objects over time. Synchronous and asynchronous messages
Communication diagram: role of objects, interactions, concurrency of processes …

Component diagram: description of application modules and description of dependencies

Practical workshop: Multiple examples of analysis and modeling of system dynamics

Package diagram: organization of the different classes / layers of the application
Class diagram: static representation of the internal structure of the application
Object diagram: representation of the state of the system at a given time (expression of exceptions)
Diagram of activities: modeling of the object / activity flow for the performance of an operation
State-transition diagram: detail of the transitions affecting the state of an object

Practical workshop: Construction / Application of defined diagrams to complete structures

Duration

2 days

Price

£ 1092

Audience

Developers, project managers

Prerequisites

Knowledge of object programming

Reference

GéN469-F

Sessions

Contact us for more informations about session date