how to select the right ajax product

63
How to Select the Right AJAX Product By Jep Castelein, Technical Marketing Manager For sound, please dial +1-605-772-3434, Access code 491-901-147 For questions, please use the Question & Answer box on the right-hand side

Post on 18-Oct-2014

881 views

Category:

Documents


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: How to Select the Right AJAX Product

How to Select the Right AJAX Product

By Jep Castelein, Technical Marketing Manager

For sound, please dial

+1-605-772-3434, Access code 491-901-147

For questions, please use the Question &

Answer box on the right-hand side

Page 2: How to Select the Right AJAX Product

� 1-866-800-8996 (US) � +31-20-750-7305 (EU)

How to Select the Right AJAX Product

What we’ll cover in this webinar:

• Do you need AJAX?

• How to make sense of 150+ AJAX frameworks

• Defining AJAX Selection Criteria

• Backbase AJAX Software

Page 3: How to Select the Right AJAX Product

� 1-866-800-8996 (US) � +31-20-750-7305 (EU)

How to Select the Right AJAX Product

• Do You Need AJAX?

• Framework or Custom?

• Classifying AJAX Approaches

• Defining AJAX Selection Criteria

• Backbase AJAX

Page 4: How to Select the Right AJAX Product

� 1-866-800-8996 (US) � +31-20-750-7305 (EU)

Is it too Early to Use AJAX?

Page 5: How to Select the Right AJAX Product

� 1-866-800-8996 (US) � +31-20-750-7305 (EU)

Determine High-Impact Apps

Source: Forrester 2006

Page 6: How to Select the Right AJAX Product

� 1-866-800-8996 (US) � +31-20-750-7305 (EU)

Low Frequency, Low Complexity

Source: Forrester 2006

Example: Corporate Websites

Page 7: How to Select the Right AJAX Product

� 1-866-800-8996 (US) � +31-20-750-7305 (EU)

BEA

Page 8: How to Select the Right AJAX Product

� 1-866-800-8996 (US) � +31-20-750-7305 (EU)

Medium Frequency & Complexity

Source: Forrester 2006

Example: Self-Service

Page 9: How to Select the Right AJAX Product

� 1-866-800-8996 (US) � +31-20-750-7305 (EU)

Dell

Page 10: How to Select the Right AJAX Product

� 1-866-800-8996 (US) � +31-20-750-7305 (EU)

High Frequency & Low Complexity

Source: Forrester 2006

Example: Portals

Page 11: How to Select the Right AJAX Product

� 1-866-800-8996 (US) � +31-20-750-7305 (EU)

Protopage

Page 12: How to Select the Right AJAX Product

� 1-866-800-8996 (US) � +31-20-750-7305 (EU)

Low Frequency & High Complexity

Source: Forrester 2006

Example: Mapping

Page 13: How to Select the Right AJAX Product

� 1-866-800-8996 (US) � +31-20-750-7305 (EU)

Google Maps

Page 14: How to Select the Right AJAX Product

� 1-866-800-8996 (US) � +31-20-750-7305 (EU)

High Frequency & High Complexity

Source: Forrester 2006

Example: Desktop-type Apps

Page 15: How to Select the Right AJAX Product

� 1-866-800-8996 (US) � +31-20-750-7305 (EU)

Yahoo! Mail Beta

Page 16: How to Select the Right AJAX Product

� 1-866-800-8996 (US) � +31-20-750-7305 (EU)

Examples of Application Types

• Self-service

– Often externally focused (customers, partners)

– Either selling something, or providing service

• Application Modernization

– Often internal applications

– Often the type of application that used to be client-server, or first-generation HTML

Page 17: How to Select the Right AJAX Product

� 1-866-800-8996 (US) � +31-20-750-7305 (EU)

How to Select the Right AJAX Product

• Do You Need AJAX?

• Framework or Custom?

• Classifying AJAX Approaches

• Defining AJAX Selection Criteria

• Backbase AJAX

Page 18: How to Select the Right AJAX Product

� 1-866-800-8996 (US) � +31-20-750-7305 (EU)

Expert’s Opinion

• Michael Mahemoff, AJAX Patterns:

– “There was kind of a running joke at The Ajax Experience about how each speaker at some point exhorted people to take advantage of frameworks/libraries. (…) the message to use frameworks and libraries will become more clear in the next 12 months.” – May 2006

http://ajaxian.com/archives/134-ajax-frameworks-and-counting

Page 19: How to Select the Right AJAX Product

� 1-866-800-8996 (US) � +31-20-750-7305 (EU)

Ajaxian User Research

• Survey with 865 participants, who visited Ajaxian during 1 week in September 2006:

– “25% of you eschew frameworks and work with XMLHttpRequest directly”

– That means that 75% uses some kind of framework or toolkit

http://ajaxian.com/archives/ajaxiancom-2006-survey-results

Page 20: How to Select the Right AJAX Product

� 1-866-800-8996 (US) � +31-20-750-7305 (EU)

Reasons to Use a Framework

• Better browser compatibility

• Many utility functions (e.g. XHR abstraction)

• UI Widgets

• Pre-built Behaviors (e.g. drag & drop)

• Client-server integration

• Better tooling

• …

Page 21: How to Select the Right AJAX Product

� 1-866-800-8996 (US) � +31-20-750-7305 (EU)

How to Select the Right AJAX Product

• Do You Need AJAX?

• Framework or Custom?

• Classifying AJAX Approaches

• Defining AJAX Selection Criteria

• Backbase AJAX

Page 22: How to Select the Right AJAX Product

� 1-866-800-8996 (US) � +31-20-750-7305 (EU)

How many AJAX packages are there?

• Over 150…

• http://ajaxpatterns.org/Frameworks

Page 23: How to Select the Right AJAX Product

� 1-866-800-8996 (US) � +31-20-750-7305 (EU)

Gartner Defines Four Levels

Four Levels of AJAX

1. Snippets

2. Widgets

3. Client-side Engine

4. AJAX Framework

Page 24: How to Select the Right AJAX Product

� 1-866-800-8996 (US) � +31-20-750-7305 (EU)

BEA: 4 Axes of AJAX

Server-centric Client-centric

Open Source

Commercial

Comprehensive framework

Individual components

Procedural

Declarative

Source: BEA, Gary Horen, Brian Harrison

Page 25: How to Select the Right AJAX Product

� 1-866-800-8996 (US) � +31-20-750-7305 (EU)

BEA: Server- vs. Client-Centric

Java / C# UI + Java/C#Client-centric

FrameworkJavaScript

Server-centric Client centric

•DWR

•Prototype

•Sajax

•JavaScript event handling, plumbing, and UI layout

•Backbase Client Edition

•Dojo

•OpenRico

•Framework for page layout

•JavaScript event handlers

•Backbase JSF Edition

•MyFacesTomahawk

•Atlas

•UI Tags

•Java event handlers

•Google Web Toolkit (GWT)

•Java UI definition

•Java event handlers

Page 26: How to Select the Right AJAX Product

� 1-866-800-8996 (US) � +31-20-750-7305 (EU)

OpenAjax: Single vs. dual-DOM

Source: http://www.openajax.org/whitepaper.html

Single-DOM (Client-side) Dual-DOM (Client-side)

Page 27: How to Select the Right AJAX Product

� 1-866-800-8996 (US) � +31-20-750-7305 (EU)

InfoWorld Criteria

Page 28: How to Select the Right AJAX Product

� 1-866-800-8996 (US) � +31-20-750-7305 (EU)

AJAX Architecture

Page 29: How to Select the Right AJAX Product

� 1-866-800-8996 (US) � +31-20-750-7305 (EU)

Let’s look at a couple of examples…

• Snippets: Netflix

• Widgets: Google Suggest

• AJAX Engine: Yellow Pages

• AJAX Framework: RSS Reader

Page 30: How to Select the Right AJAX Product

� 1-866-800-8996 (US) � +31-20-750-7305 (EU)

Netflix: Snippets

Page 31: How to Select the Right AJAX Product

� 1-866-800-8996 (US) � +31-20-750-7305 (EU)

Netflix

Page 32: How to Select the Right AJAX Product

� 1-866-800-8996 (US) � +31-20-750-7305 (EU)

Google Suggest: Widgets

Page 33: How to Select the Right AJAX Product

� 1-866-800-8996 (US) � +31-20-750-7305 (EU)

Google Suggest Movie

Page 34: How to Select the Right AJAX Product

� 1-866-800-8996 (US) � +31-20-750-7305 (EU)

RSS Reader: AJAX Framework

Page 35: How to Select the Right AJAX Product

� 1-866-800-8996 (US) � +31-20-750-7305 (EU)

RSS Reader Demo

Page 36: How to Select the Right AJAX Product

� 1-866-800-8996 (US) � +31-20-750-7305 (EU)

How to Select the Right AJAX Product

• Do You Need AJAX?

• Framework or Custom?

• Classifying AJAX Approaches

• Defining AJAX Selection Criteria

• Backbase AJAX

Page 37: How to Select the Right AJAX Product

� 1-866-800-8996 (US) � +31-20-750-7305 (EU)

Selection Criteria

- Features

- Security

- Performance & Testing

- Non-Product features

Page 38: How to Select the Right AJAX Product

� 1-866-800-8996 (US) � +31-20-750-7305 (EU)

Features: SPI & MPI

Page 39: How to Select the Right AJAX Product

� 1-866-800-8996 (US) � +31-20-750-7305 (EU)

Features: AJAX Engine

Page 40: How to Select the Right AJAX Product

� 1-866-800-8996 (US) � +31-20-750-7305 (EU)

Features: Support Web Features

• Back-forward button

• Bookmarking / send-to-a-friend

• SEO

• Print

Page 41: How to Select the Right AJAX Product

� 1-866-800-8996 (US) � +31-20-750-7305 (EU)

Features: Support Web Features

• Back-forward button

• Bookmarking / send-to-a-friend

• SEO

• Print

Page 42: How to Select the Right AJAX Product

� 1-866-800-8996 (US) � +31-20-750-7305 (EU)

Features: UI Components & Behaviors

AdvancedDesktop Functions

Pre-build & ExtensibleUI Widgets

Page 43: How to Select the Right AJAX Product

� 1-866-800-8996 (US) � +31-20-750-7305 (EU)

Features: Accessibility

• Keyboard shortcuts

• Focus model

• Tab trough the UI

• Section 508 compliance

• Productivity

Page 44: How to Select the Right AJAX Product

� 1-866-800-8996 (US) � +31-20-750-7305 (EU)

Requirement : Accessibility

• Keyboard shortcuts

• Focus model

• Tab trough the UI

• Section 508 compliance

• Productivity

Page 45: How to Select the Right AJAX Product

� 1-866-800-8996 (US) � +31-20-750-7305 (EU)

Features: Server Integration

• Based on Existing Standards

• Client- and Server-side Event Handlers

• Client- and Server-side Data Binding

• Client-Server State Synchronization

Page 46: How to Select the Right AJAX Product

� 1-866-800-8996 (US) � +31-20-750-7305 (EU)

Server-Side Integration with JSF

Page 47: How to Select the Right AJAX Product

� 1-866-800-8996 (US) � +31-20-750-7305 (EU)

Features: Development Tools

IDE integration360 DegreeDebugging Tools

Page 48: How to Select the Right AJAX Product

� 1-866-800-8996 (US) � +31-20-750-7305 (EU)

Client-side Tooling Example

Page 49: How to Select the Right AJAX Product

� 1-866-800-8996 (US) � +31-20-750-7305 (EU)

Security

IT Observer Top-5 AJAX Security Tips:

• Good planning & use standard response format (e.g. XML)

• Follow best-practices, for example from OWASP Top-10 (http://www.owasp.org/index.php/Top_10)

• Add final server-side rechecking of Access Control and Input Validation

• Client-side obfuscation does not protect

• Tight coordination within Dev team

Source: IT Observer (http://www.it-observer.com/articles/1062/ajax_security/)

Page 50: How to Select the Right AJAX Product

� 1-866-800-8996 (US) � +31-20-750-7305 (EU)

Performance & Testing Tips

• Consider application usage patterns

• Latency is more important than bandwidth, you notice this if:– You do many server calls

– You load too many image

• Manipulate data in the background, and then refresh the DOM

• Use GZip compression

• Don’t use too much custom JavaScript

• Try to automate testing

Page 51: How to Select the Right AJAX Product

� 1-866-800-8996 (US) � +31-20-750-7305 (EU)

Non-Product criteria

Documentation + Examples Developer Community

Training Courses

Licensing Technical Support

Mentoring

Is a Company backing it? Solid Roadmap? Customer References?

Page 52: How to Select the Right AJAX Product

� 1-866-800-8996 (US) � +31-20-750-7305 (EU)

How to Select the Right AJAX Product

• Do You Need AJAX?

• Framework or Custom?

• Classifying AJAX Approaches

• Defining AJAX Selection Criteria

• Backbase AJAX

Page 53: How to Select the Right AJAX Product

� 1-866-800-8996 (US) � +31-20-750-7305 (EU)

How is Backbase Classified?

Gartner’s Four Levels of AJAX

1. Snippets

2. Widgets

3. Client-side Engine

4. AJAX Framework

Page 54: How to Select the Right AJAX Product

� 1-866-800-8996 (US) � +31-20-750-7305 (EU)

Backbase on the BEA grid

Server centric Client centric

Open Source

Commercial

Comprehensive framework

Individual components

Procedural

Declarative

Page 55: How to Select the Right AJAX Product

� 1-866-800-8996 (US) � +31-20-750-7305 (EU)

BEA: Server- vs. Client-Centric

Java / C# UI + Java/C#Client-centric

FrameworkJavaScript

Server-centric Client centric

•JavaScript event handling, plumbing, and UI layout

•Framework for page layout

•JavaScript event handlers

•UI Tags

•Java event handlers

•Java UI definition

•Java event handlers

Backbase

Page 56: How to Select the Right AJAX Product

� 1-866-800-8996 (US) � +31-20-750-7305 (EU)

OpenAjax: Backbase uses dual-DOM

Source: http://www.openajax.org/whitepaper.html

Dual-DOM (Client-side) Dual-DOM (Server-side)

Page 57: How to Select the Right AJAX Product

� 1-866-800-8996 (US) � +31-20-750-7305 (EU)

InfoWorld Criteria

Page 58: How to Select the Right AJAX Product

� 1-866-800-8996 (US) � +31-20-750-7305 (EU)

Backbase Products

• AJAX JSF Edition:Based on JSF, includes Eclipse plug-in

• AJAX Struts Edition:Based on Struts

• AJAX Client Edition:Client-only, server-agnostic

More info + trial: www.backbase.com

Page 59: How to Select the Right AJAX Product

� 1-866-800-8996 (US) � +31-20-750-7305 (EU)

Backbase AJAX Architecture

Page 60: How to Select the Right AJAX Product

� 1-866-800-8996 (US) � +31-20-750-7305 (EU)

Backbase AJAX Customers

Financial Services

Federal Reserve

New York

ISVs Other

Page 61: How to Select the Right AJAX Product

� 1-866-800-8996 (US) � +31-20-750-7305 (EU)

Backbase Professional Services

• AJAX Scan:Kick-start your AJAX project, clarify requirements and determine the impact

– AJAX Usability Scan, 3-6 days

– AJAX Technical Scan, 3-6 days

• AJAX – Other Services:

– Training

– Mentoring

– Technical Support

– Consulting

Page 62: How to Select the Right AJAX Product

� 1-866-800-8996 (US) � +31-20-750-7305 (EU)

Backbase Benefits

• Easy-to-use

• Comprehensive

• Open Standards

• Full Support

XML, XHTML, CSS,

JavaScript, XSLT, XPath

No plug-ins needed

Leveraging existing IDEs

and existing skill sets

50+ widgets, mature AJAX

engine, developer tools,

server-side products

Leverage JSF, JSP, Struts,

and JEE skills, cross-

browser compatible,

excellent documentation and

support

Assistance for every step of

your development process

Page 63: How to Select the Right AJAX Product

� 1-866-800-8996 (US) � +31-20-750-7305 (EU)

Q&A Session

• Questions?

Please type them in the

chat window

Americas�1-866-800-8996@ [email protected]

EMEA & Asia�+31 20 750 7305@ [email protected]