Course Overview
The Developing Applications for the Java EE Platform course provides students with the knowledge to build and deploy enterprise applications that comply with Java Platform, Enterprise Edition 5 technology standards. The enterprise components presented in this course include Enterprise JavaBeans (EJB) technology, the Java Persistence API (JPA), servlets, and JavaServer Pages (JSP) technology, web services, and the Java technology clients that use them. Students gain hands-on experience through labs that build an end-to-end, distributed business application. The labs explore session EJB components, which implement the Session Facade pattern and provide a front-end to entity components using the Java persistence API. The labs also explore message-driven EJB components, which act as Java Message Service (JMS) consumers. Students use web and Java technology clients to access Java technology-based enterprise services using servlets and pages created with JSP technology. Students are taught how to assemble an application from reusable components and how to deploy an application into the Java EE platform runtime environment. The students perform the course lab exercises using the NetBeans(TM) Integrated Development Environment (IDE) 5.5.
Pre-requisites
- Experienced with the Java programming language
- Familiar with component technology
- Familiar with distributed programming (multi-tier architecture)
- Familiar with relational database theory and the basics of structured query language (SQL)
Course Objectives
- Describe the application model for the Java EE platform and the context for the model
- Develop and run an EJB technology application
- Develop a web-based user interface to an EJB technology application
- Develop simple web services for the Java EE platform.
- Configure the Java EE platform services layer
Target Audience
Software Developers who want to learn basic knowledge in Java programming
Java EE Platform - Schedule
Day 1
|
09.00am – 10.00am
|
Placing the Java EE Model in Context
- Describe the needs of enterprise applications and describe how Java EE 5 technology addresses these needs
- Describe the Java EE 5 platform application programming interfaces (APIs) and supporting services
- Describe the Java EE platform tiers and architectures
- Describe how to simplify Java EE application development using architecture patterns
|
10.00am – 10.30am |
Breakfast
|
10.30am – 12.45pm
|
- Java EE Component Model and Development Steps
- Describe the principles of a component-based development model
- Describe the asynchronous communication model
- Describe the process used and roles involved when developing and executing a Java EE application
Web Component Model
- Describe the role of web components in a Java EE application
- Define the HTTP request-response model
- Compare Java servlets and components and JSP components
- Describe the basic session management strategies
- Manage thread safety issues in web components
- Describe the purpose of web-tier design patterns
|
12.45pm – 02.15pm
|
Lunch
|
02.15pm – 05.00pm
|
Developing Servlets
- Describe the servlet API
- Use the request and response APIs
- Forward control and pass data
- Use the session management API
Developing With JavaServer Pages Technology
- Evaluate the role of JSP technology as a presentation mechanism
- Author JSP pages
- Process data received from servlets in a JSP page
- Describe the use of tag libraries
|
Day 2
|
09.00am – 10.00am
|
EJB Component Model
- Describe the role of EJB components in a Java EE application
- Describe the EJB component model
- Identify the proper terminology to use when discussing EJB components and their elements
|
10.00am – 10.30am
|
Breakfast
|
10.30am – 12.45pm
|
Implementing EJB 3.0 Session Beans
- Compare stateless and stateful behavior
- Describe the operational characteristics of a stateless session bean
- Create session beans
- Package and deploy session beans
- Create a session bean client
|
12.45pm – 02.15pm
|
Lunch
|
02.15pm – 05.00pm
|
The Java Persistence API
- Describe the role of the Java Persistence API (JPA) in a Java EE application
- Describe the basics of Object Relational Mapping
- Describe the elements and environment of an Entity component
- Describe the life cycle and operational characteristics of Entity components
Implementing a Transaction Policy
- Describe transaction semantics
- Compare programmatic and declarative transaction scoping
- Use the Java Transaction API (JTA) to scope transactions programmatically
- Implement a container-managed transaction policy
- Support optimistic locking with the versioning of entity components
- Predict the effect of transaction scope on application performance
- Describe the effect of exceptions on transaction state
|
Day 3
|
09.00am – 10.00am
|
Developing Java EE Applications Using Messaging
- Describe JMS technology
- Create a queue message producer
- Create a synchronous message consumer
- Create an asynchronous message consumer
- List the capabilities and limitations of EJB components as messaging clients
|
10.00am – 10.30am
|
Breakfast
|
10.30am – 12.45pm
|
Developing Message-Driven Beans
- Describe the properties and life cycle of message-driven beans
- Create a JMS message-driven bean
- Create lifecycle event handlers for a JMS message-driven bean
|
12.45pm – 02.15pm
|
Lunch
|
02.15pm – 05.00pm
|
Web Service Model
- Describe the role of web services
- List the specifications used to make web services platform independent
- Describe the Java APIs used for XML processing and web services
|
Day 4
|
09.00am – 10.00am
|
Implementing Java EE Web Services with JAX-WS
- Describe endpoints supported by the Java EE 5 platform
- Describe the requirements of JAX-WS Servlet Endpoints
- Describe the requirements of JAX-WS EJB Endpoints
- Develop Web Service Clients
|
10.00am – 10.30am
|
Breakfast
|
10.30am – 12.45pm
|
Implementing a Security Policy
- Exploit container-managed security
- Define user roles and responsibilities
- Create a role-based security policy
- Use the security API
- Configure authentication in the web tier
- Identify the Swing packages
- Describe the GUI building blocks: containers, components, and layout managers
- Examine top-level, general-purpose, and special-purpose properties of container
|
12.45pm – 02.15pm
|
Lunch
|
02.15pm – 05.00pm
|
Handling GUI-Generated Events
- Define events and event handling
- Examine the Java SE event model
- Describe GUI behavior
- Determine the user action that originated an event
- Develop event listeners
- Describe concurrency in Swing-based GUIs and describe the features of the SwingWorker class
|
Day 5
|
09.00am – 10.00am
|
GUI-Based Applications
- Describe how to construct a menu bar, menu, and menu items in a Java GUI
- Understand how to change the color and font of a component
|
10.00am – 10.30am
|
Breakfast
|
10.30am – 12.45pm
|
Threads
- Define a thread
- Create separate threads in a Java technology program, controlling the code and data that are used by that
- thread
- Control the execution of a thread and write platform-independent code with threads
- Describe the difficulties that might arise when multiple threads share data
- Use wait and notify to communicate between threads
- Use synchronized to protect data from corruption
|
12.45pm – 02.15pm
|
Lunch
|
02.15pm – 05.00pm
|
Networking
- Develop code to set up the network connection
- Understand TCP/IP
- Use ServerSocket and Socket classes to implement TCP/IP clients and servers
|