• SELECT SITE CURRENCY
Select a currency for use throughout the site
Rich Web Applications: The Business Benefits of Web-enabled Application Development
Butler Group, June 2007, Pages: 272
The Internet is transforming society and business. The current wave of this technology revolution, called Web 2.0, followed the initial wave (Web 1.0) that collapsed with the dot.com boom and bust. Today, ‘always-on’, pervasive broadband is making access to the Internet easy enough for it to be no longer considered as a ‘technology’ but parts of the fabric of modern living, like the telephone or television. The key advantages of using the Internet can be summed up as ‘always on and everywhere’, reachable from mobile devices, laptops, and desktop machines.
Today, additional technologies compete with Ajax to provide a similar concept of desktop-like behaviour, but with superior multimedia capabilities – browser plug-ins such as Adobe Flash Player and, the recent entrant to the market, Microsoft Silverlight. In addition, RWA solutions are also possible with the Java platform and with Microsoft .NET Framework version 3.
The Web is increasingly important for business. A measure of how business has turned to this medium is revealed by the latest advertising expenditure figures. They show that for the first time, on-line advertising in the UK has exceeded that of national newspapers, at UK£2 billion. It is also the fastest growing at 41%, when TV, the highest sector, is showing a small decline. This level of advertising is rewarding UK business with on-line retail revenue earnings of UK£3.6 billion in 2006 (according to IMRG). Furthermore, the Web is almost the equal to TV in holding on to peoples’ time, making it the place to reach out to new and existing consumers. This business activity is just one indication of why the Web is important for business.
Businesses need to devise a Web strategy, and the question of using RWA, as well as experimenting with Web 2.0 concepts, should be part of the consideration process. The implications of RWA for business are multi-fold and can be summarised as follows:
- Internal use of RWA for providing the presentation layer to SOA.
- Internal use of RWA for providing the presentation layer in composite applications, such as mixing Web services and other data sources, including enterprise applications and legacy systems.
- Helping re-engineer business processes for rapid reaction to business opportunities.
- Moving application development from silo, departmental activity, to a Web-based one with greater potential for reuse. For example, an internal Software-as-a-Service model.
- New security risks related to RWA that need addressing.
The drivers behind consumer-led Web 2.0 are also relevant to businesses: these concepts are being transferred to what is called ‘Enterprise Web 2.0’. Table 1 shows the distinguishing features of Web 2.0, compared with the first wave of Web development, and these include:
- Multimedia content in contrast with document-centric HyperText Markup Language (HTML).
- Facilities for users to upload as well as download; for example, the growth of Flickr, Friends Reunited, MySpace, Wikipedia, and YouTube are all due to user-added content.
- The Internet becomes the ‘platform’ with mashups that combine Web services to create new applications; for example, Bikely mashes Google maps to help plan bicycle routes, and Zillow mashes maps and real-estate information.
- Applications are no longer constrained by HTML and single-channel response/request; with RIAs a second channel can be used to work in the background, managing data more efficiently between client and server, while the user interacts with the UI.
- Web 2.0 allows a Web strategy to go beyond simply exploiting reach; now Web services and Web applications can be used in unforeseen ways, leading to emergent value.
The move within enterprises to SOA and internal Web services creates opportunities for Intranet mashups, exploiting reuse to good effect and allowing business power users to rapidly respond to business opportunities. With Enterprise Web 2.0, power users can transform and re-combine internal business processes in new ways.
The use of RWA is already evident within the IT industry as, for example, Business Intelligence vendors provide the option of Web access to applications with rich UIs. RWA also improves the SaaS proposition, as application interfaces become comparable to those on the desktop; we expect to see SaaS adoption increase as a result. SaaS is a software delivery model where the provider offers a hosted application across the Internet. Customers access the application using a Web interface and pay for usage according to various licensing models: per instance use, per allocated time, or on a subscription basis. The use of RWA for the UI offers a considerable way to improve the user experience, making SaaS a more attractive proposition.
The concept of mixing Web services, or mashups, is also an important part of Web 2.0; for example, geo-mapping information is combined with other specialist information to create a new service (e.g. www.housingmaps.com combines Google maps and Craigs List rented accommodation information to visually show rental availability).
However, addressing security is important if these types of applications are to succeed. Businesses need to implement separate policies for Internet and Intranet RWA; Internet exposure of Web services should not take place without strong security and governance in place.
Software application development is currently going through a transition, extending the most common architecture of multi-tier client/server, to composite applications and RIA. Of course the idea of ‘client-side’ and ‘server-side’ remains unchanged in RIA, but the distinction is that traditional client/server systems are separated by Local Area Networks and/or Wide Area Networks, whereas with RIA the Transmission Control Protocol/Internet Protocol (TCP/IP) protocol is used, whether on the Internet or Intranet. Composite applications are built from components, objects, and Web services within a loosely-coupled, standardised application environment created by SOA. RIAs provide a natural presentation layer for applications built within SOA.
The types of RIA fall into three main categories: browser-based with no plug-ins; browser-based with plug-ins; and out-of-browser. We use the term ‘RWAs’ to refer to browser-based RIAs. The open literature uses RIA and RWA interchangeably in an unclear manner without distinguishing the possibility for non-Web-related protocols that could be used on TCP/IP. However, the market at the moment is active mainly with RWA.
Browser-based applications connect to the World Wide Web (Web) using the Hypertext Transfer Protocol (HTTP). Most Internet activity today revolves around Web sites and Web applications. RWAs using Ajax render the presentation in HTML within the browser. Although such applications are rich in the UI interaction, they are limited in richness of multimedia content.
Browser plug-ins enhances the functionality available in the browser and especially so for multimedia content; examples are Adobe Flash, Java Runtime Engine and Applets, and Microsoft Silverlight.
The third category of RIA takes the application out of the browser. It is possible to build applications that connect via the Internet outside the browser using a number of protocols, not just HTTP (the Web protocol), and for custom, in-house applications this is an option to be considered.
There is another mode of use where applications can be taken off-line when the user is away from an Internet connection – for example, when working in the field with a customer – and then re-connect later to synchronise with the back-end.
Some of the benefits of working with RIA, explored in greater depth in this Report, include:
- Ease of application administration, maintenance, and update through a centralised server-side point.
- Ease of application delivery via Internet/Intranet.
- Complements Web services, composite applications, and SOA.
- Encourages reuse through a clear separation of presentation layer, business logic, and data model.
- Makes it easy to create a single application with multiple presentation client-sides: mobile devices or fixed machines.
- Reduces spread of application viruses through centralised control of application on the server-side.
- Can cater for a range of thin to fat options on the client-side.
The versatility that RIAs provide, when combined with other trends in the IT infrastructure (such as SOA), will lead to a point, in our opinion, when RIA will become the default mode of application delivery.
We advocate creating separate Web services and RIA policies for Intranet and Internet use; in particular, internally created Web services must not be accessed from the Internet without first passing through internal governance controls. The idea that Enterprise 2.0 mashups can be created by combining external Web services with internal ones is too early and currently unsafe.
The types of RIA vendors can be categorised as follows:
- Ajax toolkits and widget libraries: There are both open source software and commercially-priced examples. This category will be used by developers wishing to build RIA from the ground up as custom software. For general business use, this category is not relevant.
- Pure Ajax frameworks with light client-side footprints: In this category there are advanced Ajax frameworks that manage the communication between user interaction and widgets and application state synchronisation between the client- and server-sides. They also provide robust security measures, have compatible widget libraries out-of-the-box, and provide their own Integrated Development Environments (IDEs) or RIA builder plug-ins to standard IDEs.
- RIA with browser plug-ins: Whereas Ajax renders in HTML, a browser plug-in can provide a container for the rendering of advanced formats such as vector graphics. Examples are Adobe Flash player, Java Applets, and Microsoft Silverlight.
- RIA with heavy client-side application platforms: Applications built with the Java platform or Microsoft .NET Framework on the client-side fall into this category. These applications can connect to servers using the Internet outside the browser or combine with Ajax and use the browser.
- End-to-end application development environments: Whereas the other categories are tools designed for programmers, there are end-to-end development environments with advanced Graphical User Interface (GUI) drag-and-drop facilities for creating RIA. These tools can be used by power users, domain experts, and business analysts with limited programming skills.
- Rest of the market: A number of proprietary RIA solutions are still available (such as Curl), but given the move towards open standards, it is unlikely they will grow; rather we expect decrease in market share.
We expect RIA vendor rationalisation to take place as market adoption increases. The greatest market adoption in RIA is currently in RWA, which is past the early adopter stage and into the early majority. The chief market trend in RWA is for existing Web development tools to add their own Ajax capability.
The larger vendors, such as Adobe, Microsoft, and TIBCO, are appealing to the developer mass market and offer free tools to grow the market for their premium, enterprise products. Sun is also appealing to the developer community by providing its tools as open source in order to grow the Java platform. IBM supports open source Eclipse and many Web 2.0 projects, including the DoJo Ajax toolkit provider. We believe it likely that IBM will make an acquisition in this space.
Smaller players have a more business-focused, go-to-market strategy, appealing to business needs rather than the IT department. Opportunities occur in the Small- to Medium-sized Enterprise (SME) market and at departmental levels within large organisations, where providing a solution that encompasses business requirements gathering, development processes and Agile methodologies, and with supporting development tools, will prove to be attractive.
The end-to-end, Web-based application development tool providers, notably edge IPK and OutSystems, enable power users and business analysts to create applications. For the right customer and business requirements these tools make a good choice.
The toolkit projects – many that are open source and appearing in our Vendor Profiles, in Section 8 – are mainly aimed at the mass developer market and also feed into higher-value frameworks.
As the Internet progresses in its transition from a ‘technology’ to part of the everyday fabric of society, then more business services and applications will be based on its presence. To be part of this trend, businesses need to start an internal RWA investigation, if they have not already done so, to understand the skills they require and which applications they need to build. This Report will help in selecting the right technology, implementing the right roll-out strategy, and choosing an appropriate RWA development tool or tools.
Section 1: Management Summary
1.1 Management Summary
Section 2: Introduction and Business Issues
2.1 Report Objectives and Structure
2.2 RWA and Application Development
2.3 Business Issues and Strategies
2.4 Web 2.0 and Beyond
2.5 Application Development Survey
Section 3:Web Development Technology
3.1 Introduction to Tools and Libraries
3.3 Platforms and Browser Plug-ins
3.4 End-to-end Web Development Tools and Other Tools
3.5 Developing RIA in SOA
Section 4: Architectures, Models, and Strategies
4.1 Business Strategies for Building Rich Web Applications
4.2 RWA on Service Oriented Architecture
4.3 Architecture and Security
4.4 Butler Group Application Lifecycle Model
4.5 RWA Implications for Vertical Sectors
Section 5: Vendor Comparisons
5.1 Market Analysis
5.2 Comparison of Vendor and Product Strategies
5.3 Market Direction
Section 6: Tables
6.1 Butler Group Rich Web Applications Features Matrix
6.2 Butler Group Rich Web Applications Product Capability Diagrams
6.3 Butler Group Rich Web Applications Market Lifecycle Ratings
Section 7: Technology Audits
Adobe Systems Incorporated – Flex, Version 2.0
Altio – AltioLive, version 4.4
Backbase – AJAX Framework 4
Canoo – UltraLightClient 6.1
edge IPK – edgeConnect
Microsoft – Rich User Experience
Nexaweb – Nexaweb Platform v4.5
OutSystems – OutSystems Platform 4.0
Sun Microsystems – Visual Web Pack and NetBeans IDE 5.5
TIBCO Software – TIBCO General Interface, version 3.3
Section 8: Vendor Profiles
Above All Software
Section 8: Vendor Profiles (continued)
Northgate Information Solutions
Ruby on Rails
Section 9: Glossary
Northgate Information Solutions
Ruby on Rails