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.

Component Description

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:

  • The initial, minimum, and maximum size of the pool.

  • The period of time that a client must be inactive for their application server to return to the pool.

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:

  • UNIX: root

  • Windows: SYSTEM

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.

Application server

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.

Back to top

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.

The Administration Console and web client use Java, HTML, JavaScript, and JSP (Java Server Pages). Their implementation follows a model 2 MVC (Model-View-Controller) pattern to separate presentation, logic, and content.

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.

Back to top

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.

Back to top

See also: