You are previewing ICEfaces 1.8.
O'Reilly logo
ICEfaces 1.8

Book Description

Build Web 2.0 Applications using AJAX Push, JSF, Facelets, Spring and JPA

  • Develop a full-blown Web application using ICEfaces

  • Design and use self-developed components using Facelets technology

  • Integrate AJAX into a JEE stack for Web 2.0 developers using JSF, Facelets, Spring, JPA

In Detail

ICEfaces is an Enterprise AJAX framework which allows you to develop modern Web 2.0 applications, using AJAX to implement desktop-like behavior. The integration and handling of such frameworks is a challenge, but ICEfaces is the first enterprise AJAX framework that places the integration aspect at the center of its design. All this is based on a programming model that does not need to write a single line of JavaScript.

You may already be aware that modern web applications are now more commonly modeled around desktop-like implementations. By following the development of a real-world application, you will see how best to use ICEfaces components to customize the interface layout, navigation, data presentation and data creation to achieve the efficient, modern, web application that you’ve always dreamed of!

ICEfaces is an innovative enterprise AJAX framework which allows you to build modern web 2.0 applications. By breaking away from the traditional request-response model and using AJAX push with ICEfaces, you can have bidirectional communication between browser and server, improving performance.

This new paradigm requires the mixing of client-side and server-side programming concepts which can raise maintenance efforts so that the integration of corresponding frameworks is still a challenge. This book will show you how to use the programming model to full effect in order to dramatically ease development.

You can enhance your application with ICEfaces components which are implemented in Facelets applications. This book shows you how to use and design new components and to implement components without extending existing JSF component classes. You will learn how to combine ICEfaces tags and write a simple backing bean for components and learn how to modify this technology for reuse in the frontend.

Table of Contents

  1. ICEfaces 1.8
    1. ICEfaces 1.8
    2. Credits
    3. About the Author
    4. Acknowledgments
    5. About the Reviewers
    6. Preface
      1. What this book covers
      2. Who this book is for
      3. Conventions
      4. Reader feedback
      5. Customer support
        1. Errata
        2. Piracy
        3. Questions
    7. 1. Next Generation Java Development
      1. Past problems
      2. State of the art
      3. Frontend development
        1. Struts
        2. JSF
        3. AJAX
        4. Rich Internet Applications (RIA)
      4. ICEfaces features
        1. JSF reference implementation support
        2. Interoperability
          1. Framework integration challenges
            1. The problem
            2. The ICEfaces way
          2. IDE plugins
          3. Application server support
          4. Portal server support
        3. Components for ergonomic interface design
        4. Customer-specific skins
        5. Server-initiated client updates
        6. Optimized page updates
        7. Community
      5. Summary
    8. 2. Development Environment
      1. Tools
          1. Java Development Kit (JDK)
          2. Installation
        1. Eclipse IDE
          1. Customized distributions
          2. Pulse download service
          3. Yoxos download service
          4. The ICEfaces book profile at Yoxos
          5. Installation
          6. Customization of the ICEfaces book profile
        2. Maven 2 build system
          1. Installation
        3. Jetty web container
          1. Use in Maven 2 Environments
          2. Installation
        4. MySQL Database Management System
          1. Installation of Community Server
          2. Installation of GUI Tools
      2. Additional Eclipse configurations
        1. ICEfaces plugin
          1. Installation
        2. Maven 2 and the JDK
        3. Jetty server support
      3. The Eclipse web project samples
        1. ICEfaces
          1. The Run on server configuration
        2. ICEfaces and Facelets
        3. The JEE development stack
        4. AppFuse
        5. The edoras framework
        6. ICEfusion
        7. ICEcube
          1. The Spring framework
          2. Hibernate
          3. Apache Tomahawk
          4. JSP Standard Tag Library (JSTL)
      4. Summary
    9. 3. User Interface Design
      1. Revival of the desktop
        1. Software ergonomics
        2. Challenges
        3. Apply Occam's razor
          1. Reduction
          2. Oversimplification
        4. User interface design principles
          1. Suitability for the task
          2. Self-descriptiveness
          3. Controllability
          4. Conformity with user expectations
          5. Error tolerance
          6. Suitability for individualization
          7. Suitability for learning
      2. Interface layout
        1. Create drafts with a mockup tool
        2. Layout design
          1. Header
          2. Main navigation
          3. Content
          4. Footer
      3. Facelets templating
        1. The page template
        2. Using the template
      4. The templating in ICEfusion
        1. Running ICEfusion
        2. The ICEfusion files
      5. Summary
    10. 4. Components for Navigation and Layout
      1. Static pull-down menu
        1. Resource bundles
        2. Page Navigation
      2. Dynamic pull-down menu
        1. ActionListener
      3. Pop-up menu
      4. Tabbed panel
      5. Collapsible panel
      6. Summary
    11. 5. Components for Feedback and Behavior
      1. Pop-up dialog boxes
        1. The panelPopup tag
        2. ICEfusion dialog tags
          1. MessageDialog
          2. ErrorDialog
          3. QuestionDialog
      2. Connection status
      3. Tooltip
      4. Autocomplete
      5. Drag-and-drop
      6. Summary
    12. 6. Components for Data Presentation and Multimedia
      1. Data table
        1. Pagination
      2. Dynamic data table
        1. Sortable columns
        2. Lazy loading
      3. Tree
      4. Chart
      5. Google Maps
        1. License
        2. GMaps4JSF
      6. Media Player
      7. Summary
    13. 7. Components for Data Creation and Selection
      1. Forms
        1. AJAX bridge and partial submit
        2. Partial submit and the JSF lifecycle
        3. Form field processing
        4. Partial submit supporting tags
          1. Text entry
          2. Selection
          3. Click
      2. Validation with dialogs
        1. Login form component
        2. Validation model
        3. Login form with validation
        4. Validation dialog
        5. Validators
      3. Calendar
      4. Rich text editor
      5. Summary
    14. 8. User Interface Customization
      1. Administration
      2. Customization
        1. Password
        2. Username
          1. Email address
        3. Units
        4. Number format
        5. Language
        6. Skinning
      3. Language management
      4. Multilingual page template
        1. Language selector
        2. Global language switcher
      5. Skin management
        1. Skin folders
        2. Skinnable page template
        3. Skin context
        4. Skin selector
        5. Skinning in components
        6. Designing your own skins
          1. Images
          2. Colors and fonts
          3. ICEfaces components
      6. Summary
    15. 9. Reusable Facelets Components
      1. Facelets
      2. Taglibs
      3. Tags
        1. Component logic
        2. Attribute parameters
        3. Attribute references
        4. Backing bean injection through the Facelets attribute
          1. Using interfaces for parameter passing
          2. Hiding the ICEfaces components used for parameter passing
          3. Accessing the Facelets attribute references
        5. Facelets component reuse
        6. Initialization through Facelets or backing bean attributes
      4. Summary
    16. 10. Push Technology
      1. AJAX Push
        1. Programming model
        2. Architecture
      2. Configuration
        1. Deployment descriptor
        2. Spring scopes
        3. Push server
          1. Production
          2. Deployment
          3. ICEcube/ICEfusion
      3. The ProgressDialog tag
      4. ICEmapper
        1. Object model
        2. Client side
          1. Message handlers
          2. Button handlers
          3. Status information
        3. Server side
      5. Summary