Ajax World Fall08

Preview:

Citation preview

ICESOFT TECHNOLOGIES INC. www.icefaces.org

Steve Maryka, CTOICEsoft Technologies, Inc.

Enterprise Case Studies ForAjax Push

Ryan Moquin,Senior Software Engineer

Felipe Leme,Principal Engineer

ICESOFT TECHNOLOGIES INC. www.icefaces.org

ICEfaces is…

Path of least resistance for Java developers

ICEfaces is an Ajax framework that allows you to easily createserver-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

ICESOFT TECHNOLOGIES INC. www.icefaces.org

Java EE Architecture

ICESOFT TECHNOLOGIES INC. www.icefaces.org

Java EE Architecture + ICEfaces

Standards-based Java EE/JSF Development Model

ICESOFT TECHNOLOGIES INC. www.icefaces.org

Direct-to-DOM (D2D)

Direct-to-DOM Delivers Automatic Ajax

DOM(Server)

DOM(Client)

Incremental DOM Updates

Ajax Bridge

ICESOFT TECHNOLOGIES INC. www.icefaces.org

Golden Gate Demo

ICESOFT TECHNOLOGIES INC. www.icefaces.org

• Normal HTTP Interaction Is User-initiated

• Push Requires Inversion of the HTTP Protocol

HTTP And The Asynchronous Web

10/10/08 Proprietary 8ICESOFT TECHNOLOGIES INC. www.icefaces.org

ICEfaces Push Mechanism

DOM

JSF App.

AJAXBridge

DOM

AJAXBridge

Server Browser

ApplicationState Change2

DOM Update3

1 Asynchronous XMLHttpRequest

4 Response (contains incremental update)

6Another Request

5

DOM UpdatesProcessed

ICESOFT TECHNOLOGIES INC. www.icefaces.org

ICEfaces Application

Render Hub

• Configure Render Hubmanaged bean

ICEfaces Makes Push Simple

• Register and populaterender groups

• Framework does the rest

In ProgressIn ProgressWaiting…Waiting…

Push

Push

Push

• Request a render fromapplication logic

…requestRender()

ICESOFT TECHNOLOGIES INC. www.icefaces.org

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

C3 Demo

ICESOFT TECHNOLOGIES INC. www.icefaces.org

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

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

incidentOS Demo

ICESOFT TECHNOLOGIES INC. www.icefaces.org

• Markup Aggregation WithinPortal Container– Standard JSF support

• Ajax Interactions BypassPortal Container– Eliminate Full-page Refresh

• JavaScript Coexistent WithPortal Container– Vendor-specific

• Multiple Portals Supported

ICEfaces Portal Integration

Portal

ICESOFT TECHNOLOGIES INC. www.icefaces.org

• Browser Connection Limits– Browser-side Connection Sharing

• Multiple Web Applications– Server-side Connection Sharing

PortletA View

PortletB View

PortletC View

AJAXBridge

Non-BlockingConnection

Portlet B

Portlet A

AHS

BlockingConnection

Non-BlockingConnection

Portlet C

JMS

AJAXBridge

AJAXBridge

Multi App/ Multi Portlet

Ajax Push With Portals

ICESOFT TECHNOLOGIES INC. www.icefaces.org

Stephen Maryka, CTOICEsoft Technologies Inc.smaryka@icesoft.com

Join us at: www.icefaces.orgOr come visit us at our booth.

Q and A