System Requirements

Overview

For detailed information on system requirements, see IBM webMethods Adapters System Requirements.

The IBM webMethods Adapter for SAP 10.1 is supported on all platforms where both IBM webMethods Integration Server 10.1 and the SAP Java Connector(SAP JCo) 3.1 are supported. For information on supported platforms for SAP Java Connector, see OSS note 1077727.

CPU

For just "Internet-enabling" an SAP system, an average PC will be sufficient. For heavy-load scenarios, you should adjust your hardware accordingly.

Disk Space

Questions on Sizing

Appropriate sizing for Adapter for SAP installation strongly depends on the business scenario you want to establish. For specifying your individual requirements, you should answer the following questions first:

  1. Is there a need for your own development, and if so, how big do you expect your scenario to be? Small Package: <1MB, average Package: <5MB, big Package: 10MB
  2. What kind of data flow do you expect? That is, what kind of transactional messages and their size, how many per day, for how long do you want to keep them in Adapter for SAP transaction store after they are completed (Confirmed).
  3. Do you need to keep statistical information of the kind written to audit.log and session.log? (See IBM webMethods Integration Server Administrator’s Guide for your release. )

Local Transaction Store in a File System

About this task

You must determine the storage space for the temporarily stored transactions. Use the following formula:

(Average size of a transactional message) x (Number of transactions per day) x (Number of days you want to maintain Confirmed transactions for reference).

To determine the average size of one transactional message

Procedure

  1. Determine the current size of the packages_directory\WmSAP\txStore directory, including its subdirectories. For information about the packages_directory, refer to the section The Integration Server Home Directory .
  2. Send 100 typical transactional messages (transactions you will use in production) through Adapter for SAP.
  3. Check the size of directory again.
  4. Divide the difference by 100 to determine the average size of your transactional message. For example, a typical ORDERS IDoc is between 13KB and 35KB.

Results

Note: You might want to schedule the pub.sap.transaction:sweep service to administer the growth of the transaction store. For more information about the service, see pub.sap.transaction:sweep.

Log Files

About this task

The log files need additional disk space. If Adapter for SAP runs on a high debug level during the implementation and test phase, it can write 1GB per day. Typical data volumes with a standard debug level (4 or lower) may generate between 10KB and 40MB per day (depending on traffic). The biggest parts are consumed by audit log and session log, which are used for statistical evaluations. You can turn off these logs to save disk space. Then Adapter for SAP needs only a few KB each day for the error log and server log. However, it is not recommended that you turn off these logs. This will only save a few KB and eliminates all possibilities for determining the cause of errors.

To turn off the logs

  • Audit Log: Use Integration Server Administrator to turn off audit logging as follows:
    • Go to the Settings > Logging page and disable the logger you want to turn off. For more information, see IBM webMethods Audit Logging Guide logging guide for your release.
    • If you are using an earlier version of Integration Server, use the Edit Extended Settings feature to view the watt.server.auditLog key and edit the key as follows: watt.server.auditLog=off.
    Tip: You can also adjust this parameter by shutting down Integration Server and adding the parameter to or editing it in the Integration Server_directory\instances\instance_name\config\server.cnf file.
  • Session Log: Use the Event Manager tool in Designer to set the following events to the Enabled status “false”:
    • Session End Event
    • Session Expire Event
    • Session Start Event
  • Stats Log:Use the Event Manager to set Stat Event event to the Enabled “false”.

Example of Minimum Disk Space

The following is an example of the minimum disk space for an average Adapter for SAP:

Component Component Required disk space (MB)
Basic Installation 80
Customer Packages (each) ~5
Local Transaction Store (1000 ORDERS per day, kept for two weeks) in a file system 280
Log files (kept for two weeks) 280
Total 645

Memory

Questions on Sizing

  1. How many tasks will Integration Server have to handle simultaneously? For example, how many RFCs, HTTP requests, FTP connections, started listeners and RFC listeners will Integration Server have to handle simultaneously at the peak time of the day? This determines the number of sessions n. For more information, see Initial Consumption.
  2. For how many SAP systems will Adapter for SAP register an RFC listener? How many threads do these listeners have?
  3. How many messages (XML documents, IDocs, RFC calls) go through Integration Server simultaneously at the peak time of the day? Is there any expensive mapping to be done?

Initial Consumption

Integration Server needs approximately 80MB RAM to start up and just run without any heavy load on it. Depending on the load and expected traffic on the Integration Server, you need to add the following:

Consumption Per Session

Each task Integration Server will handle (incoming HTTP request, incoming/outgoing RFC call) requires one session on Integration Server. If n is the number of sessions (see question 1 in the section Questions on Sizing), add the following amount of RAM:

   ½ n MB

If n proves to be much larger than 75, use the Edit Extended Settings feature of Integration Server Administrator to view the watt.server.threadPool key and edit the key to enable Integration Server to handle more than 75 tasks in parallel. Integration Server then provides a pool of unused sessions, and the next request can be processed immediately without waiting for a new session to be created.

Note: If the size of your hardware does not support this level of RAM usage, do not change watt.server.threadPool.

You can also increase the value of the watt.server.threadPoolMin=10 parameter to enhance performance.

Tip: You can also adjust these parameters by shutting down the Integration Server and adding the parameters to or editing them in the Integration Server_directory\instances\instance_name\config\server.cnf file.

For more information about these parameters, see IBM webMethods Integration Server Administrator’s Guide for your release.

Note: This procedure should be used with care to avoid unnecessary memory overload. For example, if you keep a pool of 1000 sessions and Integration Server rarely needs more than 100, you will waste a lot of memory and resources.

Consumption for RFC Listeners

In the next step, you will need extra memory for every RFC listener thread (see question 2 in section Questions on Sizing). For each listener thread, add 10MB. As this consumes a lot of memory, the number of threads for a listener must be chosen with care.

Note: If the number of threads is too small, the SAP system cannot send RFCs in parallel. The RFCs must be queued until an Integration Server thread is free to process them. The SAP system's work processes, trying to send RFCs, are then blocked and the SAP system's performance slows down considerably. On the other hand, if the number of threads is too high, Integration Server consumes a lot of memory. This may slow down Integration Server performance. To optimize the number of threads, determine the average number of work processes the SAP system will use for sending RFCs.

Payload

You will have to calculate the amount of memory required to process documents simultaneously (see question 3 in section Questions on Sizing). Use the following equation to calculate your needs:

Payload consumption = (document size x memFactor + RFCSize) x number of parallel documents, where:

memFactor = 3 + the number of INVOKE statements in the adapter or notification service (if there are mappings between document formats and different XML dialects) + the SSL value. The SSL value = 0 or 1, according to whether documents are encrypted with SSL or not.

RFCSize = 28KB x number of IDocs in package, if the IDocs are either sent or received via RFC.

If you are in doubt about your assumptions for these values, you should run a few tests and watch by how much the memory actually increases during processing of one document.

Important: By default, Integration Server starts with 128MB RAM. After you have calculated the memory that your Adapter for SAP should use, you have to modify the setting:
   set JAVA_MAX_MEM=128M

in Integration Server_directory\instances\instance_name\bin\server.bat (or server.sh on UNIX) before starting the Integration Server.

Example of Memory Usage

The following is an example of a server handling 1000 ORDERS per day:

  • Integration Server has one standard RFC-listener with 3 threads.
  • You expect a peak load of three documents in parallel, resulting in three parallel sessions. Allow another session for an administrator or developer to log on occasionally. Together with the session created by the RFC-listeners, this provides a total of eight parallel sessions and 4MB.
  • Integration Server will handle a peak of three documents in parallel, and the XML Package does some mapping when converting the IDoc to XML. For a relatively small document of 20KB in a 50 segment IDoc, this results in a memory consumption of (20KB x 6 + 28KB) x 3= 444KB.
Task Required RAM (MB)
Integration Server core functionality 80
Sessions 4
RFC Listeners 30
Document processing 1
Total 115

In this example, you should be fine with approximately 128MB of memory for Integration Server alone. After adding memory for the operating system and other tasks, a 256MB machine will be more than sufficient.

Miscellaneous

Encryption

When using SSL to encrypt XML documents, the time needed to process a document will increase by a factor of 3.

You also have to change the formula for calculating the RAM needed for processing documents: increase memFactor by one.

IDoc Packets

The performance can be vastly improved by using IDoc Packets of a well chosen size. If the packet size is to small, you will not take full advantage of the performance improvement. If it is too big, Integration Server may run out of memory or start swapping. You should do some testing to find the optimum size; it depends on the IDoc type as well as on the size of your machine.

Logging

If the production scenario involves invoking thousands of services in a short period of time, you can achieve a huge performance improvement by turning off Audit Logging. For information about turning off logging, see Log Files.