Axa Assurance Maroc - Insurer Innovation Award 2024
Ajax World Fall08
1. Enterprise Case Studies For
Ajax Push
Steve Maryka, CTO Ryan Moquin,
ICEsoft Technologies, Inc. Senior Software Engineer
Felipe Leme,
Principal Engineer
ICESOFT TECHNOLOGIES INC. www.icefaces.org
2. ICEfaces is…
ICEfaces is an Ajax framework that allows you to easily create
server-centric Rich Internet Applications (RIA) in pure Java.
• Open source
• Standards-based
• Extends JSF
• Develop RIAs in pure Java, not JavaScript
• Leverages existing Java ecosystem
– Use existing IDE
– Deploy to any App Server
– Combine with leading Java frameworks
– Enrich existing JSP applications
Path of least resistance for Java developers
ICESOFT TECHNOLOGIES INC. www.icefaces.org
4. Java EE Architecture + ICEfaces
Standards-based Java EE/JSF Development Model
ICESOFT TECHNOLOGIES INC. www.icefaces.org
5. Direct-to-DOM (D2D)
DOM
Ajax Bridge (Client)
DOM
(Server) Incremental DOM Updates
Direct-to-DOM Delivers Automatic Ajax
ICESOFT TECHNOLOGIES INC. www.icefaces.org
7. HTTP And The Asynchronous Web
• Normal HTTP Interaction Is User-initiated
• Push Requires Inversion of the HTTP Protocol
ICESOFT TECHNOLOGIES INC. www.icefaces.org
8. ICEfaces Push Mechanism
Server Browser
DOM
DOM 3 DOM Update
JSF App.
5
DOM Updates
4 Response (contains incremental update)
Processed
AJAX AJAX
Bridge 1 Asynchronous XMLHttpRequest
Bridge
Application
2 State Change
Another Request 6
10/10/08 Proprietary 8
ICESOFT TECHNOLOGIES INC. www.icefaces.org
9. ICEfaces Makes Push Simple
• Configure Render Hub …requestRender()
Push
managed bean
Render Hub
• Register and populate
render groups In Progress
In Progress
Waiting… Push
Waiting…
• Request a render from
application logic
• Framework does the rest
Push
ICEfaces Application
ICESOFT TECHNOLOGIES INC. www.icefaces.org
10. Scalability Of Ajax Push
• Long-lived Connections per Client
– Leads to thread exhaustion under standard Servlet model
• Standards Lagging
– JSR 315 addresses asynchronous communications
• Open Source Solutions Exist
– Jetty 6 Continuations
– Tomcat 6 Comet Processor
– Glassfish Grizzly
– ICEfaces Asynchronous HTTP Server
ICESOFT TECHNOLOGIES INC. www.icefaces.org
12. What Are The Implications Of Mobile Ajax?
• Resource-constrained Devices
– Smaller footprint browser implementations
– Limited memory for client-based applications
• Limited Network Bandwidth
– Application startup times
• Network Latency
– Application startup times
– Server interaction delays
• UI Paradigm Shift
– Small real estate display
– Alternate input devices
ICESOFT TECHNOLOGIES INC. www.icefaces.org
13. Advantages Of ICEfaces For Mobile
• Resource-constrained Devices
– Lightweight client-side implementation
• Limited Network Bandwidth
– Small JavaScript means shorter load times
– Minimal incremental updates
• Network Latency
– Ajax Push reduces hands-on user interaction
• Security
– Inherit Java EE Security Architecture
ICESOFT TECHNOLOGIES INC. www.icefaces.org
15. ICEfaces Portal Integration
• Markup Aggregation Within
Portal Container
– Standard JSF support
• Ajax Interactions Bypass
Portal Container
– Eliminate Full-page Refresh
• JavaScript Coexistent With
Portal Container
– Vendor-specific
Portal
• Multiple Portals Supported
ICESOFT TECHNOLOGIES INC. www.icefaces.org
16. Ajax Push With Portals
Portlet Portlet Portlet
A View B View C View
• Browser Connection Limits
AJAX AJAX AJAX
– Browser-side Connection Sharing
Bridge Bridge Bridge
• Multiple Web Applications
– Server-side Connection Sharing
Non-Blocking Blocking Non-Blocking
Connection Connection Connection
AHS
Portlet
B Portlet
Portlet C
A
JMS
Multi App/ Multi Portlet
ICESOFT TECHNOLOGIES INC. www.icefaces.org
17. Q and A
Stephen Maryka, CTO
ICEsoft Technologies Inc.
smaryka@icesoft.com
Join us at: www.icefaces.org
Or come visit us at our booth.
ICESOFT TECHNOLOGIES INC. www.icefaces.org