J2EE Online Training
Course Duration : 60 Hrs
Enterprise applications provide the business logic for an enterprise. They are centrally managed and often interact with other enterprise software.
The aim of the Java EE platform is to provide developers with a powerful set of APIs while shortening development time, reducing application complexity, and improving application performance. Using Java EE we can develop web, distributed multitier applications.
J2EE Course Content
J2ee- Java Enterprise Edition(JEE)
Enterprise applications provide the business logic for an enterprise. They are centrally managed and often interact with other enterprise software.
The aim of the Java EE platform is to provide developers with a powerful set of APIs while shortening development time, reducing application complexity, and improving application performance. Using Java EE we can develop web, distributed multitier applications.
1. Web application development
- Introduction to web application development
- Purpose of web application development
- Various elements of web applications
- Setting up Tomcat web server and Eclipse WTP
- Developing dynamic web applications using Servlet’s
- Overview of Servlet2.5 & 3 API’s
- Handling a client’s request using Servlet
- Configuring servlet’s using xml and annotations
- Web Container
- Servlet Life Cycle
- Http Protocol
- Http Request Format
- Http Response Format
- Coordinating servlets
- Scope objects(Sharing data)
- Servlet Filters
- Filter basics
- Creating a filter
- Understanding the applications of filters
- Servlet Listeners
- Listener’s basics
- Creating a listener & registering
- Understanding the applications of listeners
- Session Tracking
- JSP (JavaServerPages)
- JSP Elements
- Directives
- Declarations
- Scriptlets
- Expressions
- JSP Actions
- Comments
- Implicit objects
- Expression Language (EL)
- JSTL(JSP Standard Tag Libraray)
- Core Tags
- Formatting tags
- SQL tags
- XML tags
- JSTL Function
- Creating Custom JSP Tag Libraries: The Basic
- Java-based tags
- Components of a tag library
- Basic tags
- Tags that use body content
- Tags that optionally use body content
- JSP-based tags (tag files)
- Components of a tag library
- Basic tags
- Tags that use attributes
- Tags that use body content
- Ajax: Asynchronous Page Updates
- The basic Ajax process
- Using dynamic content and JSP
- Using dynamic content and servlets
- Sending GET data
- Sending POST data
- Displaying HTML results
- Parsing and displaying XML results
- JQuery
- Introduction to JQuery
- Working with selectors, events
- Manipulating content dynamically
- JQuery UI and forms
- jQuery and Ajax
- Model1 and Model2(MVC) Architectures
2. JNDI(Java Naming and Directory Interface) API
- Understanding JDNI Tree in Application servers
- Creating context
- Registering bound objects
- Look up bound objects
Enterprise Messaging using JMS(Java Messaging Service) API
- Messaging is a method of communication between software components or applications
- Messaging enables distributed communication that is loosely coupled
- Introduction to JMS
- What is JMS?
- JMS Features
- JMS Architecture
- JMS Fundamentals
- Messaging Models
- Point-to-Point Messaging
- Publish/Subscribe Messaging
- Connection Factory
- Session
- Destination Types
- Message Consumer
- Message Producer
- Configuring JMS
- Types of Messages
- Sending and Receiving Message
REST Full Web Services (JAX-RS with Jersey Implementation)
- Understand the advantages of the REST architecture for web services
- Developing REST Full Web services using JAX-RS
- Manage XML content using XML Schema and JAXB
- Understanding Resources
- Using Http Methods to represent CRUD operations
- Dispatching Request to Methods
- The Application Path
- The @Path Annotation
- The HTTP Method Annotations
- Sub-Resource Locators
- Annotation Inheritance and overriding
- Parameters
- Different Types of Parameters
- Response Types
- @Produces
- Working with different response types
- Java Objects
- XML
- JSON
- HTML/Text
- Binary Content
- Understanding RESTFull Web services support in Spring Framework with a sample application
Hibernate Frame work
1. Object Persistence
- Object/Relational Paradigms
- O/R Mismatch
- Object Relational Mapping (ORM)
- Java ORM/Persistent Frameworks
2. Hibernate Architecture
- Hibernate Architecture and API
- Hibernate Installation/Setup
- Configuration
- Configuration Properties
- Mapping Files
3. Persistent Classes
- POJOs
- JavaBeans
- Basic Mapping
- Class to Table Mappings
- Property Mapping
- Identifiers
- Generators
- Natural Keys
- Identifier Exposure
- Quoting SQL Tables and Columns
4. Working with Persistent Objects
- Entity Lifecycle
- Transient State
- Persistent State
- Persistent Object Updates and Automatic Dirty Checking
- Deattached State
- Deleted
- Object Identifiers Revisited
- Merge
5. Components
- Domain Model
- Entities and Values
- Components
6. Associations
- Many-to-one
- Bidirectional Many-to-one
- Other Collections
- Other Associations
- One-to-one
- Bidirectional One-to-one
- Many-to-many
- Bidirectional Many-to-many
7. Value Type Collections
- Collections of Value Types
- Collections of Components
- Sorting Collections
8. Inheritance
- Inheritance Mapping Strategies
- Table per concrete class
- Table per subclass
- Table per hierarchy
- Inheritance Mapping Pros/Cons
- Polymorphism
- Table per concrete class with unions
- Choosing an Inheritance Strategy
9. Transitive Persistence
- Lazy Loading
- Proxies
- Eager Loading
- What’s a Proxy?
- Detached Objects and Proxies
- Polymorphic Associations Revisited
10. HQL
- Hibernate Object Fetching Options
- Hibernate Query
- HQL Parameters
- Named Queries
- Native SQL
11. Criteria
- Restrictions
- Query By Example
- Scrolling
- Query Hints
- Query Option Pros/Cons
12. Transactions and Concurrency
- The Java Transaction
- Hibernate Transaction Configuration
- Hibernate Transaction API
- Concurrency
- Isolation Levels
- Optimistic Locking
- Versioning
- Pessimistic Locking
13. Cache
- Hibernate Caching Architecture
- First Level Cache
- Second Level Cache
- Cache Concurrency
- Configuring Second Level Cache
Spring4.x Framework
1. Overview of Spring4 modules
- The Core IOC Module
- AOP (Aspect Oriented Programming)
- Spring JDBC
- Spring ORM(Object Relational Mapping)
- Spring JEE (Java Enterprise Edition)
- Spring MVC
- Spring Security
2. Dependency Injection /Inversion of control
3. IOC Containers
4. Spring 3 Expression Language(SpEL)
- The Spring Expression Language (SpEL for short) is a powerful expression language that supports querying and manipulating an object graph at runtime
5. Annotation Driven Configuration in Depth
- Stereotypes: @Component, @Service, @Controller, @Repository
- Java EE 5 Annotation Support
- Defining Custom Annotations
- Autowiring
- @Autowired on setters, constructures, methods, fields
- Injecting resources like ApplicationContext
- Fine tuning with @Qualifier
- Java Based Bean Metadata (JavaConfig)
- Overview - code-centric Configuration
- @Confguration, @Bean, and @Value
- Importing and @Import
- Autowiring in Configuration Classes
- Mixing XML Configuraiton and @Configuration
6. AspectOrientedProgramming
- AOP Concepts
- Advices and its types
- Auto proxying
- AOP Proxies
- AspectJ Style of Programming
- @Aspect
- @Before
- @After
- @AfterReturning
- @Around
- @AfterThrowing
- Working with point cut expression’s
7. Spring Web MVC Annotation driven
8. Spring JDBC
9. Object Relational Mapping Intergration
- Spring-Hibernate integration
- Spring-JPA integration
10. Spring Transaction (TX) Management
11. Spring Security
Spring Boot
Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can “just run”.
Introduction to Spring Boot
Developing first Spring Boot application
Understanding Spring Boot Configurations
- Working with application.properties
- Using YAML in place of application.properties
- Setting spring profiles
Spring Boot Starters
Starters are a set of convenient dependency descriptors that you can include in your application. You get a one-stop-shop for all the Spring and related technology that you need, without having to hunt through sample code and copy paste loads of dependency descriptors.
Sprint Data access using Spring Boot
- Working with JPA
- Working with Hibernate
- Working NoSQL Database MongoDB
Developing Web applications using Spring Boot
Spring Enterprise Messaging with RabbitMQ
Building REST APIs
Spring Security
- BASIC Authentication
- OAUTH2
SOAP Based Web Services(Axis2 & JAX-WS)
Defining SOAP Messages with WSDL
- Structure of SOAP messages
- SOAP over HTTP
- SOAP Envelope
- The message header
- The message body
- Soap faults
- Attachments
- Role of SOAP in Web services
- Anatomy of a WSDL document
- WSDL Basics
- WSDL Bindings
Overview of Web Services and Apache Axis2
- Apache Axis2
- Axis2 Features
- Axis2 Architecture and Processing Model
Simple Web Services
- Deploy the Service
- Run the Client
- SOAP Overview
- The SOAP Document
- WSDL Overview
- WSDL Content
- Abstract WSDL Elements
- Concrete WSDL Elements
- SOAP Monitor
Apache Axis2 Web Service Clients
- Steps to Create a Client
- Obtain the WSDL File
- Generated Code
- Client Code Overview
- Import the Generated Classes
- Instantiate the Stub
- Set the Request Parameters
- Call the Service Method and Get the Results
- Compile and Run the Client Code
Apache Axis2 Web Service End-points
- Creating Server Code
- Steps to Create a POJO Service
- Building a POJO
- The Server Descriptor
- The service Element
- MEPs and Message Receivers
- More services.xml Configurations
- AAR Files
- Generating WSDL from Java Code
- Steps to Create a WSDL Based Service
- Generate Server Artifacts from WSDL
- Steps to Edit the Skeleton
- Import the Generated Classes
- Get the Parameters
- Write the Business Code
- Instantiate a Response
- Build and Deploy
Exposing Plain Old Java Objects (POJOs) as Web Services
Implementing code-first Web services
- Choosing between WSDL-first and code-first Web services
- Generating portable artifacts using JAX-WS
- Preserving maintainability with proxies and adapters
Improving generated WSDL
- Annotating Java services
- Deploying end points
Implementing Web Service Clients in Java
Generating client code from WSDL
- Accessing Web services through their WSDL
- Creating client source files from WSDL
- Customizing generated source files with JAX-WS
Dockers
Dockers
Using Dockers, you can package software into standardized units for development, shipment and deployment.
Containers
A container image is a lightweight, stand-alone, executable package of a piece of software that includes everything needed to run it: code, runtime, system tools, system libraries, settings. Available for both Linux and Windows based apps, containerized software will always run the same, regardless of the environment. Containers isolate software from its surroundings, for example differences between development and staging environments and help reduce conflicts between teams running different software on the same infrastructure.
What is Docker?
Installing Docker
Working with Docker Images
- Managing Images
- Docker file and Building Images
Working with Docker Containers
Deploying web applications on Tomcat
Deploying Spring Boot
Publishing to Docker Hub
Microservices
What are Microservices?
Principles of Microservices?
Microservices Architecture
Characteristics of Microservices
Developing RESTful microservices using Spring Boot
Introduction to Spring Cloud
Spring cloud config
Setting up the Config server
Eureka for registration and discovery
- Understanding dynamic service registration and discovery
- Understanding Eureka
- Setting up the Eureka server
Logging and Monitoring Microservices
Using Netflix OSS