Getting an Edge with Caching

Almost everyone has had the experience of watching a company’s intranet fall to its knees because too many employees tried to access it simultaneously. When 2,000 users in a large company like RWE, which has 50,000 intranet users, work on the company’s network at the same time, the enterprise portals reach the limits of their ability to manage the load. If the stampede then tries to look at the menu for the company’s cafeteria, it’s quite literally high noon.

Intranet content in SAP NetWeaver

RWE restructured a total of 14 intranets in various parts of the company based on the SAP NetWeaver technology platform. For the most part, the legacy solutions used functionalities of a content management system (CMS) that had been developed in house and were distributed over a number of different intranet sites. That required separate administration and maintenance of each site. With the SAP NetWeaver Portal component, RWE consolidated the various sites onto one, which lowered operating and maintenance costs considerably. The move also created synergies. RWE can now publish content centrally for all sites and manage content exclusively for individual areas.

More than 500 editors and 54,000 registered users at RWE work in a decentralized environment that covers various company departments with a multilingual CMS. They publish content in German, English, Slovak, Polish, Hungarian, and Czech. Plans call for adding even more languages.

The advantages of the SAP NetWeaver technology platform include personalization functions and an option to make business applications available over the portal. Standard SAP software offers integration of the SAP Employee Self-Service application. The legacy CMS application at RWE would have consumed tremendous financial resources to realize such integration.

SAP Employee Self-Service helps accelerate the design of processes, especially in the HR department. In general, the application gives employees access to their personal data so that they can modify it and submit it to their superiors for approval. What employees used to do on paper, they can now do electronically. They can submit vacation requests, make address changes, change banking data, and access the latest payroll data.

Personalized page output

With such a comprehensive offering, RWE must keep an eye on the performance of the portal. For example, the content of pages in the portal must be delivered in a personalized form based on rights and roles. The majority of pages used to display static (text) content, but dynamic and interactive elements are now gaining the upper hand. When used with SAP NetWeaver, applications like SAP Employee Self-Service handle supplemental access.

RWE also had to respect the requirements of editors. They like to manage content generically and prefer to work on a page only once and then publish it to various locations. Output formats like HTML are usually based on a source file in XML. That creates a complex information architecture that can often lead to long response times – and acceptance problems among users – without appropriate management. After all, the intranet must guarantee the same ease of work that users experience on the Web. Otherwise, they would avoid the portal whenever possible, turning the intranet into a ruined investment.

Content and authorization in the cache

The use of browsers has made the portal user friendly, but users are still subject to unpleasant performance fluctuations, as in the example of the menu on the intranet. Personalization of the RWE intranet significantly limits the use of existing solutions – reverse proxies – to improve the performance of Web sites on the intranet. A sophisticated authorization system protects all navigation entries and content.

To meet this challenge, RWE moved the functionality of the proxies to the portal. That meant that the portal could cache content and navigation trees as well as all combinations of authorizations. This approach uses the cache to improve performance without harming the security of the portal.

Saving time with intelligent caching

The rendering of Web sites represents another hurdle for good performance. Maintenance of data in the standard XML format is state of the art today, but this approach creates some challenges when rendering content. When a user requests an XML document, it is converted into HTML by Extensible Stylesheet Language (XSLT). If several users request the same document simultaneously, it must undergo a transformation each time, even though all the results are identical.

In this situation, RWE takes advantage of the newly developed caching functionality of Pironet NDH, a German SAP partner based in Cologne. The XML document is converted only when the document being requested has changed since the last time it was requested. If that is not the case, users access the result of the XSLT directly from the cache. Because the cache also considers all the authorizations for the document, the portal does not have to perform expensive database accesses when checking rights. That protects the servers’ CPUs and leads to significantly faster response times.

Adjusting the functional scope

A thin portal designed for the average consumer means even more performance improvements. Standard portals are often set up so that users can employ them for everything from pure content display to complete administration of the portal. Portal pages are often overloaded with hundreds of kilobytes of JavaScript, even though only a few users need those functions. That’s why RWE uses a lightweight design tailored to work requirements, which ensures that pages are created quickly. Only administrators use the much more voluminous standard design.

Companies as large as RWE have facilities in various countries, many of which do not have fiber optic connections. Accordingly, many work centers can’t be connected over broadband, unlike the usual situation with company networks in the central office. The thin portal design ensures fast response times there as well, often two to three times the speed of a standard design.