Rich Internet Applications (RIA) and Progress OpenEdge

October 13, 2008 Company and Community , Digital Experience, Data & AI

Some replies and comments to my previous blog RIA Rich Clients mainstream in 2-5 years? Progress customers have them since the year 2000! made it clear that the concept of Rich Internet Applications is still confusing to many; In that blog I explained that Progress Software has had RIA Rich Clients since the year 2000, with the introduction of our product Progress® WebClient™.

But RIA Rich Clients are only one of the types or categories of RIA. In this posting I will briefly introduce the major RIA categories and the options that OpenEdge® customers have to use them.

Let's start with a definition: What are Rich Internet Applications (RIA)?:  Rich Internet Applications are Web applications with:

  • Features and functionality of traditional desktop applications
  • Robust user interface processing typically executed on the web client
  • And with the program state and data on an application server

In summary RIA provides the look, feel and user experience of an event-driven GUI beyond the traditional page request/response HTML model, and with the deployment and management functionality of the Web.

Note that although the definition does not state technology, or deployment methodology, many use (wrongfully) RIA and AJAX as synonyms. The analysts, the market and software vendors have established two major RIA categories: Web browser-based RIA, and Desktop-based RIA.

Web browser-based RIA are applications where the user interface runs in a Web browser, generally using (D)HTML, sometimes enriched with AJAX. Subcategories within Web browser-based RIA include:

  • Lightweight AJAX: Generally open source JavaScript libraries such as YUI, Dojo, Prototype, ExtJS, etc.
  • Heavyweight AJAX: Frameworks that have Web browser and usually server side components that provide added functionality like Web services support, REST support, database integration, etc. Some frameworks include visual designer tools as well. Examples of heavyweight AJAX frameworks include GWT, Backbase, Nexaweb, OpenLazslo, ASP.NET, JSP among others
  • RIA Platforms or Browser Plug-ins: Include Adobe Flash/Flex, Microsoft Silverlight, Java Applets, etc.

OpenEdge customers can implement any of these RIA using Progress WebSpeed or the OpenEdge Open Client for .NET or OpenEdge Open Client for Java.

Desktop-based RIA are applications where the user interface runs outside the Web browser using client-side technologies, such as Progress WebClient, Adobe Integrated Runtime (AIR), Sun Microsystems Java FX, Microsoft .NET, or Eclipse Rich Client Platform (RCP), to name just a few. These are the RIA Rich Clients that I referred to in my earlier blog.

Again, OpenEdge customers can implement these RIA using Progress WebClient (running Windows GUI or .NET), Microsoft ClickOnce with OpenEdge Open Client for .NET, Java WebStart with OpenEdgeOpen Client for Java, or Adobe AIR using Open Client for Java.

One of the most (if not the most!) important consideration when implementing RIA for business applications is to empower the developers with maximum choice. With the current state of technologies, the Web browser-based RIAs are best suited for infrequent or occasional users due to their limited richness compared to those in the desktop category. On the other hand, the Desktop-based RIAs are more appropriate for power users.

As we have seen, albeit very briefly, OpenEdge provides comprehensive choice and support of RIAs. We ensure that OpenEdge is flexible so that you can use whatever technology you want to choose to fit the needs of your customers, and we empower a service-oriented architecture that allows any and all their RIAs to access a unique set of business logic, data management, and service components running on the application server.

Hopefully this will help shed some light to the evolving RIA. As always, feel free to comment or post questions for further clarification.

Salvador

--
RIA definition from Wikipedia

Salvador Vinals