Searching for Errors in the World of Java

Every driver gets annoyed when the car’s engine suddenly gives out. Waiting for a tow truck might be frustrating, but at least it’s not usually dangerous. But the results of unexpected and unexplained failure in an aircraft’s engine might well be inconceivable. That’s why pilots have a variety of instruments and diagnostic tools in the cockpit that provide information on problems and open the door to a strategy that can solve problems.
Computer systems are a little like aircraft engines. In the world of business software, a problem-free flight corresponds to the smooth execution of a business process. But what happens when IT fails? To keep IT managers from flying blind in such situations, SAP has long offered efficient support of SAP solutions and high availability of the solutions and ABAP applications. SAP Solution Manager now includes diagnostic capabilities that apply all the experience SAP gained with ABAP to the world of Java applications.
With a central solution, the new diagnostics in SAP Solution Manager can also monitor several Java applications in parallel. You can examine a complete IT solution, concentrate on a specific landscape (development, quality assurance, or production), or select specific components. With this functionality, you can quickly find and correct the causes of errors. SAP Solution Manager significantly reduces downtime and minimizes the costs that arise from the disruption to business operations. And the new diagnostics capabilities also reduce the effort needed to eliminate a disruption, lowering the total cost of ownership.

From disruptions in the database…

SAP Solution Manager offers a comprehensive spectrum of diagnostic functions that you can use to monitor your IT infrastructure. For example, SAP Solution Manager can monitor the operating system, database, the activities of Java applications, performance, and logs. It also supports reporting on configuration changes that can cause disruptions in applications because of multiple dependencies. Overall, SAP Solution Manager diagnostics monitor the areas that most often cause failures.
In computer systems, the operating system and database correspond most closely to the engines of an aircraft. These areas can cause many disruptions when operating Java applications. Some of the causes include an overly large load on the CPU, the use of too much memory, or a limited capacity of the database or the cache. To track down these causes, SAP Solution Manager uses the Computing Center Management System (CCMS) infrastructure and agents that collect data from the operating system and the database. This data is transmitted to the central instance of SAP Solution Manager. The solution evaluates the data and determines the causes of disruptions. SAP Solution Manager uses the same functionality that SAP does to analyze problems that appear in ABAP applications. This approach is an advantage when a support organization familiar with ABAP tries to work in a Java environment. Problems with the operating system or database can often be corrected by expanding the hardware or changing parameters.
A failure of a plane’s navigation system and instability or problems with synchronization in a Java application have at least one thing in common: they make it more difficult to reach the goal. In the long term, problems with memory management can degrade application performance. To discover the cause of these kinds of disruptions, you must know what’s going on in the Java Virtual Machine and which process is running a given Java thread. To do so, Java provides thread dumps: snapshots of the system status at a given moment. SAP Solution Manager enables you to manage these thread dumps. For example, you can trigger thread dumps from a central location for all systems being monitored. You can also repeat these queries 10 times a minute to create an image of the development of the system over time. For analysis, SAP Solution Manager offers reports on and a comparison of the thread dumps. Such an analysis reveals critical conditions and changes in the system.

… to errors arising from configuration changes

In general, performance is more or less the fuel of IT. If several applications run in parallel in a large IT landscape, each can affect performance. Consider an enterprise portal as an example. It often operates a number of iViews, each of which accesses several back-end systems. If performance is poor, you must first identify the application that is the primary trigger of the problem. For SAP Enterprise Portal, for example, SAP Solution Manager provides Web content reporting. It offers information on the number of users who access the portal in a given period and which iViews or sites are called most often. With this information, you can determine if performance problems have a general cause or if they result from a particularly high number of users. If the number of users is not the cause, then Web sites that are viewed during periods of poor performance can serve as a good starting point for further analysis. Situations like these are where improved performance can pay for itself.
An HTTP analysis is available so you can look at an application or an iView in more detail. An application contains several HTTP requests, such as those between the browser and the application or for communication with back-end systems. The length of the requests offer information about whether the time used too much capacity on the server or network, if the request ran in the planned sequence, which services demanded a great deal of performance, or which requests resulted in errors. SAP Solution Manager uses agents to collect information on all HTTP requests and uses the information to create a correlated report on the locations of performance snags.
It’s just as important to work on the configuration of an application when the underlying business processes change as it is to replace parts on an airplane before they fail. Such modifications to configuration frequently cause disruptions or unintended side effects because individual configuration parameters can affect different areas of an application. And because an application usually has several configuration parameters, it’s often difficult to tell exactly which modification has triggered a given failure. SAP Solution Manager has configuration change management capabilities that can help. The tool creates snapshots of configuration data at regular intervals. A before-after comparison of the snapshots can uncover clues to the cause of the failure and focus the search for errors.

Diagnostics available with SAP NetWeaver

The new diagnostics capabilities will be included in the forthcoming SAP Solution Manager 4.0. To make the new functionality available as quickly as possible, it is already delivered with SAP NetWeaver. However, SAP Solution Manager 3.2 is based upon a different release of SAP Web Application Server than the version included in SAP NetWeaver. Two systems are required temporarily, but you can install both on the same hardware. With SAP Solution Manager Starter Pack, SAP offers a helpful service for installation and knowledge transfer.

Additional information is available at

Cay Rademann