The use of SICS functions obviously varies from user to user and from one SICS session to another. Likewise, the amount of data being processed varies from user to user and from one SICS session to another. Therefore, it is not possible to pre-set the heap memory size in such a way that,
the JVM never runs out of memory, and there is no gross over-allocation of memory. The best one can do, is to pre-set the memory limits such that
...
The way to deploy war files differ from the various Java Servlet Containers. The following describe how to do it on Apache Tomcat 10.1.40. https://tomcat.apache.org/tomcat-10.1-doc/index.html
Ensure Tomcat is running Open the Tomcat Web Application Manager in a browser. If you have installed it locally on port 8080 the address is:
http://localhost:8080/manager/html
(or click on the link Tomcat Manager in the Tomcat start page (http://localhost:8080):
(You must log in with the username and password set when installed Tomcat)
...
To enable the API Server module, check the API Server module in use checkbox in System Parameter Maintenance -> Module Key.
Figure 1 - Module Keys System Parameter
If SICS terminates (abends) with an error message and one of the first lines of the walkback file is:
...
java.lang.OutOfMemoryError: Java heap space
... then you have a heap memory problem.
Examples of situations when such an error can occur are:
Batch processing Long running task, e.g. accounting orders and periodic functions Reading large amounts of data from the SICS database, for instance, asking the Business Partner Ledger to return more than a few thousand balances.
...
If you identified a memory problem as described in section 4, you may solve the problem by increasing the appropriate maximum memory size parameter.
If you use the standard SICS setup, the Java command line parameters are located in the command files: run_sics_workstation.bat
and
run_sics_sysadmin.bat.
Edit the relevant file and increase the -Xmx value.
If you use the SICS Launcher setup the JRE command line parameters are located in the SICSJavaLauncher.
...
Required knowledge # Most SICS API Server configuration is specified using XML files. You should be familiar with syntax rules for well formed XML, and be able to comment and uncomment XML fragments.
Suggested configuration order # Configure logging Configure security Configure system pool size Configure queue sizes Configure caching of data Configure xml files Configure HTTP return codes Configure logging # Turn on/off Separate Logging of SOAP Messages # The default installation of SICS API Server logs SOAP messages to a separate log.
...
Use Case security # Each Web Service is defined as a “Use Case” in the SICS Security module. This means that it is possible to “switch off” each of the Web Services that your company do not use, by simply removing the unused Use Cases from the security profiles.
Naming convention # All Web Services Use Cases are named with the “API” (Application Programming Interface) prefix, to easily separate them from the normal SICS Workstation Use Cases.
...
Verify SICS API Server startup using the SICS API Server Management console # SICS API Server comes with a rudimentary management console which can be found at:
http://<Tomcat-installation:port>/SicsServer/SicsServerManagementConsole
and looks like this:
When SICS API Server is ready to process SOAP messages the status will be “Running and ready since date/time and the flag will be green:
Figure 9 - SICS API Server Management Console Green Status
Verify SICS API Server startup by inspecting the log files # SICS API Server writes important startup messages to the SicsServer.
...
SICS API Server can process multiple messages concurrently. The SICS API Server management console is extended to show information of the SICS System pool:
Figure 22 - SICS API Server Management Console
Figure 23 - SICS API Server Management Console Status
SICS API Server runs as a web application inside a Java Servlet Container (Tomcat, Websphere etc). How to scale SICS API Server capacity depends on the Java Servlet Container and other infrastructure constraints/possibilities. For different alternatives and guidelines on how to set this up, please refer to the Java Servlet Container provider documentation.
For testing purposes, DXC has defined a setup using Tomcat and Apache. The description of this setup is provided below for information purposes, as an example of how Load Balancing can be achieved.
...