Little Helpers with a Big Impact

What is Enterprise Service-Oriented Architecture? What does SAP’s blueprint for the IT landscape of the future look like?

Widgets display the weather report and share prices, play audio files, and are used as a pocket calculator or virtual notebook – they help out internet users with a surprisingly wide range of functions.

In contrast to web applications, however, these specialized JavaScript programs are executed not in an internet browser, but directly on the user’s desktop. The great strength of these little helpers is their user-friendly integration in the work area. They are freely available to private users on the internet, for example on the Yahoo Widget Engine website.

Also of service in the business environment

They are increasingly being used in business applications as well. SAP, for example, provides employee self-services as widgets. Service oriented architectures (SOAs), with their separation of process logic and representation, are particularly well placed to exploit the potential of the little helpers in the business environment, particularly because the standardization within the SOAs makes it easy to integrate data from different sources. The widgets, which are themselves independent of the data sources, can therefore easily present certain processes in business applications in an SOA, and combine information from different sources.

An appropriate widget platform, for example the Yahoo Widget Engine, is all that needs to be installed on the user’s computer. Company-specific widgets, for example for the recording of working times, are made available centrally on an intranet server and are downloaded by users from there. Automatic updates via the platform minimize the maintenance work for the IT department.

Users benefit primarily from the simplicity of the willing helpers. While web applications cover a very wide functional range, only a small portion of which is usually needed in day-to-day work, the widgets perform very specific, limited tasks, which can be executed quickly on the computer.

This is because, in contrast to the powerful web services, the rarely used functionalities do not need to be displayed and processed – and that saves time. The use of widgets is recommended mainly for frequently recurring, strictly defined work steps such as the creation of business memos or the querying of stocks, because these routine tasks often take an unnecessarily long time if different screens have to be opened and closed several times in the web application.

Time saved in routine tasks

The widgets were tested in the time-critical Supply Chain Management environment using the example of the available-to-promise check (ATP check). The HPI students demonstrated how enterprises benefit from widgets using a fictitious wine retail chain, the stores of which had different stock levels and separate warehouses.

For the ATP check, users previously used a web application for which a large amount of information needed to be entered, including the customer name and address and the possible delivery date. This procedure is well-suited to orders received by telephone, but is too complex for an inquiry by the customer in the store.

The students therefore developed widgets that customers could easily use at a self-service terminal in the wine store to find out the availability of a product across all stores. Thanks to Enterprise SOA, the functionality and user interface can be flexibly combined, so the customer at the terminal can also compare prices, select a shipping agent, or display the route to the next store. An additional function in the ATP check even allows users to reserve the wine they want in another store, if it is not available in the store they are in.

User friendliness

The widgets for the ATP check were created in a user-oriented process. The students surveyed and observed users in order to determine their requirements. This process revealed how different the ATP check procedure is for sales staff and customers. The customer merely wants to know whether the article is available.

Sales staff, on the other hand, require additional product details, for example the article number or storage bin – information that a customer would regard as unnecessary. The students therefore designed role-specific user interfaces that only display the required functionality.

Based on the Google interface, the widget for the ATP check has only a text input field and a start button. The results of the search are displayed in a hit list, and a detailed view shows the availability for each product and store and allows users to make reservations.

Another widget supports employees in the processing of reservation. When a reserved article is collected, the status of the order can be changed without the need to start an additional program. While it was necessary to open different input screens for this in the web application, the widget is always visible on the desktop.

As the widgets concentrate on the main processes, the ATP check can be executed far more quickly with the existing backend logic. Previously, employees had to open the web browser and go to their favorites or enter the URL of the web application. This is now a thing of the past. Because the widgets can be executed directly on the desktop, users can work in parallel in other applications without having to close or minimize the windows.

Simplicity wins

Every enterprise can create widgets for its own particular requirements very easily. Examples and suggestions can be found at The Yahoo Widget Engine platform also offers programming language enhancements that go beyond the usual JavaScript language scope and simplify the creation of SOA-based widgets. As a result, you can easily access XML data from the programming environment and load it via asynchronous communication. In contrast to page-based web applications, this type of communication between the widget and server enables seamless interaction.

The syntax of the JavaScript programming language is easy to understand and makes only limited demands on the development environment. A widget prototype can be created and implemented in just a few days, even if the user does not have much experience in this area. The most complicated part is usually the design of a suitable interface. Simplicity is the most important thing here, because a process can only help to save time and therefore add value for the user if the interface is strictly limited to only the most necessary information.