Ilog Ria2

27
Extreme RIA Developing RIA Solutions in an Evolving Landscape Christophe Jolif Principal Architect ILOG

Transcript of Ilog Ria2

Page 1: Ilog Ria2

Extreme RIA

Developing RIA Solutions in an Evolving Landscape

Christophe JolifPrincipal Architect

ILOG

Page 2: Ilog Ria2

ILOG S.A. © 2008. All rights reserved. 2

Agenda

Requirements

Main Approaches

Demos

Summary

Page 3: Ilog Ria2

ILOG S.A. © 2008. All rights reserved. 3

Agenda

Requirements

Main Approaches

Demos

Summary

Page 4: Ilog Ria2

ILOG S.A. © 2008. All rights reserved. 4

Requirements

People want the “desktop applicationexperience” in a browser environment They want nice looking, animated applications

They want responsiveness

They want off-line capabilities

They want desktop integration

They want advanced visualization

Page 5: Ilog Ria2

ILOG S.A. © 2008. All rights reserved. 5

Definition

Extreme RIA is advanced visualization on manyWeb technologies

With these additional requirements Ability to synchronize a lot of data between client and

server

Ability to smoothly display a lot of objects on thescreen

Ability to provide complex mouse interactions withthe objects

Page 6: Ilog Ria2

ILOG S.A. © 2008. All rights reserved. 6

Requirements

Typical Ajax-Based Examples of Extreme RIAs

Page 7: Ilog Ria2

ILOG S.A. © 2008. All rights reserved. 7

Requirements

Typical Flex-Based Examples of Extreme RIAs

Page 8: Ilog Ria2

ILOG S.A. © 2008. All rights reserved. 8

Requirements

Typical Silverlight-Based Examples of Extreme RIAs

Page 9: Ilog Ria2

ILOG S.A. © 2008. All rights reserved. 9

Requirements

We can't provide the full desktop-like experience yet,but we come closer every year “They want nice looking, animated applications”

SVG, Flash

“They want responsiveness” Ajax, client-side updates

“They want off-line capabilities” Google Gears, AIR

“They want desktop integration” AIR, HTML 5.0 DnD

“They want advanced visualization” home grown or 3rd party Extreme RIA components

Page 10: Ilog Ria2

ILOG S.A. © 2008. All rights reserved. 10

Agenda

Requirements

Main Approaches

Demos

Summary

Page 11: Ilog Ria2

ILOG S.A. © 2008. All rights reserved. 11

Main Approaches

Ajax

Ajax + Server-Side Generated Raster Images

Ajax + Client-Side Vector Graphics

Adobe Flex

Microsoft Silverlight

Sun Java(Fx)

Others

Page 12: Ilog Ria2

ILOG S.A. © 2008. All rights reserved. 12

Ajax

Ajax (XHR + XML + HTML + CSS) is not alwaysenough, technically

We need more graphics capabilities than whatHTML + CSS can render

Two choices: The graphics comes from the server (raster)

The graphics is client-side (vector) Via the browser (SVG, VML, HTML 5) Via a plugin (Flash, Silverlight, JavaFx)

Page 13: Ilog Ria2

ILOG S.A. © 2008. All rights reserved. 13

Ajax + Server-Side Generated Raster Images

Pros: No plugin, ok with deprecated & mobile browsers

This works everywhere

Cons: Limited server-side scalability due to intensive CPU + memory

consumption to generate raster images Limited client-side feedback / interaction

Possible workaround using local feedback with VML or SVG No true UI Framework & interoperability standards

Any standardizations effort in these areas are welcome(OpenAjax Alliance,W3C WAF WG)

Development tools just starting to emerge or linked to particularframeworks: Aptana, Visual Studio, Eclipse ATF (not much progress?)

Page 14: Ilog Ria2

ILOG S.A. © 2008. All rights reserved. 14

Ajax + Client-Side Vector Graphics

Pros: No plugin, works (nearly) everywhere

Cons: Requires dual code path:

VML (IE) vs SVG or Canvas (Mozilla, Webkit, Opera) Might be solved using DojoX 2D wrapper

Limited client-side scalability due to poor JavaScript performance Mozilla is working on it for Firefox with Tracemonkey and Tamarin(?) Google is working on it for Chrome with V8 Apple has already made improvements with SquirrelFish

No true UI Framework & interoperability standards Any standardization effort in these areas is welcome

(OpenAjax Alliance,W3C WAF WG)

Development tools just starting to emerge or linked to particularframeworks:

Aptana, Visual Studio, Eclipse ATF (not much progress?)

Page 15: Ilog Ria2

ILOG S.A. © 2008. All rights reserved. 15

Adobe Flex

Pros: "Standard" UI Framework with development tool (Flex Builder)

Greater productivity Code has better browser portability (versus Ajax) ActionScript 3.0 has better performance than JavaScript:

Still not as good as Java or.NET, however- Flash Player 10 will improve this with Vector<> class

Long running task management requires custom code

Cons: Lacks a proper designer tool chain

Will be introduced in Flex 4 with Thermo Requires plugin installation

But Flash Player is quite ubiquitous: 99% (97.7% for version 9+) of"mature markets" computers according to Millward Brown surveyfor Adobe.

Page 16: Ilog Ria2

ILOG S.A. © 2008. All rights reserved. 16

Microsoft Silverlight

Pros: Provides "Standard” UI Framework

Plus a development tool (Visual Studio) Works with a proper designer tool chain (Expression Suite)

But still quite immature Like Flex, the code easily ports across browsers All .NET languages can be used Threading can be used

Cons: Still in beta Contains a limited set of predefined controls

This will improve a bit in the final release Still lacks a 3rd party platform for deployment and development:

Linux for deployment and MacOS/Linux for development tools Requires plugin installation

Penetration below Flash Player but should benefit from Microsoft ubiquity

Page 17: Ilog Ria2

ILOG S.A. © 2008. All rights reserved. 17

Sun Java(Fx)

Java Desktop platform power brought to the RIA world Pros:

JavaFX is a recycling of Java with More rich client & media APIs The promise of a faster initial download & plugin installation

"Standard" UI Framework with a good development tool (NetBeans) As with Flex and .NET, it ports across browsers better than Ajax

Cons: Still in beta Limited set of predefined controls

This should improve in final release Lacks a proper designer tool chain

To come: better NetBeans integration with Adobe Illustrator & Photoshop Developers must learn a new scripting language Requires plugin installation:

JRE penetration figures: 85.1% of "mature markets" computers according to MillwardBrown survey conducted for Adobe

Plugin initial download to get latest JRE + JavaFX runtimes is quite big Sun is working on lightning installation with JRE incremental download/installation

Page 18: Ilog Ria2

ILOG S.A. © 2008. All rights reserved. 18

Others

Curl "Standard" UI Framework with development tool (Curl IDE)

Commercial licensing for the platform itself

Uncommon scripting language

XUL Mainly based on standard technologies with only limited

additions for building UI

Works only on Gecko-based browsers

OpenLaszlo Choose your deployment target: Ajax or Flash

Page 19: Ilog Ria2

ILOG S.A. © 2008. All rights reserved. 19

Combining Technologies

Extreme RIA Applications often require developers tocombine various technologies

Client-side mashups are well known: Ajax to Ajax

Flex to HTML can be done through the ExternalInterface object

Flex to Ajax can go one step further with Flex-Ajax Bridge

Silverlight to HTML transparent using HtmlPage object

But server-side mashup is also an issue: Standard JSF versus PPR JSF versus "Ajax-Push" JSF

Ajax requests and Portlet Integration

Page 20: Ilog Ria2

ILOG S.A. © 2008. All rights reserved. 20

Agenda

Requirements

Main Approaches

Demos

Summary

Page 21: Ilog Ria2

ILOG S.A. © 2008. All rights reserved. 21

Ajax Demos

A Flow Diagram Editor

Traffic Monitoring, with a Google Maps Mashup

IceFaces Ajax Push Mashup

Page 22: Ilog Ria2

ILOG S.A. © 2008. All rights reserved. 22

Adobe Flex Demos

Olympics Calendar

Density and Climate HeatMap

Project Schedule

Page 23: Ilog Ria2

ILOG S.A. © 2008. All rights reserved. 23

Microsoft Silverlight Demos

Project Schedule

Organization Chart

CIA Fact Book

Page 24: Ilog Ria2

ILOG S.A. © 2008. All rights reserved. 24

Agenda

Requirements

Main Approaches

Demos

Summary

Page 25: Ilog Ria2

ILOG S.A. © 2008. All rights reserved. 25

Summary

RIA technologies have made great progress New technologies pop up every year

Should slow down, now that major players are in the field

Choices are difficult to make, based on: Interoperability with existing HTML/CSS site / Ajax app How open is the chosen solution? Development Tools Designer / Developer workflow Is extensibility needed? Project release date (can't rely on beta) Deployment issues Development team background

Page 26: Ilog Ria2

ILOG S.A. © 2008. All rights reserved. 26

For more information

Ajax: http://www.openajax.org/ http://ajaxian.com/ http://www.asp.net/ajax/ http://dojotoolkit.org/ http://code.google.com/webtoolkit/Adobe Flex: http://www.adobe.com/flex http://flex.org/Microsoft Silverlight: http://www.microsoft.com/silverlight/ http://silverlight.netSun JavaFx: http://www.javafx.com/ http://openjfx.org

RIA sites: http://www.riasphere.org/ (coming 10/28)

http://www.insideria.com/RIA demos were build using: http://jviews.ilog.com http://elixir.ilog.comMy blog: http://blogs.ilog.com/elixir/author/cjolif

Page 27: Ilog Ria2

Questions & Answers

Thank You