Typical server and process configuration
Your Product Master system is a three-tier Java™ Platform, Enterprise Edition application. In a typical production system, the web and application tiers are combined on one or more physical systems (application servers).
The application server work station runs a Java application server, typically WebSphere® Application Server. Your system does not run within the context of the Java application server, but as separate process. The third tier, the data store, is a Relational Database Management System (RDBMS) on a separate physical system.
The application server communicates with the data store by using Java Database Connectivity (JDBC) over the underlying network, which is usually TCP/IP over Ethernet. Users interact with the system over the network with HTTP, either through a web server such as Apache or directly with the Java application server.
admin service
rmiregistry
eventprocessor
scheduler
queuemanager
workflowengine
appsvr service
pimcollector service
indexer service
ML services
The appsvr
process is the Java Platform,
Enterprise Edition application server. The admin service and rmiregistry
services
must be run on each system. You can implement load sharing by instantiating one or more of each of
the remaining four services on the same or separate physical work stations (except
workflowengine
service). The pimcollector service
interacts with
the IBM® Product Master Server to extract item and category data
for indexing. The extracted data is then published to the indexer service
over a
messaging channel. After full indexing is scheduled, the service receives the trigger from the Product Master server to start fetching items from all the
existing catalogs, convert them to it into JSON and publish to a queue. The indexer
service
transforms the item data that is received from the pimcollector
service
and indexes it to the Elasticsearch. The
service uses elasticsearch API endpoints to index catalog items and categories.
Optimizing the application server tier involves optimizing the server hardware for the chosen application server and tuning the Java application server. You must tune your system for your environment and system demands.
Following is an example of a typical system configuration where all services exist on one physical work station.

In clustered environments, tuning involves the placement and number of the services on multiple physical work stations. Following are the requirements for clustered environments,
- The system binary files that are stored in the $TOP and $TOP/public_html folders should exist on a shared file system such as Network File System (NFS).
- The Java application server must be installed on local storage where all application servers use the same Unique Identifier (UID) and Group ID (GID) to access the shared file system.
- In cases where there is a separate web tier, for example, the system uses Apache or some other web server that passes requests to the Java application server. The load that is placed on the system by the web server can be assumed to be negligible.
Following is an example of a clustered system configuration with multiple work stations with multiple services.
