how to select the right ajax product 685

Upload: vkamins

Post on 05-Apr-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/2/2019 How to Select the Right Ajax Product 685

    1/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

  • 8/2/2019 How to Select the Right Ajax Product 685

    2/63

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

    How to Select the Right AJAX Product

    What well cover in this webinar:

    Do you need AJAX?

    How to make sense of 150+ AJAX

    frameworks Defining AJAX Selection Criteria

    Backbase AJAX Software

  • 8/2/2019 How to Select the Right Ajax Product 685

    3/63

    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

  • 8/2/2019 How to Select the Right Ajax Product 685

    4/63

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

    Is it too Early to Use AJAX?

  • 8/2/2019 How to Select the Right Ajax Product 685

    5/63

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

    Determine High-Impact Apps

    Source: Forrester 2006

  • 8/2/2019 How to Select the Right Ajax Product 685

    6/63

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

    Low Frequency, Low Complexity

    Source: Forrester 2006

    Example:Corporate Websites

  • 8/2/2019 How to Select the Right Ajax Product 685

    7/63

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

    BEA

  • 8/2/2019 How to Select the Right Ajax Product 685

    8/63

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

    Medium Frequency & Complexity

    Source: Forrester 2006

    Example:Self-Service

  • 8/2/2019 How to Select the Right Ajax Product 685

    9/63

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

    Dell

  • 8/2/2019 How to Select the Right Ajax Product 685

    10/63

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

    High Frequency & Low Complexity

    Source: Forrester 2006

    Example:Portals

  • 8/2/2019 How to Select the Right Ajax Product 685

    11/63

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

    Protopage

  • 8/2/2019 How to Select the Right Ajax Product 685

    12/63

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

    Low Frequency & High Complexity

    Source: Forrester 2006

    Example:Mapping

  • 8/2/2019 How to Select the Right Ajax Product 685

    13/63

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

    Google Maps

  • 8/2/2019 How to Select the Right Ajax Product 685

    14/63

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

    High Frequency & High Complexity

    Source: Forrester 2006

    Example:Desktop-type Apps

  • 8/2/2019 How to Select the Right Ajax Product 685

    15/63

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

    Yahoo! Mail Beta

  • 8/2/2019 How to Select the Right Ajax Product 685

    16/63

    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 providingservice

    Application Modernization Often internal applications

    Often the type of application that used to be

    client-server, or first-generation HTML

  • 8/2/2019 How to Select the Right Ajax Product 685

    17/63

    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

  • 8/2/2019 How to Select the Right Ajax Product 685

    18/63

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

    Experts Opinion

    Michael Mahemoff, AJAX Patterns:

    There was kind of a running joke at TheAjax Experience about how each speaker atsome point exhorted people to takeadvantage of frameworks/libraries. () the

    message to use frameworks and librarieswill become more clear in the next 12months. May 2006

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

  • 8/2/2019 How to Select the Right Ajax Product 685

    19/63

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

    Ajaxian User Research

    Survey with 865 participants, whovisited Ajaxian during 1 week inSeptember 2006:

    25% of you eschew frameworks and work

    with XMLHttpRequest directly

    That means that 75% uses some kind offramework or toolkit

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

  • 8/2/2019 How to Select the Right Ajax Product 685

    20/63

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

    Reasons to Use a Framework

    Better browser compatibility

    Many utility functions (e.g. XHRabstraction)

    UI Widgets

    Pre-built Behaviors (e.g. drag & drop) Client-server integration

    Better tooling

  • 8/2/2019 How to Select the Right Ajax Product 685

    21/63

    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

  • 8/2/2019 How to Select the Right Ajax Product 685

    22/63

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

    How many AJAX packages are there?

    Over 150

    http://ajaxpatterns.org/Frameworks

  • 8/2/2019 How to Select the Right Ajax Product 685

    23/63

    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

  • 8/2/2019 How to Select the Right Ajax Product 685

    24/63

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

    BEA: 4 Axes of AJAX

    Server-centric Client-centric

    Open Source

    Commercial

    Comprehensiveframework

    Individual

    components

    Procedural

    Declarative

    Source: BEA, Gary Horen, Brian Harrison

  • 8/2/2019 How to Select the Right Ajax Product 685

    25/63

    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

    JavaScriptevent handling,plumbing, and

    UI layout

    BackbaseClient Edition

    DojoOpenRico

    Framework forpage layout

    JavaScriptevent handlers

    Backbase JSFEdition

    MyFacesTomahawk

    Atlas

    UI Tags

    Java eventhandlers

    Google WebToolkit (GWT)

    Java UIdefinition

    Java eventhandlers

  • 8/2/2019 How to Select the Right Ajax Product 685

    26/63

    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)

  • 8/2/2019 How to Select the Right Ajax Product 685

    27/63

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

    InfoWorld Criteria

  • 8/2/2019 How to Select the Right Ajax Product 685

    28/63

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

    AJAX Architecture

  • 8/2/2019 How to Select the Right Ajax Product 685

    29/63

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

    Lets look at a couple of examples

    Snippets: Netflix

    Widgets: Google Suggest

    AJAX Engine: Yellow Pages

    AJAX Framework: RSS Reader

  • 8/2/2019 How to Select the Right Ajax Product 685

    30/63

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

    Netflix: Snippets

  • 8/2/2019 How to Select the Right Ajax Product 685

    31/63

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

    Netflix

  • 8/2/2019 How to Select the Right Ajax Product 685

    32/63

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

    Google Suggest: Widgets

  • 8/2/2019 How to Select the Right Ajax Product 685

    33/63

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

    Google Suggest Movie

  • 8/2/2019 How to Select the Right Ajax Product 685

    34/63

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

    RSS Reader: AJAX Framework

  • 8/2/2019 How to Select the Right Ajax Product 685

    35/63

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

    RSS Reader Demo

  • 8/2/2019 How to Select the Right Ajax Product 685

    36/63

    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

  • 8/2/2019 How to Select the Right Ajax Product 685

    37/63

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

    Selection Criteria

    - Features

    - Security

    - Performance & Testing

    - Non-Product features

  • 8/2/2019 How to Select the Right Ajax Product 685

    38/63

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

    Features: SPI & MPI

  • 8/2/2019 How to Select the Right Ajax Product 685

    39/63

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

    Features: AJAX Engine

  • 8/2/2019 How to Select the Right Ajax Product 685

    40/63

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

    Features: Support Web Features

    Back-forward button

    Bookmarking /send-to-a-friend

    SEO

    Print

  • 8/2/2019 How to Select the Right Ajax Product 685

    41/63

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

    Features: Support Web Features

    Back-forward button

    Bookmarking /send-to-a-friend

    SEO

    Print

  • 8/2/2019 How to Select the Right Ajax Product 685

    42/63

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

    Features: UI Components & Behaviors

    AdvancedDesktop Functions

    Pre-build & ExtensibleUI Widgets

  • 8/2/2019 How to Select the Right Ajax Product 685

    43/63

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

    Features: Accessibility

    Keyboard shortcuts

    Focus model

    Tab trough the UI

    Section 508 compliance

    Productivity

  • 8/2/2019 How to Select the Right Ajax Product 685

    44/63

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

    Requirement : Accessibility

    Keyboard shortcuts

    Focus model

    Tab trough the UI

    Section 508 compliance

    Productivity

  • 8/2/2019 How to Select the Right Ajax Product 685

    45/63

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

    Features: Server Integration

    Based on Existing Standards

    Client- and Server-side EventHandlers

    Client- and Server-side DataBinding

    Client-Server StateSynchronization

  • 8/2/2019 How to Select the Right Ajax Product 685

    46/63

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

    Server-Side Integration with JSF

  • 8/2/2019 How to Select the Right Ajax Product 685

    47/63

    1-866-800-8996 (US)

    +31-20-750-7305 (EU)

    Features: Development Tools

    IDE integration360 DegreeDebugging Tools

  • 8/2/2019 How to Select the Right Ajax Product 685

    48/63

    1-866-800-8996 (US)

    +31-20-750-7305 (EU)

    Client-side Tooling Example

  • 8/2/2019 How to Select the Right Ajax Product 685

    49/63

    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 AccessControl and Input Validation

    Client-side obfuscation does notprotect

    Tight coordination within Dev team

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

  • 8/2/2019 How to Select the Right Ajax Product 685

    50/63

    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, andthen refresh the DOM

    Use GZip compression

    Dont use too much custom JavaScript Try to automate testing

    d

  • 8/2/2019 How to Select the Right Ajax Product 685

    51/63

    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?

    H t S l t th Ri ht AJAX P d t

  • 8/2/2019 How to Select the Right Ajax Product 685

    52/63

    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

    H i B kb Cl ifi d?

  • 8/2/2019 How to Select the Right Ajax Product 685

    53/63

    1-866-800-8996 (US)

    +31-20-750-7305 (EU)

    How is Backbase Classified?

    Gartners Four Levels of AJAX

    1. Snippets

    2. Widgets

    3. Client-side Engine

    4. AJAX Framework

    B kb th BEA id

  • 8/2/2019 How to Select the Right Ajax Product 685

    54/63

    1-866-800-8996 (US)

    +31-20-750-7305 (EU)

    Backbase on the BEA grid

    Server centric Client centric

    Open Source

    Commercial

    Comprehensiveframework

    Individualcomponents

    Procedural

    Declarative

    BEA: Server vs Client Centric

  • 8/2/2019 How to Select the Right Ajax Product 685

    55/63

    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, andUI layout

    Framework for

    page layout

    JavaScriptevent handlers

    UI Tags

    Java eventhandlers

    Java UI

    definition

    Java eventhandlers

    Backbase

    OpenAjax: Backbase uses dual DOM

  • 8/2/2019 How to Select the Right Ajax Product 685

    56/63

    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)

    InfoWorld Criteria

  • 8/2/2019 How to Select the Right Ajax Product 685

    57/63

    1-866-800-8996 (US)

    +31-20-750-7305 (EU)

    InfoWorld Criteria

    Backbase Products

  • 8/2/2019 How to Select the Right Ajax Product 685

    58/63

    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

    Backbase AJAX Architecture

  • 8/2/2019 How to Select the Right Ajax Product 685

    59/63

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

    Backbase AJAX Architecture

    Backbase AJAX Customers

  • 8/2/2019 How to Select the Right Ajax Product 685

    60/63

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

    Backbase AJAX Customers

    Financial Services

    Federal ReserveNew York

    ISVs Other

    Backbase Professional Services

  • 8/2/2019 How to Select the Right Ajax Product 685

    61/63

    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

    Backbase Benefits

  • 8/2/2019 How to Select the Right Ajax Product 685

    62/63

    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, XPathNo plug-ins neededLeveraging existing IDEs

    and existing skill sets

    50+ widgets, mature AJAXengine, developer tools,

    server-side products

    Leverage JSF, JSP, Struts,and JEE skills, cross-

    browser compatible,excellent documentation and

    support

    Assistance for every step ofyour development process

    Q&A Session

  • 8/2/2019 How to Select the Right Ajax Product 685

    63/63

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

    Q&A Session

    Questions?

    Please type them in thechat window

    Americas1-866-800-8996@ [email protected]

    EMEA & Asia

    +31 20 750 7305@ [email protected]