Category: Java, JEE, Android programming
The course covers all the stages of building rich enterprise application using the popular JBoss technology stack:
- RichFaces – a library of rich ajax components conforming to the JavaServer Faces standard (The current version can be seen in the official showcase),
- Seam 3 – a set of CDI modules, enriching the standard EE6 platform,
- JBoss – an enterprise-grade application server, built on top of reliable RedHat technologies such as Hibernate and Weld;
- Eclipse IDE with the JBoss Tools plugin – an integrated development environment, featuring drag and drop web editor.
The JBoss stack offers many unique qualities, but above all it is a certified implementation of the industry standard JEE6 platform (Java Enterprise Edition 6). Participants will learn the fundamental, vendor-neutral:
- EJB 3.1 (Enterprise Java Beans),
- JSF 2.1 (JavaServer Faces),
- JPA 2 (Java Persistence Architecture),
- EL, JSR-303, JTA, JNDI, CDI.
Knowledge acquired during the training can be applied in any standard Java EE 6 environment, using not only JBoss AS but also Glassfish, Weblogic, Websphere, TomEE, Resin and any other EE6 certified application server. Also, in addition to Richfaces any other component suite can be used, such as IceFaces, PrimeFaces
- Domain model and the database layer – Java Persistence Architecture 2:
- basic mappings and relations, life cycle of an entity;
- complex mappings: inheritance, composition, uni- and bidirectional relations;
- surrogate and natural primary keys, multicolumn keys, implied values;
- JPQL queries;
- typed queries: Criteria API;
- collections of simple and embeddable types, ordering collections;
- validation using Bean Validation:
- built-in validators,
- custom validators.
- advanced validation using SEAM3.
- The service layer:
- resources and the JNDI tree: java:comp/env, java:global/env, java:app/env;
- EJB 3.1: stateless and stateful session beans;
- remote, local and no-interface views, remote calls and argument passing;
- desktop applications as remote EJB clients;
- services using JPA, persistence context propagation;
- Container Managed Transactions and Application Managed Transactions;
- asynchronous calls, scheduling;
- CDI: managed beans, factories, dependency injection, events;
- coexistence of CDI and EJB beans;
- basic SOAP service with JAXB mapping;
- basic RESTful service (using JSON and XML).
- The presentation layer: JavaServer Faces 2.1:
- Facelets: syntax, components, templates;
- Expression Language, deferred expresions;
- Managed Beans, scopes;
- Components (inputs, selects, panels, iterators);
- integration with JSR-303;
- JSF life cycle: building and restoring view, conversion, validation, actions, using FacesContext;
- collections and the usual problems;
- common patterns and pitfalls, solutions to typical problems, using OmniFaces utilities:
- dependent inputs,
- master/detail views,
- paging large sets of data,
- cross-component validation,
- bookmarkable URLs,
- custom converters for use in UISelectOne.
Audience and prerequisites
Participants should know the basics of HTML and SQL. Deeper knowledge of other web technologies and platforms is an advantage.
Good command of the Java language is required, participants are expected to write programs using classes, methods and attributes, enumerations, collections, operations on strings and numbers. However, knowledge of algorithms or design patterns is not necessary.
Course participants receive completion certificates signed by ALX.
- Java programmer
- Android Developer (complete course)
- Learning Java and Programming
- Java for programmers
- Web application programming using Java Servlet and JSP
- Web application programming using JSF
- Spring, Hibernate and Spring MVC
- Business components development with EJB 3.1 and JPA 2 (Java EE6)
- Business components development with Spring and Hibernate
- Java Enterprise Web Development with Spring 3 and JavaServer Faces 2
- Glassfish, PrimeFaces. Building Applications for the Java Enterprise Edition 6
- IceFaces. Enterprise web applications
- XML Processing in Java
- Android programming
- Android programming (advanced)
- Games in Android - OpenGL ES 2.0 - Libgdx