AutoMate 7 Multi-Machine Capabilities

by marjo martinez, in Tech Talk, posted 6/1/09

Introduction
Usually, AutoMate 7's Task Administrator console is used to access the Task Service on the local machine. However, it is also capable of Remote Administration, the ability to deploy and manage tasks remotely by accessing an AutoMate Task Service installed on a remote machine via a TCP/IP connection. This article will present detailed information regarding all aspects of AutoMate 7’s Remote Administration feature. It will provide step by step instructions concerning remote connection, task deployment and remote management. It will also discuss External Database Logging functionality in relation to Remote Administration and point out various forms of remote connection types available.

Remote Administration Overview
Remote Administration is the ability to connect to remote AutoMate clients in order to deploy and manage tasks on multiple machines across a LAN or the Internet. It requires at least two separate machines connected on a network using the TCP/IP protocol. One machine must have the AutoMate Task Service running (the remote machine) and another machine must have the AutoMate Task Administrator running (the local machine). Remote Administration is accomplished by using the Task Administrator console located on the local machine to connect to other AutoMate Task Service installed remotely. Once connected, a user can deploy tasks, enable/disable triggering, configure system preferences and run tasks manually on the remote machine.

The Task Administrator and Task Service are two of several AutoMate components, all working together to act as one cohesive unit. The Task Administrator contains the interface used to create, organize and manage tasks, set preferences, configure trigger events and manually execute tasks. It generally functions as a "front-end" to the Task Service. The Task Service is a background application that has no direct user interface and communicates with the Task Administrator and other AutoMate components via TCP/IP, whether remotely or on the local system. It is responsible for the following:

  • Monitoring individual and global task preferences.
  • Opening the task list and initiating tasks.
  • Monitoring for most trigger events.
  • Running tasks automatically when they are triggered.
  • Logging Events to the AutoMate Log.

In short, the Task Administrator is basically used to send information to the Task Service. The Task Service is the key AutoMate component that performs all of the work.

Available Remote Administration Options
Each machine used for management, development or execution of AutoMate tasks requires a license. The AutoMate 7 product line includes three license types. Remote Administration options differ depending on which licenses are acquired. Below is a brief description of each licensed product:

  • AutoMate 7 Professional – The base version of AutoMate 7 designed to automate most desktop processes.
  • AutoMate 7 Premium – This version includes all the functionality of the Professional Edition along with additional actions (i.e. SNMP, MSMQ, Terminal Emulation and Active Directory) and Runtime support.
  • AutoMate 7 Runtime – This version contains no interface and used for execution of tasks built in the Premium Edition.

AutoMate 7 Premium Edition is the ideal choice for use with Remote Administration. It is comprised of the Premium installation, which includes the Task Administrator interface and separate remote "Runtime" installations (sold separately). An AutoMate Runtime contains only the Task Service which quietly runs in the background on the remote machine and performs tasks as directed by AutoMate Premium developers. With the Premium Edition, tasks can be constructed, deployed and managed from one convenient location instead of being spread throughout the organization. Furthermore, licensing Runtimes is more manageable and cost efficient than installing separate full installations of AutoMate on every machine.

AutoMate Premium installations are allowed to connect to other remote Premium installations as well as Professional installations. This is helpful in situations where a number of Task Administrators are required to allow for bi-directional connections and task sharing or to accommodate several developers. There is no limit to the amount of remote connections available. 

The AutoMate 7 Professional Edition contains a Task Administrator and Task Service but is mainly designed as a stand-alone unit geared for those organizations that require automation to be performed mainly on a single machine. Remote Administration can still be enabled between two compatible AutoMate 7 Professional versions; however, Professional licenses are allowed to connect only to other Professional licenses installed remotely. They cannot connect to remote AutoMate Premium or Runtime installations.

Configuring Remote Administration
Password authentication is required in order to connect to a remote AutoMate client; whether it is an AutoMate Runtime, Professional or Premium version, thus, a password must initially be configured for each client that will be remotely administered. Since a Runtime includes no interface, password entry is accomplished during the installation process. A screen will appear at some stage during installation prompting for a password to be entered. Simply enter the password in the appropriate fields and click Next to complete the process.

For added security, Remote Administration is disabled by default on AutoMate 7 Professional and Premium Editions. In order to connect to a remote Professional or Premium installation, the Remote Administration feature must first be enabled from the Task Administrator (on the remote machine to be administered) and a password must be defined. Proper instructions are as follows:

  1. Start the Task Administrator on the machine in which to connect to.
  2. Navigate to System -> Options and select the Remote Access tab (displayed in Figure 1.1).
  3. Add a check to the option labeled Allow remote administration. This enables a password to be entered.
  4. Enter a password in the Password field.
  5. Re-enter the password in the Confirm Password field.
  6. Click Ok to save changes.

Once connected to a remote AutoMate client, Remote Administration can be disabled for that client at any time from the local Task Administrator by accessing its system options and un-checking the Allow Remote Administration option. An AutoMate Runtime also includes this option and can be accessed remotely via the Premium Task Administrator (read Modifying Remote Preferences below for more details). 

Figure 1.1 - System Options Remote Access Tab

Since various components of AutoMate use TCP/IP to communicate with each other, it must connect and bind (associate) itself to a particular TCP port. By default, AutoMate 7 will accept connections on port 7877. This can be modified if conflicts arise, such as when another application already binds to the specified port or in cases when a firewall, anti-virus or other system security related software interferes with AutoMate’s ability to send and receive data on the port. Port modifications can be made from the Task Administrator of an Automate 7 Professional or Premium Edition. Instructions are as follows:

  1. Open the Task Administrator.
  2. Navigate to System -> Options and select the System tab (as shown in Figure 1.2).
  3. Enter the appropriate port under the option labeled AutoMate Server Port.
  4. Click Ok to save changes.

The port must be identical in each AutoMate installation to achieve a proper connection. After changing the port, the AutoMate Task Service must be restarted in order for the new port to be recognized. This can be done by right-clicking the AutoMate tray icon (next to the clock) and selecting Exit, then restarting the AutoMate Task Administrator from the Start menu.
 
Figure 1.2 - System Options System Tab

Because AutoMate Runtime installations contain no user interface, port modifications must initially be performed from the system registry. Instructions to modify the port via the system registry where a Runtime is installed are as follows:    

  1. Stop the AutoMate Service by navigating to Windows Services, right-clicking the AutoMate 7 service and selecting Stop.
  2. Go to Windows Start -> Run and enter regedit. In Windows Vista, go to Start and enter regedit in the Search field and hit ENTER. 
  3. Find and open the following registry entry: HKEY_LOCAL_MACHINE\SOFTWARE\Network Automation\AutoMate 7\TaskService\IPCTCPPort.  A dialog box appears (as shown in Figure 1.3).
  4. Toggle the Decimal option, enter the appropriate port in the Value data field then click Ok.
  5. Exit the registry.
  6. Restart the AutoMate Service by navigating to Windows Services, right-clicking the AutoMate 7 service and selecting Start.

NOTE: Improper changes to the registry can cause irreversible damage to an operating system. Only qualified individuals should perform registry modifications.  


Figure 1.3 – AutoMate Server Port Registry Entry

Port modifications can be achieved from the local Task Administrator once proper connection to a remote AutoMate client is established (whether it be a Runtime, Professional or Premium Edition) by accessing the system options of the remote client (read Modifying Remote Preferences below for more details). 
 

Establishing a Remote Connection
When a user starts the Task Administrator, it automatically attempts to contact the Task Service on the same machine. Once it is opened, the user can then connect to a remote AutoMate client. Instructions to establish a remote connection is as follows:

  1. Ensure Remote Access is enabled and the AutoMate Task Service is running on the remote machine.
  2. Be sure the Task Folders view is visible in the Task Administrator. Select the View menu, scroll to Windows and make sure the Task Folders option is checked (this is not necessary for Remote Administration to function but it aids in navigating from computer to computer).
  3. Navigate to the File menu and select Connect, (as shown in Figure 1.4).
  4. A dialog box titled Connect will appear (as shown in Figure 1.5). In the Host field, the following may be entered: 
     - Computer Name (i.e. MAINSERVER)
     - Hostname (i.e. mainserver@mainnetwork.com)
     - IP address (i.e. 209.223.157.99)
  5. In the Password field, enter the password corresponding to the remote Automate client.
  6. Click the Connect button.

Figure 1.4 – Task Administrator Connect Option 

Figure 1.5 – Connect Dialog Box

 The Task Administrator will then attempt to establish and authenticate connection on the remote AutoMate client. When connection to a remote client is accomplished, its task folders appear in the Task Folders pane of the local Task Administrator (as shown in Figure 1.6) and any sub-folders appear in the main window. Switching back and forth from the local client to various remote clients can be accomplished by simply clicking a computer or folder in the Tasks Folders pane.  

Figure 1.6 – Remote AutoMate Clients Appearing in Task Folders Pane


Deploying Tasks
Deploying is a method of sending a local task to a remote AutoMate client. A deployed task is copied from the local Task Administrator to the remote client and can be set to run on the remote machine immediately after it is received. A permanent copy of the task, including its properties and any attachments are retained at the remote machine. Deployment instructions are as follows:

  1. In the right (main) window pane of the Task Administrator, select the task(s) to deploy. Multiple tasks can be selected by holding down the CTRL key.
  2. Click Deploy located on the toolbar or select Task -> Deploy from the File menu. A dialog box titled Connected Machines appears allowing for the selection of remote client(s) in which to deploy the task(s) to (as shown in Figure 1.7).
  3. Select one or more AutoMate machines from the list of connected machines to deploy to. Multiple machines can be selected by holding down the CTRL key. The following deployment options are available:
  • To deploy the task(s) to the root folder of the remote client, enable the Deploy to Root option. Otherwise, if the task(s) being deployed are located in a sub-folder, the same folder structure will be created on the remote client during deployment.
  •  If wanting to run the task(s) immediately upon deployment, enable the Run immediately option.
  1. Click OK to complete the process.


Figure 1.7 – Deploy Feature Connected Machines Dialog Box

If a task being deployed matches a task that already resides on the remote machine, a dialog will appear on the local machine asking whether or not to overwrite the existing task. As well as deploying tasks located on the local Task Administrator, they can also be deployed from one remote client to another.

NOTE: Tasks can also be copied from one machine to another using the Copy and Paste options located in the Task Administrator’s Edit menu. The difference between deploying and simply copying/pasting a task is that tasks can be sent to numerous machines and be set to immediately run upon deployment.

Working with Remote Tasks
AutoMate installations (whether it be a Professional, Premium or Runtime Edition) are mutually exclusive. In other words, a remote Automate Runtime does not rely on the local AutoMate Premium installation or other Runtimes to execute a task. When connected to a remote client, a user can add, remove or modify properties of a managed task, enable/disable triggering and run tasks remotely. However, once a task is sent to another machine, there is no interaction that takes place between the remote and local AutoMate when the task launches.

When working with remote tasks, keep in mind that what appears on the Task Administrator is relative to the remote client. Therefore, if a remote managed task is executed manually (by selecting a remote task and clicking the Run button), the task will run on the remote machine, not on the local machine. The user will, however, still receive completion, failure and error notifications locally in the Messages pane of the local Task Administrator.

When creating a task remotely or modifying steps of a remote task, the Task Builder that appears on the screen is located on the local machine. Because of this, the task developer only has access to the local hard disk. It is important to understand that certain actions or triggers may not function properly unless the settings are modified to reflect the system properties relative to the remote machine that the task will eventually be running on. For example, a ‘Start Service’ action is used to start a service that is located on the remote machine but not locally. When the developer edits the General tab properties of this action and clicks the drop-down arrow to show the list of services, only the services of the local machine appears. Therefore, to specify a service running on the remote machine, the developer must manually enter the service
name.   

When viewing the properties of a remote task, what appears on the Managed Task Properties dialog is relative to the remote machine. For example, when viewing the properties of a remote task named MyTask, the General tab may indicate that the task file location is C:\MyTask.aml. This is actually pointing to the remote machine's C:\ drive, and not the local drive. However, when editing task properties that specify a drive location (i.e. by clicking the Location button on the General tab or selecting the Folder icon on the Logging tab) the Explorer window that comes into view reflects the local machine's drive. 

Tasks that are running on a remote machine can be viewed and/or controlled during execution on the local Task Administrator. Once remote connection is established
to one or more machines, their IP address, host name or computer name will appear in the System menu. Simply navigate to the appropriate machine and select Show Running Tasks. A dialog box will appear showing status of any remote tasks that are currently running and provide an option to manually stop one, several or all tasks. An option to remove tasks from a queue or force queued tasks to run immediately can be performed as well. Running tasks are marked as Running in the Status column. Tasks that have been queued as per its Priority settings are marked as Queued in the Status column. 
 

Modifying Remote Preferences
When connected to a remote AutoMate Task Service, system preferences relative to the remote machine can be viewed or modified in the same manner as viewing/modifying the local system preferences. Instructions to view/edit remote system preferences are as follows: 

  1. From the Task Administrator, establish a connection to the desired AutoMate installation or select a currently connected remote client from the Task Folders pane.
  2. Select the System menu and navigate to Options.

The Options dialog window that appears will include the remote hostname, computer name or IP address confirming that the remote machine's system preferences are being viewed (as shown in Figure 1.8). Any changes made during this period will reflect the remote machine’s system preferences.   

Figure 1.8 – Remote AutoMate System Options

In addition to modifying remote preferences, task triggering can be enabled/disabled once connected to a remote AutoMate client. This can be accomplished by selecting
the System menu and adding a check to the Enable Task Triggering option to enable remote triggering or removing a check to disable remote triggering. Task triggering
is enabled by default.

The Backup and Restore function can be performed on a remote AutoMate client. Once remote connection is established, select System -> Backup to backup a remote client or select System -> Restore to restore a previous backup. A properties dialog box will appear during either the backup or restore process which will include the host
name, computer name or IP address of the remote machine verifying that the procedure is being carried out on the remote machine.

External Database Logging (Premium Edition only)
With AutoMate Premium, Runtimes and other compatible remote installations can use External Database Logging to log AutoMate events to an external datasource such as Microsoft SQL Server, Oracle or mySQL using a standard OLEDB connection. This offers an easy way to view events logged by valid remote AutoMate clients. External Database Logging configuration instructions are as follows:

  1. From the Task Administrator, connect to the machine in which to configure External Database Logging on (if configuring a remote client).
  2. Select System -> Options and navigate to the Logging tab (shown in Figure 1.9).
  3. Add a check to the Enable database logging option.
  4. Click the Connect button and enter the proper information in the Data Link Properties dialog window that appears.
  5. Upon completion, click Ok to save settings.

Figure 1.9 – System Options Logging Tab
 

Upon completion, AutoMate will automatically create and maintain the tables in this database when logging starts. AutoMate events can then be queried against any other database in the database server. Furthermore, the level of logging made to the database server can be customized.

NOTE: The database must already be present before AutoMate starts in order for database logging to work correctly. When External Database Logging is enabled, the AutoMate Event Viewer will display the events logged to the database server and not the local text files regardless of whether or not text logging is enabled.

Conclusion
With the use of Remote Administration, a user can manage tasks and modify preferences on remote machines in the same manner as managing tasks and preferences on the local machine. All the functionality available for the local machine is available on the remote machine as soon as connection is established through the local Task Administrator. External Database Logging allows remote AutoMate events to be viewed locally. Hence, Remote Administration is a significant in allowing managers the ability to administer AutoMate across a network.