ajax world fall08

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

Upload: rajivmordani

Post on 18-May-2015

415 views

Category:

Technology


0 download

TRANSCRIPT

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