Listen audio icon
Translate

Getting started

This is a high-level description of the Product 11.0 infrastructure and deployment models. It contains the following main topics:

Product features

The top ten Product features are:

  1. Built on a single page application (SPA) framework with 256bit AES encryption.
  2. Designed to support high availability.
  3. Support for cloud architectures.
  4. Centralized licensing.
  5. Centralized scheduling.
  6. Centralized logging (Product client logs are located on the client).
  7. Distributed caching.
  8. Integrated with Credential Vault.
  9. Active Directory integration supporting:
    • Single-domain, Multi-domain, and Cross-domain in a single forest (established with Transitive Trust).
  10. Support is provided for:
    • AWS (Amazon Web Services)
    • VMWare
    • Microsoft Azure
    • Citrix XenDesktop

Return to top

Product components

Server compatibility

Product is compatible with the following servers.

  • SMTP server: Product can be configured with a Corporate SMTP server to get all notifications from Product and by the Product Client.
  • LDAP server: Product can be integrated with a Federated LDAP server to get the user authenticated from Product and from the Product Client.

UI and RESTful API

Product has two major components, UI and RESTful API.

  • UI: UI is built on top of the Sencha framework and consumes ExtJs.
  • RESTful API: The RESTful API caters to all actions which are performed either from the Product browser or from the Product Client, and is built on top of the Microsoft Web API framework.
    • Robots are web applications hosted on IIS server and run under a dedicated application pool.
    • Robots can be either secured (HTTPS:\\) or unsecured(HTTP:\\).

Centralized scheduler

The Centralized scheduler takes care of deploying all the scheduled tasks onto the Robot runners.

  • It will be installed along with Application services.
  • It is a web application hosted on IIS server and runs under a dedicated Application pool.
  • It is built with the Quartz.Net framework.

Distributed cache service

The Distributed cache service handles sessions between the app servers.

  • It will be enabled only when the Product is installed in several app servers (2 or more), and managed by Load balancer.
  • It is installed along with the Application services.
  • It is a Windows service, which has a default port 5701 and a multiport 54327.
  • It is built with HazelCast Cache which requires JRE 1.6.

WebSocket service

The WebSocket service is used to stream the task progress from the Product Client to Product.

  • It can be either secured (WSS:\\) or unsecured(WS:\\).
  • It is a Windows service, which has a default port of 8090.
  • It is built with the Fleck framework.

Central repository

The Central repository is the main hub to store all files which are uploaded by the Robot creators.

  • Central repository can reside on the same app server / SAN / or any other server. However, it cannot reside in more than one location.
  • If Version Control is enabled, it is strongly recommended to have it on a dedicated server.
  • We only support SubVersion Visual SVN.
  • Control room can also be plugged into an existing corporate SubVersion.

Database

The Database supports SQL Server 2012 onwards.

  • It will automatically be created for Express mode. However, it must be manually created if Custom mode is selected.
  • It holds Product Core tables, Credential Vaults, and Quartz tables.

Return to top

Product infrastructure matrix

The following data table describes the various recommended Product Infrastructures.

Environment Robot creators Robot runners Recommended Product infrastructure
Proof of Concept 2 2 Standalone environment
  • 1 Windows Server 2012 with 200GB RAM and 16GB HDD.
  • Express mode of SQL Database.
  • Product (IIS) + WebSocket service + SQL Server will be on the same box.
Training 1 - 10 5 - 25 Standalone environment
  • 1 Windows Server 2012 with 200GB RAM and 16GB HDD.
  • Express mode of SQL Database.
  • Product (IIS) + WebSocket service + SQL Server will be on the same box.
Development 1 - 25 1 - 100 Distributed environment
  • 1 App Server.
  • 1 Database server (Express Mode) with WebSocket service.
  • 1 Visual SVN server (if Version Control is configured).
    • Otherwise, the Repository can either be in the SAN location or in the Database server.
Staging / UAT 1 - 100+ 1 - 1000+ Load balanced
  • 2 App servers.
  • 1 dedicated WebSocket service.
  • 1 Database Server (custom mode).
  • 1 Visual SVN server (if Version Control is configured).
    • Otherwise, the Repository can either be in the SAN location or in the Database server.
Production 1 - 100+ 1 - 1000+ Load balanced
  • 2 or 8 app servers.
  • 1 dedicated WebSocket Service.
  • 1 Database server (Custom Mode)
  • 1 SAN drive to hold the Repository files.
    • Note: SVN is not recommended in a production environment.

Return to top

Best practices

Application service best practices

  1. If Product is integrated with Corporate Domain Controller, Product will automatically be enabled with Windows Integrated Authentication from IIS using NTLM Auth. (We do not support Kerberos authentication).
  2. Product must only be installed with a Domain Service account which has administrator rights on the application server.
    • Its password should not expire.
    • It should have access to SQL Server as well as to other components like WebSocket server and Repository.

Cloud infrastructure best practices

  1. Supports Citrix XenDesktop but with XenApp / XenServer.
  2. Supports Amazon AWS, VMWare as well as Azure.
  3. Virtual Private Cloud is fully supported.

Credential Vault best practices

  1. Credential Vault can be accessed only by a Product administrator.
  2. AccessKey and Datakeys are stored in the "CredentialVaultKeys" table in the Product Database.
  3. Attributes and values are stored in the "CredentialAttributes" table in the Product Database.

Logging best practices

  1. Centralized logging has been implemented using Log4Net Framework configured with RollingFileAppender. Note: Product Client logs are located on the client machine.
  2. Product provides detailed logs for each action performed from Product as well as Product Clients in various logs files.
  3. Logs can be configured from configuration file of the corresponding component's installation path. This is usually under C:\Program Files (x86)\Product Enterprise XX.X\Product\.
  4. All the log files are stored under C:\Users\Public\Documents\Product Server Files\Logs\.
  5. Various logs files are ProductAudit.log, AAEClientRESTServices.log, WebProduct.log, Scheduler.log, AAWebSocketservicelog.

Repository best practices

  1. If version control is not configured, then physical task files can be stored in a SAN Drive.
  2. If the SAN Drive is configured, then the Domain Service Account under which the application pools are running will have access to the SAN Drive.

Return to top

Frequently asked questions (FAQs)

Application service FAQs

1. Can I convert Product from unsecured to secured or vice-versa?
No. We do not recommend or support this.
2. Can I change the Product port or URL post installation?
No. We do not recommend or support this. We recommend port 80 for HTTP and 443 for HTTPS.
3. Can I convert a version controlled Product to a traditional file server?
No. We do not recommend or support this.
4. Where is the metadata of an installation stored?
It is stored in the Public Documents\Product Server Files\ControlRoomInstaller.config file.
5. Post Installation, if I tweak ControlRoomInstaller.config, will it impact my environment?
No. We do not recommend or support tweaking it.
6. If more than one Application server is configured, can I restart all the app servers simultaneously?
No. Instead we can do one after the other to make sure Robot creators and Robot runners do not lose their sessions.

Return to top

Certificate FAQs

1. What type of SSL certificate is required?
We support .cer, .crt, der, .pem and .pfx. Certificates like p7b and p7c should be combined with a private key and converted to pfx.
2. Can I install a WebSocket server or Application server with a self–signed certificate?
No.
3. Can I install the same certificate (which I used in application server) for the WebSocket service?
Yes, as long as both WebSocket server and Application server HostNames are specified in the certificate and both are in the same domain.

Database FAQs

1. Can I tweak any values from any tables?
No.
2. Does it store any BLOB data in any of the tables?
No.
3. How much growth can I expect?
We only store business activities, so even after extensive continuous use of Product with 1000+ clients and 1000+ tasks for more than a year, the size may not grow more than 250GB.
4. What version is supported?
SQL Server 2012 onwards.
5. Can I have Dual Authentication mode?
Yes. We support Windows Authentication and SQL Authentication.
6. Can I use an existing database server to have Product schema?
Yes.

Return to top

Distributed cache FAQs

1. Can I change port of the Distributed cache service from 5701 (default) to anything?
Yes, but only at the time of installation.
2. Is there a separate setup provided?
No. It is part of the application service installation.
3. Under what user account will this service run?
By default its configured to run under the Local System account which should suffice.

Logging FAQs

1. Can I change the log location, log filename, log level, or log size?
Yes, we can accomplish it by tweaking the configuration file.

Repository FAQs

1. Can I store physical task files in IIS?
Yes. However, it can happen only in a standalone installation.

Return to top

Version control FAQs

1. Can I use any other SVN? Like AnkhSVN?
No. Only Visual SVN is supported.
2. Can I use integrate with my corporate SVN?
No. High availability and disaster recovery for SVN is not supported. Virtual replication can be configured for SVN server.

WebSocket FAQs

1. Can I install WebSocket onto Application server?
No. It can either be installed on a stand-alone server or along with Database server.
2. If WebSocket server has crashed, will it impact my business?
No. The only impact is that we will not able to see task progress in Product.
3. If WebSocket server does not respond, will the task get executed?
Yes.
4. If Product is running under secure mode (HTTPS), can I run WebSocket in unsecured mode (WS)?
No.
5. Can I have more than one WebSocket service running in the Product infrastructure?
No.
6. If a dedicated server is configured for WebSocket, what should be the server configuration?
It does not occupy much space; 100GB HDD with 8GB RAM should suffice.
7. Under what user account will this service run?
By default it is configured to run under the Local System account.

Return to top

Deployment models: Supported Product installations

The following diagrams illustrate various supported installation configurations of Product components.

Installation 1: Standalone

Product infrastructure diagram 1

Return to top

Installation 2: Distributed

Product infrastructure diagram 2

Return to top

Installation 3: Load balanced and disaster recovery

Product infrastructure diagram 3

Return to top

Installation 4: High availability, disaster recovery, and virtual replication

Product infrastructure diagram 4

Return to top

Installation 5: Product hosted in a standalone infrastructure

Product infrastructure diagram 5

Return to top

Installation 6: Load balanced with multi-domain, multiple-firewall, DB with DR

Product infrastructure diagram 6

Return to top

Installation 7: Load balanced with multi-domain, multiple-firewall, DB with DR - VMWare

Product infrastructure diagram 7

Return to top

Installation 8: Product and Product Client under Microsoft Azure - virtual private cloud

Product infrastructure diagram 8

Return to top

Installation 9: Product and Product Client under Amazon AWS - virtual private cloud

Product infrastructure diagram 8

Return to top