Course Content JSF SEAM EJB JBOSS Course Content

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 8

Java Server Faces(5 Days)

JSF Overview Java EE and Web Applications Perspectives: Servlets and JSP The Model/View/Controller Pattern Perspectives: MVC Frameworks The Command Pattern Perspectives: AWT and JFC JSF Value Proposition JSF Configurationz Lifecycle and Page Navigation The JSF Request/Response Cycle Lifecycle Phases The FacesContext Class Who Does What View Selection Navigation Rules Outcomes User Interface Components The Composite View Pattern The UIComponent Class Behavioral Interfaces The Core and HTML Tag Libraries Relationship to CSS ID, Client ID, and Label The UISelectItem(s) Class Navigating the UI Tree Managed Beans JavaBeans and JSF Backing Beans The Factory Pattern Managed Beans Coarse-Grained Beans The Unified Expression Language Value Expressions Dependency Injection Bean Scopes

Events and Controllers The Observer Pattern JSF Event Model Event Types and Timing Event Queueing ActionEvent and ActionListener Action Methods Connecting Controllers to Beans

Ravi M S

Dynamic Outcomes ValueChangeEvent and ValueChangeListener Limitations of FacesListeners

Converters The Adapter Pattern The Converter Interface Standard Converters Working with Enumerated Types Timing of Conversion Custom Converters Configuring Converters Validators Validating Input The Validator Interface Standard Validators Producing Error Messages Message Keys Presenting Error Messages Custom Validators Validating Multiple Inputs Using a PhaseListener Data Tables Managing Tabular Data The JSF Data Table Columns Facets Limitations and Strategies Nesting Tables

Enterprise Java Beans(4 Days)


Overview of EJB 3.0 What is an EJB? Why should you use EJB? When should you not use EJB? What's new in EJB 3.0? The EJB 3.0 Simplified API A quick review of annotaions in Java 5 Overview of using annotations to develop EJB Annotations vs. Deployment descriptors Interceptors Aspect Oriented Programming (AOP) in JEE Intercepting methods Building Interceptor Classes

Ravi M S

Session Beans Developing Stateless and Stateful beans Related Annotations Life-cycle of session beans Session bean best practices Linking UML modeling constructs with Session Beans Message-Driven Beans Introduction to asynchronous beans Introduction to the Java Message Service (JMS) API Configuring the activation context Configuring the JMS message providers Injectors What are Injectors? Using injectors to access resources and EJBs Accessing the EJB context and the Environment Naming Context (ENC) Setter injection Simplifying lookup of beans and resources using injectors Annotation used for injection Java Persistence API (JPA) Overview of Java Persitense API for EJB 3.0 Entity class and O/R mappings Overview of packing and deploying entities Entities Persistent fields and properties Entity relationship mappings Inheritance mappings Annotations and XML descriptors for defining mappings JDBC vs. ORM Introduction to JPA JPA Features JPA and EJB 3.0 (Annotations) JPA Architecture Understanding key functionalities of JPA JPA O/R Mapping (ORM) Overview Setting up the Environment Required Libraries Data Source IDE's (as Eclipse) Application Server (as JBoss 4.x) Understanding JPA Configuration Files persistence.xml jboss-app.xml Creating First JPA Application Creating POJO classes Ravi M S

Using annotations for persistence mapping (as @Entity & @Id) Understanding Configuring the persistence context Understanding and Configuring the EntityManager Working with the EntityManager to persist objects Transactions and flushing Reading, updating and writing persistent objects Working with DataSource, connection pools, and JTA Deploying the application on JBoss AS using Ant Running the application

Simple JPA-QL Queries Building EJB Queries The Select Clause The Where Clause Update Query Delete Query Aggregate Functions (Associations and Joins) Group By Clause Example Order By Example Understanding More Mapping Options @Table @Column @JoinColumn @JoinTable Simple JPA Relationships @OneToMany @OneToOne @ManyToMany Entity Operations The EntityManager interface Entity instance life cycle Entity listeners and callback methods EJB Timer Service Overview of Timer Service Timer Service APIs Using injectors to inject Timer Service Programming with Timer Service Scheduling recurring tasks EJB Transactions Container vs. Bean managed transactions Container-managed transaction attributes Transaction propagation Accessing the UserTransaction service using injectors Invoking the UserTransaction service using JTA Transaction Isolation attributes Ravi M S

SessionSynchronized Stateful Session Beans Transactions and exceptions Using annotation to specify transaction attributes

EJB Security Security annotations Roles, Groups and Permissions Declarative vs. Programmatic security Accessing the Securty services using the EJB Context Switching the security context

JBOSS(1 Day) JBOS Application Server Managing JBOSS Applications Deploying Applications Securing Applications Application Services Configuring JBoss WebServer Securing Web Applications Configuring Enterprise Applicaitons JBoss Messaging Configuring Web Services

SEAM(5 Days) Seam Unifies Java EE Which framework should I use? Seam's approach to unification Your first swings with Seam Seam's core competencies Putting seam-gen to Work The Open 18 prototype Letting seam-gen do the initial work Kick off your project with seam-gen Deploying the project to JBoss AS Show and tell, change, and repeat Rapidly developing a seam-gen project The Seam Life Cycle Exploring how Seam participates in a request The JSF life cycle sans Seam Seam's page-oriented life-cycle additives Combining page actions with navigation The JSF life cycle with Seam A try-catch block around the life cycle

Ravi M S

Components and Contexts Seam's contextual naming container Sorting out components Defining components using annotations A comprehensive component example A component's life Using EJB 3 session beans in Seam Accessing components The Seam Component Descriptor Defining components using XML XML namespaces in the component descriptor Configuring component properties Component definitions vs. component configuration Configuring and enabling built-in components Absolute Inversion of Control Bijection: dependency injection evolved Dynamic dependency @In-jection @Out-jecting context variables Bypassing bijection Component events Custom method interceptors Factory and manager components The Conversation: Seam's Unit of Work Learning to appreciate conversational state The conversation context Establishing conversation boundaries Putting the conversation aside Switching between conversations Driving the conversation with a page flow Ad hoc conversations Entities and JPA With Seam Objectives Data Persistence Java Persistence API Entities Session Beans Vs Entities Entities Persisting and Retrieving Data

Ravi M S

Accessing Entities EntityManager & Persistence Unit Persistence Context Entities - Example persistence.xml Hibernate Provider persistence.xml Open JPA Provider persistence.xml - Toplink Entity Instance Lifecycle Creating EntityManager in Session EJB Creating EntityManager in a Plain Java Class Working With the EntityManager Interface Transaction Basics Entity Lifecycle When is an Entity Managed or Detached? Implementing the CRUD Pattern Accessing Entities Using Stateless Session Beans Inserting Data Retrieving Data Updating Data Deleting Data Merging Entities Life-Cycle Callbacks Example: Internal callback External Callback Class Listener Class - Example Synchronizing with Databases Entity Lookup JPAQL (JPA Query Language) Summary

Seam-managed Persistence and Transactions Getting persistence context management right Enhancing the capabilities of the persistence manager Setting up a persistence unit in Seam Seam's transaction support Rapid Seam Development A framework within a framework Stateful CRUD using the Home component Providing feedback Smarter queries with the Query component Securing Seam Applications Authentication jump-start

Ravi M S

Securing pages Role-based authorization Rule-based authorization using Drools Separating the computers from the humans

Ajax and JavaScript Remoting Using Ajax with JSF Partial form submits Ajax Push with ICEfaces JavaScript remoting to Seam Conversational remoting calls Responding to GWT remoting calls File, Rich Rendering, and Email Support Uploading files and rendering dynamic images PDF generation with iText Quick and easy charting with JFreeChart Composing email the Seam way Customizing the UI with resource bundles

Ravi M S

You might also like