17
ICESOFT TECHNOLOGIES INC. www.icefaces.org Steve Maryka, CTO ICEsoft Technologies, Inc. Enterprise Case Studies For Ajax Push Ryan Moquin, Senior Software Engineer Felipe Leme, Principal Engineer

Ajax World Fall08

Embed Size (px)

Citation preview

Page 1: Ajax World Fall08

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

Page 2: Ajax World Fall08

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

Page 3: Ajax World Fall08

ICESOFT TECHNOLOGIES INC. www.icefaces.org

Java EE Architecture

Page 4: Ajax World Fall08

ICESOFT TECHNOLOGIES INC. www.icefaces.org

Java EE Architecture + ICEfaces

Standards-based Java EE/JSF Development Model

Page 5: Ajax World Fall08

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

Page 6: Ajax World Fall08

ICESOFT TECHNOLOGIES INC. www.icefaces.org

Golden Gate Demo

Page 7: Ajax World Fall08

ICESOFT TECHNOLOGIES INC. www.icefaces.org

• Normal HTTP Interaction Is User-initiated

• Push Requires Inversion of the HTTP Protocol

HTTP And The Asynchronous Web

Page 8: Ajax World Fall08

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

Page 9: Ajax World Fall08

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()

Page 10: Ajax World Fall08

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

Page 11: Ajax World Fall08

ICESOFT TECHNOLOGIES INC. www.icefaces.org

C3 Demo

Page 12: Ajax World Fall08

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

Page 13: Ajax World Fall08

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

Page 14: Ajax World Fall08

ICESOFT TECHNOLOGIES INC. www.icefaces.org

incidentOS Demo

Page 15: Ajax World Fall08

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

Page 16: Ajax World Fall08

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

Page 17: Ajax World Fall08

ICESOFT TECHNOLOGIES INC. www.icefaces.org

Stephen Maryka, CTOICEsoft Technologies [email protected]

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

Q and A