At Sapphire ’05 in Copenhagen, SAP and Macromedia announced that the Macromedia Flex application framework was to be added to SAP NetWeaver. This technology helps companies to create intuitive user interfaces for SAP solutions and customer-specific Internet applications based on the SAP NetWeaver Portal.
The Macromedia Flex application framework is based on open standards and enables the creation of what are known as Rich Internet Applications (RIA) – client-side application dialogs that can run either in a web browser or as stand-alone applications. RIAs manage all event processing and application monitoring on the desktop; the back-end is addressed only if changes to data need to be made. Applications developed with the Flex framework, such as dashboards for displaying large quantities of data from an SAP application, use the widespread Flash Player for displaying data. This means that they require lower data transfer capacity, provide enhanced functionality, and run on all common server and desktop operating systems.
Using SAP NetWeaver Visual Composer as a basis, applications can be designed as flow charts that combine the interactivity and diversity of desktop software with the depth of integration afforded by SAP corporate applications (composite applications). These are known as “zero-footprint” applications, that is, they do not have to be installed additionally on the client system, and they leave neither templates nor cookies on the desktop. The Flex server generates a user interface via the Flash Player based on zero-programming paradigms, and this then accesses the back-end data – with no extra programming required. The next version of SAP NetWeaver Visual Composer will include the Flex technology, thus making it available to all SAP NetWeaver customers.
Flex was developed primarily for web-compatible applications, and its strengths are particularly apparent in applications that contain multi-level processes or require validation or graphical representation of data on the client side at runtime. Examples include online shops, reservation or ordering systems, product configurators, dashboards, CRM systems, and content portals. The big difference compared to HTML-based web applications is that, with the exception of a small quantity of data, the application is only transferred to the client once. As the client also handles the main processes, there is no longer any need for constant server requests due to further websites being called.
Different forms of server communication
When a user opens an application via his or her web browser, the application is compiled by the Flex server into Macromedia SWF (Small Web Format) format, sent back to the user and run in the Flash Player environment on the client. Most Flex applications are between 150 and 200k in size. These compiled applications then communicate with the Flex server and only exchange data with the back-end when necessary. As a rule, this occurs less frequently than with traditional web applications and puts less strain on the processor since all design, layout, and process definitions have already been transferred along with the compiled application, with the result that they do not need to be reloaded each time.
There are three different ways in which Flex applications can communicate with the server – via the SOAP protocol, the XML mark-up language, or Action Message Format (AMF), a transfer protocol integrated into the player by Macromedia. Its task is to create a link between a Flash application and the Web Application Server used. Flex should be assigned to the front-end in the presentation layer, while the business, integration, and resource layer represent the back-end as usual. If the application requests data, the Flex server forwards this request to the back-end via the application server and directs the request result back to the client. The Flex server provides the necessary runtime services. It can be installed on both J2EE and .NET platforms.
Flex applications are written in a combination of the Macromedia programming languages MXML and ActionScript 2.0. Just like HTML, MXML is a mark-up language for describing user interfaces on which content is represented and functions can be run. Unlike HTML, however, MXML provides a declarative syntax for the presentation layer and the links between the user interface and the data on the server. By ensuring that the presentation layer and the business logic are carefully separated, MXML ensures high development productivity, and especially the reusability of applications.
Integration into the SAP NetWeaver Visual Composer
SAP NetWeaver – Web Application Server (SAP Web AS) enables enhancements and applications for SAP to be created on the Java platform J2EE 1.3. This is where the Flex server comes into play with its creation of browser-based zero-footprint applications. The back-end, including the application and database servers and the whole of the business logic, remains unaffected, since the Flex server works exclusively in the presentation layer. If it does need to access data from the back-end, it does not change the existing back-end layers, but only uses what already exists.
“Building on the concept of Enterprise Services Architecture implemented with SAP NetWeaver and the use of Flex, the acceptance and use of SAP solutions among companies and their customers can be increased – without the need for additional training or extra costs,” explains Stephen Elop, CEO of Macromedia. This technology will be used particularly in the new business intelligence solution SAP Analytics. SAP analysis applications developed with the Flex server are not only able to provide graphical representations of BI data in real time, they can also use the data to create detailed comparisons and analyses interactively. Up to now, over 200 different queries with animated, graphical representations have been developed for around 25 sectors. SAP’s NetWeaver partners are currently compiling a library of predefined queries and analytical applications, which will later be made available to all customers.