Take your programming skills to the next level with our Java e-learning programme


featuring CDI, EJB3, JNDI, JPA, JSF 2, Webservices, JAX-WS and JAX-RS.
  • *** UPDATE - March 2016 *** Parts of this course have now been replaced with a new module covering JavaEE7 with the Wildfly application server.
  • Become a proficient Java Enterprise developer with this comprehensive online video training course covering all of the major topics in JavaEE.
  • Featuring CDI, EJB3, JNDI, JPA, JSF 2, Webservices, JAX-WS and JAX-RS.
  • The course was recorded using Glassfish 3 (JavaEE 6). Glassfish 4 (JavaEE 7) adds some minor new features but the fundamentals are not affected. This course is suitable for both JavaEE 6 and 7 projects.


The JavaEE training course is designed to be accessible to anyone with a reasonable knowledge of basic Java. You will need to be able to write classes and create objects. If you are new to Java, we recommend studying Java Fundamentals first. We are careful to cover any background topics such as webservices before showing the Java specifics.

Contents - contains over 14 hours of video - equivalent to 5 days of live training.


Having problems? check the errata for this course.



9 m 21 s
A brief overview chapter, with a preview of the work we're going to be doing.


Getting Started

30 m 41 s
We now get your IDE prepared (we use Eclipse, but you can use any you wish), and then take you through installing Glassfish. Plus an overview of Java Enterprise, J2EE and JavaEE.


Enterprise Java Beans (EJB3)

37 m 17 s
We now build our first serious code, when we write an EJB with a Remote Interface. Then, we see how to deploy to Glassfish.


Calling EJBs and JNDI

40 m 17 s
We now call our EJB remotely, which gives us a chance to use JNDI. Naming and Directory services are introduced, and we'll be using JNDI throughout the course.


More EJB

63 m 59 s
Some advanced EJB. Local and Remote Interfaces, "No Interface" Option, Dependency Injection and Stateful EJBs.


JPA - Getting Started

52 m 39 s
What is JPA? How is it different to Hibernate? In this chapter, we get started with persisting objects.


Updating and Deleting Entities

25 m 38 s
We now use the EntityManager to update and delete entites.


JPA Relationships

37 m 17 s
We now create a One-To-Many relationship using JPA annotations. We show the difference between Link Tables and Foreign Keys, and we finish with a discussion on the @Cascade annotation.


JPA Query Language (JPQL)

50 m 32 s
JPQL Queries, Named Queries and Report/Aggregation Queries.


JPA on the Server

41 m 35 s
You will now integrate your JPA code with your EJBs, and discover that the @PersistenceContext annotation makes for very clean code. We also explain what Connection Pools are, and how to configure them on Glassfish.



40 m 19 s
Transactions are almost automatic in EJB, but there are still things you need to know. By the end of this chapter, you'll know all about Transaction Propagation Rules.



33 m 13 s
Learn about how EJB handles both checked and unchecked exceptions. You'll also find out about the setRollbackOnly method, and how you can annotate exceptions to determine Rollback Rules.


JSF 2 - Getting Started

47 m 23 s
JSF2 is much improved from previous versions, and we show you how to get started in JSF2 here. You'll learn about Page Backing Beans (or @ManagedBean).


JSF Behaviour

54 m 17 s
How do you run business processes from your JSF pages? Here we call an EJB from a Backing Bean, and invoke it from a JSF component.


JSF Components

63 m 57 s
Using the a Data Table, we build a more interesting page and then see how to navigate from a table to a detail page. Then we finish with a look at some commercial component libraries.


Webservices and SOAP

38 m 39 s
We start from the basics of Webservices, and introduce SOAP and WSDL. We then use the JAX-WS library to make our EJB become a webservice.


SOAP Clients

33 m 40 s
How do we call a Webservice? Using the wsimport tool, we'll be able to call any SOAP based Webservice in the world.


REST Webservices

53 m 11 s
REST is an alternative to SOAP, and again we'll explore it from the fundamentals. We'll study HTTP Verbs and Representations, and see how to integrate REST and EJB.


REST - Going Further

79 m 24 s
We need a further chapter to get proficient with REST. We'll write a REST client, study POST, PUT and DELETE and then look at HTTP Status Codes. A full programming exercise follows this chapter.



63 m 26 s
After locking down our EJB with @RolesAllowed, we'll see how to set up a security realm on Glassfish. Then, we'll learn how to authenticate your JSF, REST and SOAP clients.


Where to go From Here

12 m 29 s
A full review of the course, and a look at some recommended books and web resources.


Bonus Chapter - GET and POST

14 m 28 s
This chapter is an extract from our Java Web Development course, covering the basics of GET and POST. This is needed to get started with REST, so this 15 minute chapter will help you get up to speed if you don't know the difference.


2014 Update - CDI Part One

38 m 11 s
This chapter was added in 2014 to cover Context and Dependency Injection (CDI). This first part describes the basics and shows that CDI can work outside of Glassfish. We show how @Alternatives and @Defaults work.


2014 Update - CDI Part Two

36 m 41 s
Now we move back to our full JavaEE application and see how CDI relates to EJBs. We also use CDI Qualifiers.


2014 Update - CDI Part Three

45 m 1 s
JSF is also closely integrated with CDI, you can access a CDI bean from JSF - this means that @ManagedBeans are no longer needed. We look in detail at the new Conversation Scope.


Autodeploying to Glassfish

14 m 58 s
Autodeploying saves a lot of time. We recommend you wait until you've completed the course before learning autodeployment - if you have problems with autodeploying it can cause very confusing situations, and it's best to learn without the added complication!

Let the Course Come to You

About Us Pricing Frequently Asked Questions Contact Privacy T&Cs Affiliates and Resellers
Facebook Twitter YouTube LinkedIn