CDI/Weld: Context And Dependency Injection (JavaEE Standard)
- Weld: Official CDI implementation for JavaEE (from Jboss/RedHat)
- High level overview of Dependency Injection
- Overview and comparison of Spring and Weld
- Dependency Injection with Weld
- Producers (of injectable objects – factory methods)
- Qualifiers, Alternatives, Decorators
- Interceptors (Aspect oriented programming)
- Scopes – Request Scope, Application Scope, Dependent Scope.
- Comparison and Contrast with Spring
JAX-RS/Jersey (JavaEE Standard):
- JAX-RS: JavaEE Rest Services Standard
- Jersey: Sun/Oracle implementation of REST Standard
- Benefits of REST Services coupled with Single Page Apps(SPA)/Mobile Apps
- of a simple REST Service which integrates following technologies to serve an AngularJS application:
- Java 8 ,Hibernate/JPA ,Database ,Weld/CDI ,Jersey/JAX-RS ,Tomcat
- Minimal JavaEE Web Application (.war with Servlet/JSPs)- deploying to Tomcat 8.
- HTTP Protocol: GET/POST/PUT/DELETE Methods.
- JSON: Introduction to JSON
- REST Resource using Weld for Dependency injection from REST layer all the way down.
- Finding objects – Various types of GET Requests and URL Path matching – @Produces
- Creating and updating objects – @Consumes
- Centralized error handling and returning proper HTTP Codes and error messages.
- e.g. Create a User, Update a User, Delete a User, and find one or more Users.
- Introduction to JUnit for development unit testing.
- At least 25% of the hands on demos will be in JUnit.
- Purpose of development unit testing and its importance in large scale applications.
- Unit testing POJO classes/services and REST Services from JUnit (JavaSE).
- Introduction to Ant for building java applications.
- Will cover ant targets, javac, jar tasks, etc and building war applications.
- WAR Archive format
- web.xml structure for Weld and REST Services
- Tomcat Server Configuration
- Stateless vs Stateful Web Services Deployment
- DataSources Configuration
- WebServices Deployment and Redeployment