JBoss and EJB3 for Java Developers

Request info

Prerequisites

Basic Java programming skills and knowledge of OOAD concepts are required. The student must have practical knowledge of, and/or experience with, the following:

  • The object-oriented concepts of inheritance, polymorphism and encapsulation
  • Java syntax, specifically for data types, variables, operators, statements and control flow
  • Writing Java classes as well as using Java interfaces and abstract classes
  • Using Java collections
  • Handling Java exceptions
  • Using the JDK and creating the necessary environment for compilation and execution of a Java executable from the command line.

Course Objectives

JBoss and EJB3 for Java Developers is targeted toward Java developers who wish to extend their knowledge to EJB3 and Java EE middleware programming using the JBoss Application Server. This class is an introduction to Java EE web-tier and EJB3 development using the JBoss Application Server. It provides a hands-on approach to Java Servlet, JSP, JSF and EJB3 development, deployment and the tools necessary to facilitate both processes.

Course Content

1. Servlets

This module provides the background and motivation that led to the creation of the Java Servlet specification as well as an overview of the servlet architecture. It covers basic HTTP request and parameter handling, HTTP Sessions, filters and web application lifecycle events. It also covers the Web Archive (WAR) packaging, how to use JBoss specific deployment descriptors for servlet configuration, and how to configure Tomcat connectors.

Here we describe the servlet container (in this case Apache Tomcat). It includes a description of how and why it provides the services it does as well as how to configure your web application to properly take advantage of its services.

To properly make use of Servlet technology, an understanding of the HyperText Transfer Protocol is required. One must know the difference between GET and POST and be able to indicate MIME types properly to effectively receive input from web forms and provide content in response. Additionally, we will discuss how Cookies allow websites to maintain a relationship with its users by remembering them.

2. HTTP Session

Here students will learn what the powerful HTTP Session can be used for and how it can save time for your users by increasing the performance of your application.

This module extends your understanding of the Servlet by detailing it’s lifecycle and further showing how one might tap into this by listening for lifecycle events and covers how to implement a servlet filter to process incoming and outgoing data.

3. JSP

Here we go into depth on the power of JSPs. We will discus Expression Language (or EL) which enables developers to make calls into their JavaBeans directly from their web pages and output the results in a very readable fashion.

We will also look at Tag Libraries and why one might use them? This module demonstrates some of the functions available in the Java Standard Tab Library (JSTL) and how to use them. We will write our own custom tags such that you will be able to extend the JSP programming model to meet your needs.

4. Web Security

Building your web presence is important, but it can be dangerous as well. In this module we will visit some of the security pitfalls and show you how to avoid them in your own deployment. This includes discussion of locking down your system and protecting it with passwords as well as implementing HTTPS using your own security certificate.

5. Building Applications Using JSF

This module will discuss the use of Java Server Faces (JSF). How and why would a developer use such a framework? What advantages does it offer in designing and building a clean, modular application? How will JSF technology help you reach broader, worldwide audiences? How does JSF yield more maintainable code and how can you extend its functionality to meet the needs of your business? These questions and more comprise are addressed here.

6.The Java Persistence API (JPA)

This module introduces the Java Persistence API (JPA), its value and how developers can take advantage of this leap forward in object-relational mapping (ORM).We will see why this technology is so exciting to the industry and what it can offer you. We will learn about how to properly map objects, what options are available for complex relationships (including inheritance – a strength of object-oriented programming) and will gain insight into how to make these decisions.

Entity lifecycle, query language, proper packaging and optimizations such as lazy fetch will also be discussed here. Additionally, developers will see how annotations, the modern and powerful Java language feature, helps to make developers more efficient as they do the same for their applications. However, XML overrides will not be ignored as they retain significant value even in this annotated world.

7. Enterprise JavaBeans (EJB3)

This module provides a basic introduction to Enterprise Java Beans. It explains the case for server-side components and the different types of Beans available: session, entity and message-driven beans. It presents how to author each of these in an EJB3 world.The student will learn how to specify a local and/ or remote POJI (plain old Java interface) for the simple POJO-based component.

It will introduce stateless session beans and stateful session beans, the relevant Java annotations to create EJB3 components, EJB3 packaging and deployment.

8. Web Services with EJB3

This section will provide an overview of the architecture and implementation of Java EE web services. The student will learn how to expose EJB3 and Servlet components to enable remote XML RPC invocations to these components. The student will learn the basic approach of integrating the JBoss application server with legacy enterprise middleware and .NET.

Duration: 4 Days

Cost: £2295 + VAT

SELECT wp_posts.*, wp_p2p.* FROM wp_posts INNER JOIN wp_postmeta ON ( wp_posts.ID = wp_postmeta.post_id ) INNER JOIN wp_p2p WHERE 1=1 AND ( ( wp_postmeta.meta_key = 'start_date' AND CAST(wp_postmeta.meta_value AS DATE) >= '2024-10-06' ) ) AND ((wp_posts.post_type = 'schedule' AND (wp_posts.post_status = 'publish' OR wp_posts.post_status = 'acf-disabled'))) AND (wp_p2p.p2p_type = 'schedule_to_courses' AND wp_posts.ID = wp_p2p.p2p_from AND wp_p2p.p2p_to IN (SELECT wp_posts.ID FROM wp_posts WHERE 1=1 AND wp_posts.ID IN (2263) AND ((wp_posts.post_type = 'courses' AND (wp_posts.post_status = 'publish' OR wp_posts.post_status = 'acf-disabled'))) ORDER BY wp_posts.post_date DESC )) GROUP BY wp_posts.ID ORDER BY CAST(wp_postmeta.meta_value AS DATE) ASC