News

SAP: New NetWeaver technology solves Java enterprise reliability issues

Positioning its NetWeaver platform for enterprise Java applications, SAP plans to offer a "virtual machine container" in 2005.

With the announcement this week at its Tech Ed conference in San Diego, SAP claims to have solved performance problems that make businesses wary of relying on large-scale Java applications.

Noting that SAP customers are used to running ERP systems written in C with little, if any, downtime, Christopher Hearn, product marketing director for SAP NetWeaver, says his company wanted that same "robustness" in Java. However, he tells JDT there were problems with making Java apps that reliable.

"One of the challenges in Java -- Java's extremely popular and has great advantages -- is that the original design of Java was for small handheld devices, not for large -- thousands of users -- type applications," he explains.

The problem came down to those two IT bugaboos, scalability and reliability. SAP sought to find a way to boost both within the standard Java virtual machine so it could support thousands of users in a big business application.

Explaining the problem in a phone interview from the SAP conference, Hearn says, "Typically, you'd have your virtual machine. In your virtual machine, you'd have multiple users running at one time. Now everything is fine until something goes wrong with one of those users or one of those processes. The danger is rather high that not only will that one user be affected, but multiple users [will be as well], particularly if the whole virtual machine goes down."

This is not acceptable to SAP customers used to C apps, which in some cases run for a year or more without downtime, he says.

"Our solution was to head toward what we call absolute isolation," Hearn notes. "In the ideal world, you would have one user per virtual machine. In the release we're bringing out for the next version of NetWeaver in 2005, what you'll have is a very reduced number of users per virtual machine."

In that ideal world, an IT department might buy huge servers and run individual virtual machines for each user. But in the real world of tight budgets, Hearn says, SAP rejected that idea. Instead, SAP engineers asked: "How can we reduce the memory consumption of each virtual machine, such that we can utilize available memory and available CPU power for further virtual machines?"

This led to the development of the virtual machine container using a technology SAP calls "shared memory."

Hearn explains: "We actually share the memory between virtual machines. Instead of each virtual machine having its own context, its own system classes, application classes and objects, we share these between the virtual machines. This greatly reduces memory consumption and enables us to start further virtual machines, then schedule the users into those machines and avoid problems that occur when crashes occur."

The SAP Java technology adheres to the J2EE standard and the standards of the Eclipse Foundation, of which SAP is a board member, he adds.

The SAP approach won the support of Michael Barnes, vice president, Meta Group, who writes: "While Java is one of the primary technologies for large-scale application development, no major software implementation is free of errors and the robustness of Java applications remains a real issue. A J2EE standards-based solution that provides inherent stability and reliability for Java applications will have a positive impact on companies seeking to cost-effectively deploy and manage Java applications in their enterprise."

About the Author

Rich Seeley is Web Editor for Campus Technology.