Multiple Servers

Workflow provides the ability to install across multiple servers, each of which hosts a set of services. A multi-server environment is transparent and appears to be a single server to remote clients.

Operational Overview

In a multi-server Workflow site, each installed product option may be hosted by a different server, and each server must be able to determine where each product option resides. To accomplish this, the servers refer to a shared configuration data model. Client programs, such as forms or custom clients, can connect to any server and be redirected to the server that is hosting the service(s) required for the product option in question. Because client programs communicate with product options using service methods and events, neither the user nor the client program is aware of which server is hosting the product option.

Multi-server Considerations

Configuring your system with multiple servers, whether on a single machine or on multiple machines, provides various benefits.

  • If you want to run a 32-bit service provider but your system is configured as 64-bit, you can configure a user server to host the 32-bit service provider.
  • If you want to run a non-essential service provider but doing so may cause your system to crash, you can configure a user server to host the service provider, thus isolating it from the SOA Server and preventing a system failure.
  • If you want to conduct performance monitoring, you can configure a user server and divide the service providers into groups to determine which service provider(s) is causing memory leaks.
  • A user server that hosts custom service providers can be restarted more quickly than a single SOA Server that hosts all of your service providers and product options. When new service providers are added to the user server, only the user server needs to be restarted, reducing down time.
  • 32-bit machines allow only 3 GB of memory per process. Running multiple servers provides a workaround to this memory constraint.

Configuring your multi-server system on a single machine provides various benefits over configuring a multi-machine system.

  • Configuring multiple servers on a single machine is faster and easier, especially in terms of security certificates. After the security certificates have been configured for the main SOA Server, those certificates apply to all servers on that machine. If you configure servers on multiple machines, you must configure security certificate on each machine.
  • Communication times between servers and clients is faster on a single machine setup.
  • Configuring multi-server failover clustering is faster and easier.

Configuration Overview

In addition to the primary SOA Server instance, which by default hosts both the Core and Workflow product options, you can configure extension servers. All of these servers can be configured on either separate machines or on a single machine. These servers can take the form of a Workflow server, to host the Workflow product option, and/or one or more User servers, to host product options other than the Core and Workflow options. Upon installing a Workflow server, the Workflow product option and related services automatically move from the SOA Server instance to the Workflow server instance. Likewise, upon installing a User server, product options other than the Core and Workflow options automatically move to the User server instance.

Note: Workflow and User servers should not be installed at multiple sites across a WAN.

After installing extension servers, you can use the Configure Site tool Configure Site tool to move product options and related services among server instances.

Note: The Core product option and services must reside on the SOA Server instance.

Beginning with Workflow 2.1, you can also designate whether servers and/or product options are essential to your use of the program, as well as disable any product options designated as nonessential.

Note: The Core and Workflow product options and services and the servers that host them cannot be designated as nonessential.

The designation of servers and production options as either essential or nonessential and the state and accessibility of servers has implications for the health of the site and, therefore, the ability to log in and use the Workflow program. For more information, see System Health and Program Use.

For more information about implementing a multiple-server installation of Workflow, see Architecture Considerations, Multiple Server Installation on Multiple Machines, and Server Clustering and Failover.