The move towards web-enabling applications received a significant boost with the rise of asynchronous JavaScript and XML (Ajax), a collection of languages and techniques that have popularized the concept of rich internet applications (RIA) within the developer community.
What Ajax and other RIA technologies bring to developers is the capability to create browser-based applications that are desktop-like in appearance and functionality, but are connected to the web. These browser-based applications are named rich web applications (RWA) and represent the early adopter phase of the RIA market that we are currently in.
With RWA, a single web page can suffice to front an application with different parts of the page updated asynchronously, unlike traditional web pages that need a whole page refresh. Data traffic between the client-side and web server is also better managed making use of the continuously open asynchronous channel.
Ajax is the technology that has made web 2.0 possible, a description for a host of novel web-based applications, including ‘mashing’ of web services to create new applications. The rise of web 2.0 is sparking initiatives within business, whereby business processes are being reviewed and enterprise 2.0 applications are being created that exploit Ajax and other RIA technologies. Furthermore, the adoption of service-oriented architecture (SOA) within the corporate firewall facilitates a composite application culture which is a perfect complement to enterprise 2.0.
The traditional approach to application development has been the client-server architecture, multi-tiered for enterprise applications, but essentially comprising comprehensive frameworks with run-time engines on the client and server sides, connected by local area networks. The two platforms that have taken the major share of this market in the enterprise are Java and Microsoft .NET.
The rise of the internet and, in particular, the World Wide Web, together with SOA, has opened up new possibilities in application development. Now, legacy systems and enterprise-strength applications built on Java and .NET are exposed as services and components for consumption by lighter-weight presentation layer applications.
RWA, representing the browser-based RIA, cover technologies such as Ajax frameworks, Ajax-enabled JavaServer Faces frameworks, Microsoft ASP.NET Ajax, Microsoft WPF/E, and Adobe Flex. The advantage of browser-based client-side applications is that they are light-weight, with small downloads: Ajax is virtually zero-footprint, and Adobe Flex uses the Adobe Flash player, which is around 1MB. Microsoft’s equivalent to Flash is WPF/E (a project codename and due for release later in 2007). The exception is any Java application, as it requires the presence of the Java Runtime Engine (JRE) – this is a heavy download, although, once installed, it remains on the machine. However, 85% to 90% of PCs are believed to have the presence of a JRE.
Adobe Apollo provides a greater challenge to pure Java and pure .NET applications. Apollo takes the Flash player outside the browser and marries it with the Adobe PDF reader. Although browser-based RIA are desktop-equivalent, it is only outside the browser that full flexibility is achievable, with access to all local machine resources, including other applications running on the machine. Adobe Apollo, which requires a run-time installation on the client machine, allows developers with existing skills in JavaScript/ActionScript, XML, and HTML to build desktop applications connected via the internet to corporate applications, including those exposed by SOA.
There is no single ‘right’ solution in RIA. Everything depends on the business requirements, the platform currently in place, and, especially given the internet nature of the applications, security. Within controlled business environments, a pure Java or .NET solution offers the advantages of proven frameworks and their libraries. Web enablement has created new business opportunities and, depending on whether the applications are business-to-consumer or business-to-business, the right RIA approach will depend on what necessary plug-in or run-time can be assumed to be present on the client-side. The launch of Adobe Apollo increases the choices available for RIA, and places Adobe in a stronger position overall within the application development market.
Source: OpinionWire by ButlerGroup (www.butlergroup.com)