Rich Internet Applications: Splitting the Interface from the Back-end System

SAP Developer Network


Web servers cause much of the waiting time on the Internet. For page layout, each request for a web page unnecessarily transfers to the browser the same HTML tags that have already been transmitted. Rich Internet Applications (RIAs) decouple data from layout information, which results in more dynamic and communicative applications than are possible with HTML pages.

By Bernd Will

12 Nov 2004


Rich Internet Applications

Tim Jones' anticipated pleasure with his new CD was quickly dampened. While ordering it online, he sat in front of his computer and waited for several minutes as he entered his address, delivery, and billing information page by page into his browser – yet again.

Countless Internet users have had a similar experience. But users don't have to accept endless waits. They can be avoided with the help of rich Internet applications (RIAs), which are application dialogs triggered by the web server. They run in a web browser within a simple HTML web page. The basic idea behind RIAs is for the browser to completely control application process event-handling. The server back end merely supplies data. Web services can generate the interface between the back and front ends, which means a web service offers or stores application data in the back-end system. In the meantime, the RIA continues to run on the front end. The application displays the transmitted data, requests new information from the back-end servers, or transmits new data to the back-end system, which then stores it. As long as the RIA is running, no new layout information must be reloaded from the back-end system.

For example, in a purchasing system based upon RIAs, dragging the picture of a product onto the shopping cart icon triggers an event within the RIA. The shopping cart icon in the RIA applet records the new product internally in its list. The user's action does not yet require any connection between the web browser and the web server. But as soon as the user drags the shopping cart to the checkout object, setting up a connection to a server-side payment service is absolutely required to store the shopping cart on the server and reload the user's payment information for the next dialog page. Communication occurs only when data must be loaded or stored to perform a transaction. Meanwhile, the client regulates display and event-handling independently of the web server.

The Technology Behind RIAs

In technical terms, an RIA is a Flash, Java, or ActiveX applet embedded in an HTML page. RIAs can be created from a combination of Flash dialogs, Java applets, or a gallery of JavaScript libraries and ActiveX applications. The traditional HTML processing model demands that every mouse click involve the web server that stores the application logic. With RIAs, front- and back-end applications are processed separately. Based upon events, the front-end application decides when to involve a server. Even though users continue to employ the buttons, selection lists, tables, movie clips, and other components in their browsers, it often takes several minutes before web services are accessed because the application can run without new data from the server. As soon as a desired event occurs in the RIA, several web services are simultaneously switched on in several back-end servers. For RIAs, events are not simply mouse clicks; they include the use of interactive objects, such as icons, timer events, or speech and video recordings.

Unlike a traditional HTML page, an RIA is not limited to running in a web browser on the Internet or on an intranet. For example, a dialog template created with Microsoft Excel or Access can access the web services of an SAP Web Application Server (SAP Web AS) application and use the same data sources as an RIA web application with Flash or Java. Office applications, web pages, UMTS pages, WAP pages, Java applets, and Flash applications are simply differing displays of the same data.

A web site is only one special type of possible RIA dialog. The ability to select front-end applications offers several practical advantages. For example, data sourced from a web service can be displayed as a chart in Microsoft Excel or as a graphical chart in an HTML page with the help of an embedded Flash element. In either case, users work with the interface that best meets their needs. Web services guarantee that the application uses the same data sources and displays identical values.

No More Central HMTL Server

Another important aspect of RIA architecture is that the application interface no longer needs to run on a central web server; it can simultaneously access data from various systems. The data can then be displayed on a common interface. For example, data from the product catalog of an SQL database and master data from the SAP material master can be linked into the user interface without either server knowing about the other. Access to data in the application interface appears as a homogenous unit to the user. Realization of this feature simply requires access to the system over web services. Interface tools, such as Java, Flash, or .NET, are controlled by a comprehensive authorization system that calls the data sources. The RIA interface therefore acts as a uniform display portal for the user's information.

Realization of an RIA with SAP Web AS

An RIA consists of two components. First, the data must be available on SAP Web AS as web services, which can be accomplished with function modules. Second, the web application itself is realized as an independent RIA applet that can contact the server when needed. Users can create an RIA applet with Java, Flash, Microsoft .NET, ActiveX, or a Microsoft Office application. All the function modules of an SAP system can be transformed into remote-enabled function modules by selecting the appropriate option. The existing business functionality of SAP solutions can also be made available to RIAs with a simple mouse click.

Symbiosis Between RIAs and Business Server Pages

The use of RIAs does not exclude the use of HTML – quite the contrary. Because every RIA applet is embedded in an HTML page with just a few lines of code, RIA applications can be mixed with Business Server Page (BSP) tags at any time. Users can choose to embed more functionality into an HTML page, a BSP, or an RIA applet. The functions of SAP BSPs are best suited for static displays, such as reports, lists, or tables. BSPs usually need only a couple lines of code to display information. RIAs offer advantages with interactive catalogs, dynamic charts, product images, or product configurators – especially because of better graphical development tools, the display components available, the dynamism of the pages, and integrated event-handling.

The Back-end System Goes Open Source

Basically, every product that gets its information from a web service data source represents an RIA interface. More and more manufacturers, such as SAP, Oracle, or IBM use the standards offered by the W3C Consortium in back-end systems; J2EE, JRun, Tomcat, or Apache servers are typically the foundation of combined products. With SAP Web AS 6.30, SAP offers a J2EE engine as an installation option. That means that SAP customers can use familiar SAP tools or manufacturer-independent Java standards to create their applications.

From their front-end systems, users can now access the compatible web services of an IBM, SAP, or other web server. This development represents a giant step toward uniform user interfaces and portals.

The Author

Since completing his studies in IT (1994), Bernd Will has worked for an international consulting firm as an SAP consultant and a project leader in Germany, the Czech Republic, and Slovakia. Since 1999, he has work at Siemens AG in the area of coupling and monitoring ERP systems. He is currently designing a new architecture for worldwide electronic data exchange based upon RIA, web services, and SAP Web AS between Siemens research and development (in Nuremberg, Germany) and external customers. He has also developed an interactive, Flash-based web application to visualize cross-application business processes.

Content Options

Copyright © 2005 SAP AG, Inc. All Rights Reserved. SAP, mySAP,, xApps, xApp, and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and in several other countries all over the world. All other product, service names, trademarks and registered trademarks mentioned are the trademarks of their respective owners.

SAP Developer Network