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 needsDescribe the Java EE 5 platform application programming interfaces (APIs) and supporting servicesDescribe the Java EE platform tiers and architecturesDescribe 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 StepsDescribe the principles of a component-based development modelDescribe the asynchronous communication modelDescribe 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 applicationDefine the HTTP request-response modelCompare Java servlets and components and JSP componentsDescribe the basic session management strategiesManage thread safety issues in web componentsDescribe the purpose of web-tier design patterns | 
| 12.45pm – 02.15pm | Lunch | 
| 02.15pm – 05.00pm | Developing Servlets 
Describe the servlet APIUse the request and response APIsForward control and pass dataUse the session management API Developing With JavaServer Pages Technology 
Evaluate the role of JSP technology as a presentation mechanismAuthor JSP pagesProcess data received from servlets in a JSP pageDescribe the use of tag libraries | 
| Day 2 | 
| 09.00am – 10.00am | EJB Component Model 
Describe the role of EJB components in a Java EE applicationDescribe the EJB component modelIdentify 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 behaviorDescribe the operational characteristics of a stateless session beanCreate session beansPackage and deploy session beansCreate 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 applicationDescribe the basics of Object Relational MappingDescribe the elements and environment of an Entity componentDescribe the life cycle and operational characteristics of Entity components Implementing a Transaction Policy 
Describe transaction semanticsCompare programmatic and declarative transaction scopingUse the Java Transaction API (JTA) to scope transactions programmaticallyImplement a container-managed transaction policySupport optimistic locking with the versioning of entity componentsPredict the effect of transaction scope on application performanceDescribe the effect of exceptions on transaction state | 
|                                                                         Day 3 | 
| 09.00am – 10.00am | Developing Java EE Applications Using Messaging 
Describe JMS technologyCreate a queue message producerCreate a synchronous message consumerCreate an asynchronous message consumerList 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 beansCreate a JMS message-driven beanCreate 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 servicesList the specifications used to make web services platform independentDescribe 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 platformDescribe the requirements of JAX-WS Servlet EndpointsDescribe the requirements of JAX-WS EJB EndpointsDevelop Web Service Clients | 
| 10.00am – 10.30am | Breakfast | 
| 10.30am – 12.45pm | Implementing a Security Policy 
Exploit container-managed securityDefine user roles and responsibilitiesCreate a role-based security policyUse the security APIConfigure authentication in the web tierIdentify the Swing packagesDescribe the GUI building blocks: containers, components, and layout managersExamine 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 handlingExamine the Java SE event modelDescribe GUI behaviorDetermine the user action that originated an eventDevelop event listenersDescribe 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 GUIUnderstand how to change the color and font of a component | 
| 10.00am – 10.30am | Breakfast | 
| 10.30am – 12.45pm | Threads 
Define a threadCreate separate threads in a Java technology program, controlling the code and data that are used by thatthreadControl the execution of a thread and write platform-independent code with threadsDescribe the difficulties that might arise when multiple threads share dataUse wait and notify to communicate between threadsUse synchronized to protect data from corruption | 
| 12.45pm – 02.15pm | Lunch | 
| 02.15pm – 05.00pm | Networking 
Develop code to set up the network connectionUnderstand TCP/IPUse ServerSocket and Socket classes to implement TCP/IP clients and servers |