Application server basics
In today's enterprise landscape, application servers provide the foundation for scalable, secure, and resilient business solutions. For application architects who work with Pega Infinity™, understanding the fundamentals of application servers is essential. This knowledge supports successful deployments, performance optimization, issue diagnosis, and solution design that aligns with evolving business needs.
Application server overview
An application server is a software framework that provides the run-time environment for complex, multitiered business applications. It operates between the operating system and the application by hosting business logic and managing critical non-functional requirements such as security, concurrency, and resource pooling.
The following table highlights the key functions of an application server:
| Key functions | Description |
|---|---|
| Run-time environment | Hosts the Java Virtual Machine (JVM) and associated libraries required for Pega Platform™ to run. |
| Resource management | Manages thread pools and Java Database Connectivity (JDBC) connection pools. In Pega Platform, queue processors and job schedulers handle asynchronous and background processing, which rely on the Stream service (Apache Kafka). Use Java Message Service (JMS) only for integrations with external enterprise messaging systems (for example, IBM MQ). |
| Data persistence | Connects to the PegaRULES and related schemas by using JDBC data sources configured on the application server and exposed through Java Naming and Directory Interface (JNDI). |
| Web container | Handles HTTP and HTTPS requests, servlets, and session management, which serves the Pega UI and APIs (for example, /prweb). |
| Security | TLS is used to secure communication between clients and the platform. In typical enterprise deployments, TLS termination occurs at the load balancer or reverse proxy. The application server participates in secure communication through TLS configuration for inbound/outbound services, connectors, and integration endpoints. Application server security supports trusted headers, and integrates with enterprise identity providers (for example, SSO, OIDC, SAML). Follow Pega deployment hardening guidelines and enforce strong TLS protocols (for example, TLS 1.2 or higher). |
Understanding the boundaries between the responsibilities of the application server and Pega-specific services (for example, SRS or Stream/Kafka) enables effective diagnosis of performance issues, resource tuning, and the design of resilient deployments.
Apache Tomcat is the only supported application server for new and upgraded deployments in Pega Infinity.
Core elements of the application server
Familiarity with key application server concepts helps application architects collaborate effectively with IT and middleware teams:
- JVM: The run-time environment in which Pega Platform runs. Application architects must understand heap regions (young and old generations), metaspace, garbage collection (GC) behavior, and their interactions with Pega caches and concurrency controls. This knowledge supports setting realistic heap targets and GC configurations. For Pega Platform on Apache Tomcat, start with 4–8 GB of heap per node and ensure sufficient operating system headroom.
- JDBC: The standard API for accessing relational databases. The application server configures JDBC data sources and exposes them through JNDI. Pega Platform uses these sources to connect to the PegaRULES and customer data schemas.
- JNDI: Resolves environment resources in Pega Platform (for example, JDBC data sources and mail sessions) by logical name. This approach separates application logic from physical resource configurations.
- JMS (Java Message Service): Used only for integrations (for example, with IBM MQ) that involve publishing or consuming messages to or from enterprise brokers. Internal background processing in Pega Platform does not use JMS; instead, it uses queue processors and job schedulers built on the Stream service (Apache Kafka).
The following figure shows the Pega Platform deployment setup and the interaction between core elements of an application server:
Check your knowledge with the following interaction: