Server role usage

batch server role

Guidewire PolicyCenter distributes batch processing across all server instances in the cluster that have the batch server role. At least one server in the PolicyCenter cluster must have the batch server role. It is possible to request the start of a batch process from any server in the cluster. However, only a batch server is capable of performing the work involved in the batch process. If the start request originates from a server that does not have the batch role, that server communicates the request to the other members of cluster. A server with the batch role accepts the request and performs the work.

Exclusive and non-exclusive batch processing

Guidewire categorizes batch processes into exclusive and non-exclusive batch processes:

  • For exclusive batch processes, Guidewire guarantees that the batch process runs on exactly one cluster member with the batch role at a time.
  • For non-exclusive batch processes, Guidewire guarantees that a single submission of a batch process runs exactly once. However, it is possible to submit non-exclusive batch processes for execution multiple times. In this case, it is possible for the batch process to run once for each submission, possibly concurrently, on multiple servers that have the correct server role.

Cluster members with the batch role use a batch-specific lease manager. Guidewire provides a configurable load balancing strategy for those servers with the batch role.

messaging server role

Message destinations and messaging server roles

In Guidewire PolicyCenter, it is possible to associate a specific server role with each message destination. In the base configuration, PolicyCenter does not specify a server role for any of the predefined message destinations. For all message destinations without a defined server role, PolicyCenter automatically sets the associated server role to the base configuration role of messaging.

The following table describes the relationship between server roles and message destinations.
Server Messaging destination
Assigned messaging role Can acquire the lease of any message destination
Assigned role or host name Can only acquire the lease to a message destination with an assigned role that matches that of the server. For example, suppose that there is a message destination with an assigned role of A. Only a server that has role A can acquire the destination lease. A server with only role B cannot acquire the lease.

It is possible to associate a specific host name with a specific message destination as well. Then, only that server host can acquire the lease to the message destination.

No assigned messaging role Cannot acquire the lease of any message destination.

You associate a specific server role or host name with a message destination in the Guidewire Studio™ message-config.xml file. If you do not set a server role for a message destination, the Messaging editor shows a default role of messaging at the top of the screen.

You set a specific role on a PolicyCenter server in one of the following ways:
  • Through an option on the gwb runServer command used to start the server from a command prompt.
  • Through the registry metadata definitions in file config.xml.

Message destinations and leases

Guidewire PolicyCenter distributes message processing across all server instances that have the messaging server role (which is any role assigned to a message destination). Cluster members with these roles use a messaging-specific lease manager. In this case, a lease corresponds with a message destination, with each destination having a server declaration.

PolicyCenter creates message destination leases during messaging initialization. As each PolicyCenter starts, if it has a messaging role, it looks for a message destination to start. This message destination is any available message destination whose assigned role matches a role assigned to the server. PolicyCenter repeats this process until there are no more qualified destinations to assign.

Each messaging lease manager accepts a listener from the messaging system. Upon the activation of a lease operation by the lease manager such as deleting or expiring a messaging lease (and similar operations), the listener notifies the messaging system. PolicyCenter then stops messaging destinations that are deleted or acquired by other servers.

A shutdown command for a messaging destination initiates a request to expire the lease on the server for that destination. The destination listener accepts that request and passes the request to the lease manager for that destination.

PolicyCenter periodically reviews all destination leases to determine if the leases are still valid and to look for new leases to acquire. If a lease expires or the lease manager creates a new lease, PolicyCenter again searches for new messaging destinations to assign.

Guidewire provides a configurable load balancing strategy for those servers with the messaging role.

scheduler server role

Guidewire PolicyCenter typically utilizes only a small number of cluster members with the scheduler server role. These server instances run multiple synchronized instances of the scheduler in parallel.

Important: Each server with the scheduler role must also have configuration parameter SchedulerEnabled set to true in config.xml.

Servers with the scheduler role

Guidewire recommends that even small clusters have at least two servers with the scheduler role. This mitigates the possibility of a single server with the scheduler role becoming a single point of failure. However, Guidewire does not recommend more than four servers with this role in a cluster as large number of servers competing for database resources can possibly increase database contention.

startable server role

Guidewire PolicyCenter implements certain plugins (services) as cluster singletons. These plugins implement the IStartablePlugin interface and do not carry the distributed annotation. PolicyCenter runs a single instance of these plugins only, on a server with the startable server role. Cluster member with this role use a plugin-specific lease manager.

Guidewire provides a configurable load balancing strategy for those servers with the startable role.

Note: Guidewire defines an additional type of cluster singleton plugins, known as inbound integrations, in file inbound-integration-config.xml.

ui server role

Guidewire PolicyCenter uses the ui server role as a placeholder role only. Guidewire PolicyCenter servers typically operate in conjunction with a non-Guidewire load balancer that manages the user interface transactions. PolicyCenter distributes web requests to the various cluster members according to the rules specified for the load balancer. Any cluster server that receives a web request processes that request, regardless of role assignment.

workqueue server role

Guidewire PolicyCenter distributes work queues across all server instances that have the workqueue server role. By default, each work queue starts a single worker on each server with the appropriate role, unless configured otherwise.