Course Content JSF SEAM EJB JBOSS Course Content
Course Content JSF SEAM EJB JBOSS Course Content
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
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
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