877-277-2477
info@capstonecourseware.com
211. Introduction to ICEfaces
Version 1.8

Book cover

This intermediate-level course gives JSF developers a rapid introduction to the ICEfaces component library and Ajax framework. It can also be presented separately to students with JSF experience, though it is primarily intended to follow our three-day JSF Course 115. See Course 211A, JSF Development with ICEfaces, for a prepared combination of JSF and ICEfaces material.

We begin with backgrounders in both JSF custom component architecture and Ajax development, as these are essential to understanding both the purpose and the design of ICEfaces. Then, the bulk of class time is occupied in practical, hands-on exercise with ICEfaces. We focus on Ajax -- partial submits and responses, and Ajax Push -- and other cross-cutting features of the framework. Then we survey the component library, drilling down on a few of the most interesting components for demos and lab exercises.

Prerequisites

  • General note:
  • This course is intended primarily for experienced JSF application developers, and this course makes a perfect supplement to Course 115. The remaining prerequisites shown below are all requirements of that course as well. Please note that page authors, component developers, and others who may have little or no Java experience (but perhaps are stronger on HTML and JSP) may well find this to be a valuable training experience, but without solid Java skills many of the coding exercises will be difficult to follow.
  • Java programming experience is essential; Course 103 is excellent preparation.
  • JSP page-authoring experience is required: Course 112.
  • Servlets programming experience is recommended but not required: Course 110.
  • Basic knowledge of XML will be helpful, as will any previous experience with HTML.

Learning Objectives

  • Integrate ICEfaces into JSF applications.
  • Use partial submits and responses to implement auto-completes, form updates, and other Ajax features.
  • Make judicious use of Ajax Push to implement asynchronous updates from the application to existing JSF views.
  • Use popup calendars, menus, charts, and other UI components to enhance the look and feel of JSF views.
  • Use tabbed panes, splitters, and other layout management tools.
  • Use modal dialogs for a more seamless user experience.

Timeline: 1 day.

IDE Support: Eclipse Galileo

  • In addition to the primary lab files, an optional overlay is available that adds support for Eclipse Galileo. Students can code, build, deploy, and test all exercises from within Eclipse, and take advantage of Eclipse WTP's built-in editors and wizards for web applications, XML files, JSPs, and more. The ICEfaces plugin provides additional code editing and visual editing capabilities. See also our orientation to Using Capstone's Eclipse Overlays, and please be advised that this is an optional feature; it is not a separate version of the course, and the course itself does not contain explicit Eclipse-specific lab instructions.

Chapter 1. Custom Components

  • UI Component Libraries
  • Using a Custom Component Library
  • The Components of a Component
  • Delivering JavaScript
  • Blending Client- and Server-Side Logic

Chapter 2. Ajax Applications

  • What is Ajax?
  • Request Formats
  • Asynchronous Response Handling
  • Alternatives: XMLHttpRequest
  • Alternatives: Direct Web Remoting
  • JSF for Ajax
  • ICEfaces

Chapter 3. ICEfaces Architecture

  • The ICEfaces Value Proposition
  • Acquiring and Configuring ICEfaces
  • PersistentFacesServlet and BlockingServlet
  • JSP, JSP Documents, and Facelets
  • Ajax via "Parital Submit"
  • Ajax Push: RenderManager vs. SessionRenderer
  • Drag and Drop
  • Security Features

Chapter 4. ICEfaces Components

  • Extended Components
  • Custom Components
  • Layout Managers
  • Component Stylesheets
  • <ice:dataTable>
  • <ice:selectDateInput>
  • <ice:panelTooltip>
  • <ice:panelPopup>
  • <ice:panelTabSet>
  • <ice:outputChart>
  • Visual Effects

Appendix A. Learning Resources

System Requirements

Hardware Requirements (Minimum) 1.5 GHz, 1 gig RAM, 2 gig disk space.
Hardware Requirements (Recommended) 2.5 GHz, 2 gig RAM, 2 gig disk space.
Operating System Tested on Windows XP Professional. Course software should be viable on all systems which support a Java 6 Developer's Kit.
Network and Security Limited privileges required -- please see our standard security requirements.
Software Requirements All free downloadable tools.