AI Suite cluster deployment

AI Suite cluster deployment is recommended for customers that needs high availability or have a high number of concurrent users. The number changes according to the product used (AccountingIntegrator, Datastore or InterPlay).

AI Suite component deployment

InterPlay, Datastore and AI Suite Infrastructure components (Designer, Report Server and Administration) can be deployed in active/active cluster mode to achieve high availability and scalability.

The following graphic illustrates the deployment of each AI Suite component (Datastore, InterPlay or AI Suite Infrastructure components) on two nodes. A load balancer dispatches the load between the AI Suite component and PassPort servers.

AI Suite component deployment

The following sections describe the elements involved in this type of deployment.

Load balancer

The load balancer listens on the HTTPS port where clients connect to access application web services. The load balancer forwards requests to one of the back-end servers, which replies to the load balancer.

Note   The sticky session option must be set on the load balancer so when the first request is forwarded by the load balancer to the back-end server A, then any subsequent request for the same HTTP session must be forwarded to the same back-end server A.

The load balancer contains entries for the Web applications installed on two servers: PassPort server, PassPort CAS SSO, and AI Suite.

Communication between browser and web server or between web components goes through the load balancer to achieve high availability.

Examples:

  1. Communication between the user browser and the InterPlaycomponent Web application
  2. A load balancer entry Interplay with 2 balancer members is created :
    • Tomcat 1 / Interplay
    • Tomcat 2 / Interplay
  3. The user browser uses the load balancer URL for the Interplay entry and the load balancer dispatches the HTTPS request to either:
    • InterPlay running on AI Suite Server 1 / Tomcat 1 or
    • InterPlay running on AI Suite Server 2 / Tomcat 2
  4. Communication between Datastore and the Report Server Web application.
  5. A load balancer entry Report with 2 balancer members is created:
    • Tomcat 1 / Report
    • Tomcat 2 / Report
  6. In Administration, the URL for the Report Server component is defined as the load balancer URL for the Report entry.
  7. To provide reporting services, Datastore uses the load balancer URL for the Report entry, and the load balancer dispatches the HTTPS request to either:
    • Report Server running in AI Suite Server 1 / Tomcat 1 or
    • Report Server running in AI Suite Server 2 / Tomcat 2

AI Suite component /PassPort servers

AI Suitecomponent/PassPort servers are computers where PassPort and AI Suite components (InterPlay, Designer, Report Server, Administration, Datastore Client, Datastore Runtime, or Repository) are installed and run.

Note   AI Suite components installed on these servers are different instances of the same AI Suite component. These instancesconnect to a unique repository instance. They use the same component name and they share the same database schemas.

Database server

Database server is a computer where Oracle Database (or Microsoft SQL Server) is installed and run.

To achieve high availability, you should use Oracle RAC Database or Microsoft SQL Server cluster installed on two nodes.

The AI Suite component application and PassPort connect to the database application server through JDBC.

Note   The JDBC URL, set in the PassPort and AI Suite component configuration, must be a custom URL containing a JDBC URL to both nodes.

Shared storage

AI Suite components store and read files from a work folder. To achieve high availability, the work folder, defined inthe Web application context xml, must be a folder inside a shared storage.

The shared storage implementation must have its own high availability (not linked to only one server).

AI Suite component installation

InterPlay, Datastore and AI Suite Infrastructure components (Designer, Report Server and Administration) can be installed in cluster.

Prerequisites

The following elements are needed for an AI Suite component installation:

Shared folder

A shared folder is needed for sharing the report templates/reports and data files between AI Suite servers. If Server 1 goes down, the AI Suite component application running in Server 2 will be able to access these files for further operations.

There are two failover scenarios:

  • Node1 (or node 2) goes down in a soft way. For instance, the Tomcat server may be down.
  • Node1 (or node 2) goes down in a hard way. For instance, the system shuts down.

The shared folder implementation provides its own failover capabilities to cover both scenarios.

PassPort

The PassPort server must be installed in cluster, including the SSO module.

PassPort SSO implementations are described in chapter SSO.

For details about the Passport installation in cluster, see the PassPort Administrator Guide.

The latest PassPort service pack must be applied.

AI Suite component 1 (server1)

The installation is a standard installation with generate database scripts enabled and with PassPort as access manager.

You must apply the latest service pack after the installation.

AI Suite component 2 (server2)

The installation is a standard installation but you must:

  • Use the same database users and components names.
  • Uncheck the option to execute database scripts.

For any node installation other than server 1, the database scripts must not be executed.

You must apply the latest service pack after the installation.

Post-installation

You must complete the following steps after installation.

Work directory

Each component uses a work directory defined in the context XML file. This work folder must point to a folder in the shared folder. The context XML file can be found in the component installation folder under the name <component name>-web.xml. The work directory is a parameter of the application configuration JNDI resource and must be modified to point to a folder created in the shared folder.

Example:

<Resource name="bean/ApplicationConfiguration" .
     WorkDirectory="<shared folder>\dsclient_work"/>

Component URL

The components must communicate between them through the load balancer to enable high availability. The load balancer must be configured to create entries for each component member installed in different servers.

The component URL must be configured inAdministration to point to the load balancer URL.

PassPort host

The components must communicate with PassPort to get the access rights through load. The PassPort host name must be configured in Administration to point to the load balancer name.

CAS SSO URL

The PassPort CAS SSO is configured as a web filter in the AI Suite component applications.

This CAS SSO filter usesthe SSO URL to connect to the PassPort SSO installation and to validate that the user is logged in. The load balancer must be configured to create an entry for PassPort SSO having as members the PassPort SSO servers.

The SSO URL must be configured in Administration to point to the load balancer URL.

AccountingIntegrator deployment

Rule Engine Server can be deployed in active/active cluster when high availability is needed or when there is a high volume of input events to be processed (more than 8Gb of input events per hour).

The following graphic illustrates this type of deployment:

AccountingIntegrator cluster deployment

The following sections describe the elements involved in this type of deployment.

AI Suite applications servers

AI Suite application servers are computers where AI Suite components (Designer, Report Server, Administration, Datastore, and InterPlay) and other components (PassPort, Sentinel, and Composer) are installed and run.

AI Suite components connect to Rule Engine Server through the load balancer using REST calls (JSON over HTTPS).

Load balancer

The load balancer listens on the HTTPS port where clients connect to access application web services. The load balancer forwards requests to one of the back-end servers, which replies to the load balancer.

The load balancer contains entries for the Web applications installed on two servers.

Communication between web components goes through the load balancer to achieve high availability.

AccountingIntegrator cluster

AccountingIntegrator cluster is a group of AccountingIntegrator server computers. Several instances of a single Rule Engine Server component are installed in a shared folder and run in these servers. These instances connect to a single repository instance and use the same component name. Each instance is identified by a profile name. For details about installation in cluster, see the AccountingIntegrator Installation Guide.

The AI Suite Studio application does not run in cluster, it must be installed in one AccountingIntegrator server.

AccountingIntegrator server

The AccountingIntegrator server is a computer where Rule Engine Server and AI Suite Studio are installed and run.

The Rule Engine Server web application runs in its own embedded Jetty server. Rule Engine Server uses Rule Engine runtimes to execute accounting rules. Rule Engine Server communicates with other AI Suite products/components (Datastore, Report Server, InterPlay) using REST calls over HTTPS.

The Rule Engine installation folder contains the Rule Engine's runtime libraries and scripts. The Rule Engine installation is used by Rule Engine Server to create Rule Engine runtimes, to configure them and to process financial input events by applying accounting rules.

AI Suite data flow implies asynchronous processing and exchanging business data with other AI Suite components or external components. Rule Engine Server and Rule Engine must be installed in a shared folder. The user must define in this shared folder, the Rule Engine Server work folder, which is used to store/read files. In case of a server instance crash, the other instances automatically execute asynchronous service continuing the data flow.

Rule Engine Server processes are executed in the AccountingIntegrator server and use application libraries/scripts installed in the shared folder.

Database server

A database server is a computer where a database application server such as Oracle Database or Microsoft SQL Server, is installed and run.

You should use Oracle RAC Database and Microsoft SQL Server cluster installation when high availability is needed.

The Rule Engine Server Web application, the AI Suite Studio Web application, and the AI Suite Studio command line tool connect to the database application server through JDBC.

Related Links