Enterprise RIA – Real Examples
and Lessons Learnt
Chief Strategy Officer, Curl Inc.
1 Cambridge Center
Cambridge, MA 02142
www.curl.com | 617.761.1200
Last 6 years (2002-Now) – Consultant & Board
Member at several start-ups, Chief Strategy
Officer at Curl since 2+ years
10 Years (1992-2002) – Oracle, Group Vice
President, Systems Architecture and Technology,
responsible for the server product planning and
16 years (1975-1992) – IBM, Planner, architect,
and development manager for DB2 product line at
Silicon Valley Lab and Austin Lab. Head of IBM’s
Database architecture, planning, and technology
Real examples & lessons learnt
Current offerings – a comparison
How it all started
RIAs attempt to combine the strengths of desktop and Web
applications without falling prey to their weaknesses.
Martin Heller, InfoWorld, 8/2007
The next generation of the Web is marked by dynamic,
interactive, open and highly flexible applications that not only
go beyond the capabilities of classic Web applications but also
exceed the features of desktop applications.
Jim Rapoza, eWeek, 8/2007
– Any web browser technology that provides more
sophisticated user-interface capabilities than HTML and CSS
– A web browser technology that communicates with backend
Slide 4 4
The early days - Web 1.0
Web Browser Server Application
Slide 5 5
And now - Web 2.0?
Web Browser Server Application
Rich Internet Application
Slide 6 6
The RIA Landscape
Web Browser Server Application
• Microsoft IE • Java EE
• Mozilla FireFox • Microsoft .NET
• Apple Safari • LAMP
• Google Chrome • Other
Rich Internet Application
• Ajax (Dojo, GWT, Prototype, etc.)
• Adobe Flex, AIR
• Curl 7
• Microsoft Silverlight
Adoption Fat Client
User Interface RIA
Kiviat Diagram, Courtesy The Burton Group
Rich user experience (UXP)
– Support work processes with powerful, friendly UI
– Eliminate waiting time
Web deployment ⇨ improved reach & lower cost.
– Reach new users/customers
– Run on any platform
– Lower maintenance/administration costs
– Lower infrastructure costs
These benefits apply to both:
– Internal enterprise apps
– Consumer-facing apps
General RIA vs. Enterprise RIA
Ajax deployment, Web platform, More Separate Process,
Browser-centric, client-side processing, Desktop/Browser,
Stateful, Dynamic, High Complex UI,
Simple UI developer productivity Scalability, Security,
Shift from HTML Thin Client, Web 1.0
Shift from Client-server
The enterprise RIA dilemma
Performance & Complexity – With broad reach and low TCO
Rich Traditional 4 Internet
Complex fat Client
Enterprise RIA platforms
must meet the needs of
Interface 1 2 3 applications.
Requirements for Enterprise RIA
Displays complex graphics and reports for users
Handles large data sets
Ensures very high performance
Offers very high scalability
Addresses strict security requirements
Provides online/offline operation
Follows SOA and standards
Facilitates migration from legacy apps
Enables platform independence
Includes rich development tools
Categories of Products
Browser RIA Platforms Desktop RIA Platforms
Ajax (240 frameworks) Adobe AIR
Adobe Flex Google Gears
Silverlight Mozilla Prism
Desktop & Browser
A leading software vendor that provides solutions for
governance, risk and compliance including financial
control management, internal audit, risk management,
IT governance and compliance.
Paisley delivers comprehensive and tightly integrated
solutions to better identify and reconcile the risks
impacting organizations, allowing users to ensure that
evaluations of risks are completed quickly, consistently
Two primary product offerings:
– Paisley Enterprise GRC
– GRC on Demand (SaaS offering)
Ranked by the Gartner Group as the leader in GRC
Biggest competitors are Excel and Word.
Users are used to fat clients.
The jump to pure web form based processing is
just too great.
appease the users and make the application feel
more “client side”
They realized the need to move some of the
processing back to the desktop.
Large volume of data to be consumed.
Need a more productive and intuitive way to
process data (colors, graphs, etc) but still drill to
underlying data records
Created a “push” model for Curl. They send
Curl Data and it knows how to go get the files
to display that data.
4 people in training for 3 days.
Took 4 months to ship a product release.
– Heatmaps (2004)
– Scorecards (2005)
– Desktops (2006)
– Workforce Scheduling (2007)
Transitioned from Domino to Java pretty
effortlessly within Curl – very high reuse of
the Curl assets.
A directive was to make it look like Excel and
make it print out just like it appears on the
Real-time connection of field
Transmitting System information to parts repair
Goal to be number 1 in global Event driven alerts to potential
customer satisfaction problems
Link field information to business Visualize the suspected points
with rich graphical interface
Integrate with other media such
as PDFs and spreadsheets
Web enabled broad reach
– Available all domestic service
points in Japan
– Easy expansion to overseas
Scalability - loosely-coupled
architecture between Client and
– Need to provide this application (services) through Web-
based infrastructure (internet) because this application will
be used globally
– Need to have stress-less user experiences providing rich
UI like graphical charts etc.
– Need to integrate with other office applications like PDF or
– Client-server technology products like Oracle Portal did not
satisfy their need
– The Curl RIA Platform was the best answer, no disturbance
to back-end, shift to more client processing for speed
– Data-intensive, BI analytics, performance is key
The new system has Curl as the front-
The Billing Application - a true RIA for
end client technology with Oracle
Corporate Customers: optional database at backend. The Curl RTE is
consolidated billing for landline, Long automatically downloaded from the
Distance, Cell phones, and VOIP - front-page of this application when
offered to clients when they renew user signs on for the first time.
their service agreement.
The application is in use since 2006,
deployed all across Japan with 15000
The old system built on Microsoft Visual clients
Basic had to mail CD-Rom to users for
different services. Many problems in
data upload and performance Benefits
The whole application development took
one year including the backend - at a
cost of $1m.
The new system reduces cost by 10%
and improves accuracy of data. They
only deploy two web servers and 2
application servers (Oracle App. Server
The application uses Curl as the GUI
CRM for call centers: Build such an
technology with Oracle 10G database
application and offer as SaaS over the and Tomcat as the application server
web in the middle tier. They use J2EE for
They tried HTML during early stage. backend logic.
Also looked at Flash, and .Net. Currently there are 2 clients using it.
Flash lacked functionality for business This is a classic form-based
application application, very similar to the client-
server apps with Windows rich
.Net is restricted to Windows only interface of the past.
platform. Deployed since May,2006
Curl was the most suited for the
“business application”. Benefits
The SaaS license model of Curl was Development cost - 72 person months.
attractive SI partner Akasi built it in 6 months
The ROI on Curl: better performance
than old HTML which needed lots of
screen refresh. SaaS model of delivery
makes it very attractive for the client.
Sonata’s RIA Technology Study
Evaluate 3 RIA technologies platforms
– ASP.NET AJAX
By measuring factors contributing to
– Ease of learning
– Ease of design
– Ease of development
– Runtime performance
Done by Sonata, a leader in Outsourced Software
– Team of 4 people in 2 months
– Results in a detailed 55-page report with code samples
RIA platform spectrum
Ajax Flex & Silverlight AIR & Curl
B2C B2C B2B
Open Controlled Closed
Minimal Client Processing Heavy Client Processing
Simple UI Complex UI – Data visualization
– B2B – Extended enterprise
– B2E – Employee tools
– B2C – SaaS, Consumer tools
Curl has over 300 enterprise class customers
– B2E, B2B accounts for about 80-90%
“Enterprise RIA” vendors
Ajax is inadequate for the enterprise
– Poor security (xss attacks, DOM is porous)
– Poor scalability
– Poor performance
Only 4 players
1. Curl (Curl)
– MIT research, one language, designed for enterprise, JIT compiler,
very high performance/scale/security, 300 customers
2. Flex, AIR (Adobe)
– 2 separate products, Flex came from Macromedia and not designed
for enterprise use, AIR is new and very few customers
3. JavaFX (Sun)
– very new, unproven, no customers, large java developer community
4. Silverlight (Microsoft)
– new, media-focused to fight Flex, very few customers, large .Net
Enterprise RIA – questions to ask the vendor
Can your RIA platform:
1. Handle complex graphics required in reports and data
2. Handle large data sets and process them on the client
with high performance?
3. Scale adequately with 10s of thousands of users?
4. Address the strict security requirements of the
5. Provide online/offline operation?
6. Support SOA and WOA standards?
7. Help with migration from legacy apps?
8. Support the broad spectrum of clients and browsers?
9. Provide a rich set of development tools?
10.Provide tools to reduce maintenance costs?
The term RIA is used broadly across the entire application
Enterprise RIA has stringent needs compared to the general
– Expectations based on client-server experience
Convergence of Web apps and Desktop apps
– Driving new set of RIA requirements
Only four players addressing enterprise needs
– Curl, Adobe AIR, JavaFX and Microsoft Silverlight
– Curl has the largest number of enterprise deployments so far