Goal: Out-of-the-Box Scalability
ActiveReports Server was designed with the goal of not only providing easy and intuitive reporting for business users, but also to offer a better overall return on their investment. An important factor in the total cost of ownership of a server-based reporting solution is the cost of buying additional licenses to support the growing number of users over time. In addition, the implementation team has to think about making the various servers collaborate seamlessly with each other to load balance reporting tasks at run time.
Solution: Multi-Agent Architecture (Managed Agents)
ActiveReports Server uses an integrated multi-agent architecture to provide built-in load balancing for scalability and failover features. It uses a service that we call the “Controller” for managing incoming requests and the various activities of the report server such as logins, scheduling tasks, etc., and one or more separate services called “Managed Agents” to manage the processor and the memory-intensive task of running reports.
You can run multiple agents on different machines connected to one controller to allow seamless handling of more users with a single installation of ActiveReports Server. The agents can dynamically share reporting tasks at run time depending on their availability and workload. In this way, Managed Agents allow you to serve reports to more concurrent users, and respond to higher report execution loads.
Each Enterprise Edition license and Software Companies & SaaS Edition license includes a controller and two Managed Agent licenses to provide out-of the-box scalability. You can scale up further by adding up to three Managed Agents (a maximum of five Managed Agents per server license).
One Managed Agent can be installed on the same physical computer where the Controller is installed. The others are deployed on separate machines to maximize the benefits of the built-in load balancing and failover capabilities.
The following table lists a scenario of incremental license purchases and required machines.
|Purchased License||Included Licenses||Machines Needed|
|Server||Agents||Server+1 Agent on Same Machine||Server and Agents on Separate Machines|
|1 Enterprise Edition or Software Companies & SaaS Edition License||1||2||2||3|
|+1 Managed Agent||3||3||4|
|+1 Managed Agent||4||4||5|
|+1 Managed Agent||5||5||6|
This figure shows a physical deployment scenario for a 1 Controller + 5 Agent configurations.
When you install ActiveReports Server, one of the first screens prompts you to select whether you want to install the Server or a Managed Agent (also called the Report Runner Agent).
If you choose to install the Server, the next screen asks you whether you would like to install the Managed Agent on the same physical machine, or to install the Managed Agent later.
The Web-based ActiveReports Server Administration Dashboard allows you to monitor all installed Managed Agents. You can see the installation details and activate or deactivate them.
The following table lists Administration Dashboard columns and their descriptions.
|Agent ID||Displays a unique internal identification code for the agent.|
|Host||Displays the name of the hosting machine.|
|Version||Displays the ActiveReports Server version number.|
|License Status||Displays licenses and serial numbers for licensed agents, or lets you know when no license is available. If the agent is disabled or cannot connect, the license goes back into circulation, and the license status is N/A.|
|Connection Status||Displays the state of the connection: Connected or Cannot Connect.|
|Deactivate (or Activate)||Takes the agent out of action, but allows you to enable it later. It remains connected, but no tasks are assigned to it, and its license is freed up for use by another agent. You can deactivate an agent and re-activate it to force it to check for an available license. When a new agent is installed, it is deactivated until an Administrator activates it.|