how to select the right ajax product
Post on 18-Oct-2014
881 views
DESCRIPTION
TRANSCRIPT
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
� 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
� 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
� 1-866-800-8996 (US) � +31-20-750-7305 (EU)
Is it too Early to Use AJAX?
� 1-866-800-8996 (US) � +31-20-750-7305 (EU)
Determine High-Impact Apps
Source: Forrester 2006
� 1-866-800-8996 (US) � +31-20-750-7305 (EU)
Low Frequency, Low Complexity
Source: Forrester 2006
Example: Corporate Websites
� 1-866-800-8996 (US) � +31-20-750-7305 (EU)
BEA
� 1-866-800-8996 (US) � +31-20-750-7305 (EU)
Medium Frequency & Complexity
Source: Forrester 2006
Example: Self-Service
� 1-866-800-8996 (US) � +31-20-750-7305 (EU)
Dell
� 1-866-800-8996 (US) � +31-20-750-7305 (EU)
High Frequency & Low Complexity
Source: Forrester 2006
Example: Portals
� 1-866-800-8996 (US) � +31-20-750-7305 (EU)
Protopage
� 1-866-800-8996 (US) � +31-20-750-7305 (EU)
Low Frequency & High Complexity
Source: Forrester 2006
Example: Mapping
� 1-866-800-8996 (US) � +31-20-750-7305 (EU)
Google Maps
� 1-866-800-8996 (US) � +31-20-750-7305 (EU)
High Frequency & High Complexity
Source: Forrester 2006
Example: Desktop-type Apps
� 1-866-800-8996 (US) � +31-20-750-7305 (EU)
Yahoo! Mail Beta
� 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
� 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
� 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
� 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
� 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
• …
� 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
� 1-866-800-8996 (US) � +31-20-750-7305 (EU)
How many AJAX packages are there?
• Over 150…
• http://ajaxpatterns.org/Frameworks
� 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
� 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
� 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
� 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)
� 1-866-800-8996 (US) � +31-20-750-7305 (EU)
InfoWorld Criteria
� 1-866-800-8996 (US) � +31-20-750-7305 (EU)
AJAX Architecture
� 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
� 1-866-800-8996 (US) � +31-20-750-7305 (EU)
Netflix: Snippets
� 1-866-800-8996 (US) � +31-20-750-7305 (EU)
Netflix
� 1-866-800-8996 (US) � +31-20-750-7305 (EU)
Google Suggest: Widgets
� 1-866-800-8996 (US) � +31-20-750-7305 (EU)
Google Suggest Movie
� 1-866-800-8996 (US) � +31-20-750-7305 (EU)
RSS Reader: AJAX Framework
� 1-866-800-8996 (US) � +31-20-750-7305 (EU)
RSS Reader Demo
� 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
� 1-866-800-8996 (US) � +31-20-750-7305 (EU)
Selection Criteria
- Features
- Security
- Performance & Testing
- Non-Product features
� 1-866-800-8996 (US) � +31-20-750-7305 (EU)
Features: SPI & MPI
� 1-866-800-8996 (US) � +31-20-750-7305 (EU)
Features: AJAX Engine
� 1-866-800-8996 (US) � +31-20-750-7305 (EU)
Features: Support Web Features
• Back-forward button
• Bookmarking / send-to-a-friend
• SEO
� 1-866-800-8996 (US) � +31-20-750-7305 (EU)
Features: Support Web Features
• Back-forward button
• Bookmarking / send-to-a-friend
• SEO
� 1-866-800-8996 (US) � +31-20-750-7305 (EU)
Features: UI Components & Behaviors
AdvancedDesktop Functions
Pre-build & ExtensibleUI Widgets
� 1-866-800-8996 (US) � +31-20-750-7305 (EU)
Features: Accessibility
• Keyboard shortcuts
• Focus model
• Tab trough the UI
• Section 508 compliance
• Productivity
� 1-866-800-8996 (US) � +31-20-750-7305 (EU)
Requirement : Accessibility
• Keyboard shortcuts
• Focus model
• Tab trough the UI
• Section 508 compliance
• Productivity
� 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
� 1-866-800-8996 (US) � +31-20-750-7305 (EU)
Server-Side Integration with JSF
� 1-866-800-8996 (US) � +31-20-750-7305 (EU)
Features: Development Tools
IDE integration360 DegreeDebugging Tools
� 1-866-800-8996 (US) � +31-20-750-7305 (EU)
Client-side Tooling Example
� 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/)
� 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
� 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?
� 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
� 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
� 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
� 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
� 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)
� 1-866-800-8996 (US) � +31-20-750-7305 (EU)
InfoWorld Criteria
� 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
� 1-866-800-8996 (US) � +31-20-750-7305 (EU)
Backbase AJAX Architecture
� 1-866-800-8996 (US) � +31-20-750-7305 (EU)
Backbase AJAX Customers
Financial Services
Federal Reserve
New York
ISVs Other
� 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
� 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
� 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]