How can I make sure that my SAP system performance is not slowed down when introducing an e-Business application with hundreds of Web-based users (e.g. Order Tracking/Order Entry) which is connected to SAP?
If you consider using a Java framework like SAP Java Connector (JCo) to build an Outside-In application, the bridging technology from the Java application to SAP is RFC library. RFC library handles the logon and authentication procedures.
You can use a mechanism called "connection pooling" (aka Single Sign On) to keep the SAP system load and SAP access time under control.
With this mechanism the Java application allocates a RFC connection with given logon information (e.g. user information like client, user name and password as well as system information like hostname and system number) for the purpose of a specific call to SAP (e.g. retrieving a list of Sales Orders) and will release the connection directly after the call. The RFC connection stays open and can be used by another application or thread. This saves time which usually the SAP authorization process consumes.
The same RFC library instance will be re-used many times without the nessecity to create a new instance. The logon information for all connections of the connection pool is the same. Obviously authentication must be handled by the Java application because only one single user is defined in SAP who's accessing the SAP system from the Java application.
Since Java is currently Industry-standard the following rule-of-thumb can be applied for all the different Java application servers and bridging frameworks available:
1000 potential users of the e-Business application (e.g. Order Tracking/Order Entry) will result in 100 concurrent user on the Java application server usually require 10 concurrent RFC connections to SAP
However, this rule-of-thumb depends on the intensity SAP functionality is called from the Java application. But for most of the applications I have implemented in the last couple of years it is valid.
Other Java frameworks (e.g. HAHT Java e-Connector, IBM Access Builder for SAP R/3) are also supporting "connection pooling".
This was first published in May 2001