TeleconferenceEnterprise RIA Adoption: What a Difference a Good Strategy MakesJeffrey Hammond
Senior Analyst
Forrester Research
November 12, 2008. Call in at 1:55 p.m. EST
2Entire contents © 2007 Forrester Research, Inc. All rights reserved.
Theme
RIA adoption is no longer a question of if, but a matter
of how…
3Entire contents © 2007 Forrester Research, Inc. All rights reserved.
RIA technology moved into mainstream use in 2007
“For custom-developed applications, which development platforms does your company use?”
(multiple responses accepted)
Base: 796 platform software decision-makers at North American and European enterprises and SMBs
4Entire contents © 2007 Forrester Research, Inc. All rights reserved.
RIA technology moved into mainstream use in 2007
Source: Forrester - 1105 Media IDE Survey, May 2007
“For what purposes is your organization using your primary IDE?
Base: 703 North American application development professionals (multiple responses accepted)
5Entire contents © 2007 Forrester Research, Inc. All rights reserved.
RIAs are evolving beyond consumer sites
Initial RIA deployments: Consumer Apps and ISVs
In 2007 Forrester saw a surge of internally focused RIA deployments – Why?
• Client-server application replacement
• Development of information workplaces
» Complex flows support task workers
» Visualization supports information workers
• Making core applications location, and device independent
6Entire contents © 2007 Forrester Research, Inc. All rights reserved.
How do you determine the
best approach?
There are common 3 RIA adoption archetypes
1. Tactical adoption at the developer/team level
» Spot enhancement of existing Web sites
» Widgets and applets
» Uses primarily FOSS Ajax libraries
2. Standardized adoption of Ajax or Plug-ins
» Full applications, client server app replacement
» Shops standardize across teams on Ajax or Plug-ins
» Mix of Commercial and FOSS Ajax, Flex and eventually Silverlight
3. Mixed model adoption based on fit-to-purpose
» Extends to mobile apps, desktop, offline use scenarios
» Shops define when and where to use different RIA technologies
» Supports interop. scenarios like Ajax w/ Flash and Flex w/ Ajax
7Entire contents © 2007 Forrester Research, Inc. All rights reserved.
Six dimensions that separate RIA options
Criteria Why it matters
Reach and intentMatching a solution to a user’s target platforms minimizes redundancies and wasted effort
Richness of widget setA broad palette of controls improves design options when dealing with complex data or transactions
Extended ecosystemDevelopment tools, training, consulting and support all minimize ramp-up time and decrease cycle time, extended lifecycle support is key
Performance profile Performance mismatches disappoint power users
Security and “…ilities” Difficult to retrofit after an application is deployed
Ease of customizationIntegration efforts, evolving UI design conventions, and self-support capability all require access to source code and customization capabilities
8Entire contents © 2007 Forrester Research, Inc. All rights reserved.
ConcernRaw Ajax
Ajax Libraries
Ajax Frameworks
Browser plug-ins
Desktop frameworks
Spot enhancements of existing Web sites
Widgets and Applets Full Applications Multiple OSes Multiple Browsers Mobile Devices Occasionally connected apps
Reach and intent – relative solution strength
Not Appropriate Adequate Good fit Overkill
9Entire contents © 2007 Forrester Research, Inc. All rights reserved.
Reach and intent – preflight checklist
• Where does your application need to go?
• Who will use it, how often?
• What does it need to do?
• How will you apply RIA technology?
» Incremental – spot enhancement of existing sites
» Transformational – completely new application or rewrite of existing legacy application
10Entire contents © 2007 Forrester Research, Inc. All rights reserved.
Richness of widget set – preflight checklist
• Is the widget library sufficient for that task at hand?
» Basic controls
» Advanced controls
» Data-aware controls
» Canvas and drawing
• Is relative positioning supported?
• How are styles, templates and skins applied?
• How easy is it to build new controls or integrate with other Ajax and Plug-in technologies?
• How will it adapt to the evolution of HTML 5?
11Entire contents © 2007 Forrester Research, Inc. All rights reserved.
Richness of widget set - examples
• With “roll your own” Ajax you do exactly that….
• GWT ~ 30 controls, mainly basic layout
• Dojo (Dijit) ~ 30 controls, mainly basic layout
• Flash/Silverlight 1.0 – primitives instead of controls
• Flex - ~ 30 controls, including data, charting and layout, can also interoperate w/ Ajax libraries
• Isomorphic - 35 controls, including data aware, analytics and visual design
12Entire contents © 2007 Forrester Research, Inc. All rights reserved.
Extended ecosystem – preflight checklist
Bells and whistles are necessary…but not sufficient!
• What’s the programming model and learning curve?
» Declarative vs. Imperative models
• Are there WSIWYG development tools available?
• Can you hire, find or train resources quickly?
• What about ALM and Design tool integrations?
» Can designers provide CSS, artifacts and/or share projects?
» Can you version artifacts with standard SCM tools?
» How will you test applications?
13Entire contents © 2007 Forrester Research, Inc. All rights reserved.
Performance profile – preflight checklist
• What is your usage intensity profile?
» Power users need validation, performance, keyboard shortcuts.
» Occasional users need effective engagement, UI cueing
» Infrequent users need low footprint, discoverability
• What’s the user base and client horsepower?
• What is the duty cycle on the application’s data?
• What’s the minimum start-up data set?
14Entire contents © 2007 Forrester Research, Inc. All rights reserved.
Infrequent and Occasional Users
Power Users
Programming model and performance profile separate RIA frameworks and libraries
Clie
nt
Se
rve
r
Imperative
Declarative
JSF Based (MyFaces,
ICEFaces, etc)
Struts, Tiles
GWTWicket
Dojo
jQuery
ExtYUI
XAPNexaweb
Isomorphic
Curl
JavaFX
Flex
Silverlight
Infrequent and Occasional Users
Power Users
15Entire contents © 2007 Forrester Research, Inc. All rights reserved.
Security and “…ilities” – preflight checklist
• What is the sensitivity of the data involved?
• What is the opportunity for exposure?
• What steps does the RIA technology take to insulate developers from common attacks?
• What accessibility requirements do you have?
• What navigability requirements do you have?
• What searchability requirements do you have?
• What measurability requirements do you have?
© 2008, Forrester Research, Inc. Reproduction Prohibited
How To Reduce The Security Risks In The Three Facets Of An RIA’s Attack Surface
March 2008 “Securing Rich Internet Applications”
17Entire contents © 2007 Forrester Research, Inc. All rights reserved.
“…ilities” are dependent on RIA technology type
• Plug-ins and Ajax frameworks generally do well with accessibility, Ajax libraries – not so much.
• Navigability is supported via hacks in Ajax libraries, Ajax frameworks, and Flex
• Searchability is a general problem for unless specific designs patterns are implemented
• Support for analytics is improving, especially for widgets, and Ajax applications
18Entire contents © 2007 Forrester Research, Inc. All rights reserved.
Ease of customization – preflight checklist
• What are your integration needs?
» Calling into .NET, Java on the server
» Support for SOAP, REST Web services
» Legacy integration and Packaged Apps
• What rights does the copyright holder grant you?
• What is the health of the supporting community (if any)?
• What standards does the technology support?
• What options do you have to mix and match different libraries and controls?
19Entire contents © 2007 Forrester Research, Inc. All rights reserved.
An example of a RIA win-win
Major U.S. Pharmaceutical Company
Problem: How to grow a custom app infrastructure to support the drug discovery pipeline.
Solution: An interactive reporting application that
» Allows researchers to create customized reports that drill down on particular aspect of the drug discovery process
» Makes large amounts of data locally available
» Ensures cleanliness of data before it enters the system
Benefits:
» Significant reduction in development time
» Higher level of developer abstraction
20Entire contents © 2007 Forrester Research, Inc. All rights reserved.
An example of a RIA win-win
Major U.S. Defense Contractor
Problem: Proliferation of open source RIA libraries create governance and architecture risk
Solution: An shift to a strategic mixed model RIA platform
» Deployed a mix of CRUD, reporting and transactional apps
» Executive dashboard integrates Ajax, Flash for maximum effect
» Core program planning app rolled out to ~4,000 engineers
Benefits:
» Usability creates high levels of end user good will
» Significant reduction ins developer on-ramp
» Ability to mix tactical refits and strategic development
21Entire contents © 2007 Forrester Research, Inc. All rights reserved.
Recommendations
• Start by defining the span of your RIA needs
» Incremental vs. Transformational
» Extranet vs. Intranet
» RIA scenario types
• Strategic users should focus on mixed model adoption
• Match the solution to your developer skill base
• Match the solutions to your performance profile
• Use Ajax where reach, integration and mobility needs are primary
• Use Plug-ins for rich media, occasionally connected apps, controlled deployments
22Entire contents © 2007 Forrester Research, Inc. All rights reserved.
Jeffrey Hammond
+1 617/613-6164
Twitter: jhammond
www.forrester.com
Thank you