Business logic tier
The Dimensions CM business logic tier includes server components responsible for carrying out operations on behalf of the clients, such as authenticating users, checking privileges and authorizations, enforcing process rules, and maintaining metadata about objects under control (for example, streams and items).
Dimensions CM server
The Dimensions CM server performs the main operations. The server is implemented using a proprietary C/C++ application management framework that provides high scalability and performance.
The Dimensions CM listener (dmlsnr.exe) monitors the server health and restarts server processes in the event of a failure.
The listener starts a pool manager process (dmpool.exe) that manages a pool of application servers. When a user is actively using a Dimensions CM client, they are allocated a process from the pool. When the user is idle, the process returns to the pool and is available for other users.
You can configure:
This pooling architecture allows high scalability as many users can be connected to Dimensions CM, but only active users consume system resources.
The pool manager process usually runs as the following privileged user account:
The pool manager must run as a privileged user account so that it can authenticate local OS user credentials (via native OS authentication) and run processes as the local OS users (to access the file system on behalf of these users).
You can change the user who runs the pool manager process to a non-privileged user account if you are only using LDAP or SSO authentication and do not require access to the file system on behalf of other local OS users.
An application server process (dmappsrv.exe) is responsible for the main business logic of Dimensions CM. Each process connects to the database to perform metadata queries and updates, and communicates with the client.
All application server processes are pooled. When a user retrieves file content for an item revision, the application server communicates via TCP/IP to the file/storage tier to retrieve the content from the file system. Application server processes are started by the pool manager and run under a local non-privileged user account.
Web application container
The Web Application Container is a J2EE servlet container (such as Apache Tomcat) that handles requests from the administration console, web client, PulseUno, and Web Services clients.
Most of the business logic is implemented by the Dimensions CM server. The servlet code does not access the database directly and communicates over TCP/IP to the server to perform operations, query data, and store and retrieve file content.
When Dimensions CM is installed, it is deployed and configured to run under Apache Tomcat. It can also run under other supported web application containers, and the roles of the web server and servlet container can be separated. For example, you can use Microsoft IIS (Internet Information Services) as the web server and Tomcat for the servlet container.
By default, the web applications are hosted by Tomcat on TCP/IP port 8080, but this is configurable.
AutoPass License Server (APLS)
Dimensions CM uses the AutoPass License Server (APLS) to organize and manage licenses. You can install APLS by running an installer on a designated machine, or set it up as a Docker image. After installation, APLS is automatically started as a service.
You install licenses, assign them to users, and track license usage in the APLS web interface.
When a client connects to a Dimensions CM server, the pool manager process calls to AutoPass to obtain a license for the client. When the user exits a client or a session times out, the license is released.
The APLS and Dimensions CM servers communicate via HTTPS.
For details, see Dimensions CM licensing.