Architecture and Components

This articles looks at the TaskCentre three-tier architecture model and the benefits of this approach.

We will then examine the main components and look at their relationship in a typical deployment.

Three-tier Model

The solution uses a three-tier software architecture model. In this model, there are three separate modules:

  • User interface
  • Process logic
  • Data storage logic

Typically they occupy separate platforms, the user interface on a client, the process logic on an application server and the data store on a database server.

The client tier never communicates directly with the data tier. Data is passed between through the server.

The three tiers correspond to:

  • The TaskCentre Client (and various distributed components)
  • The TaskCentre Server
  • The TaskCentre data store

Although the three tiers may occupy physically separate platforms, it is important to bear in mind that this is a software design model.

The tiers can occupy the same machine. The client can be installed on the server machine and the data store may also be included on the server.

Processing Architecture

TaskCentre is a 32-bit software that runs under Microsoft Windows 32-bit architecture.

It can, however, also run on 64 bit versions of Windows by using WoW64. This is a component provided with all 64 bit versions of Windows, which enables the isolation and running of32 bit applications on 64 bit systems.

Windows Service

The TaskCentre Server component runs not as an application but as a windows service. Unlike an application, a Windows service can run without the machine having to be logged on. This is important for an automation tool where you don’t want to depend on a user to start the application.

Running as a Windows service does however, mean that TaskCentre is restricted to Windows platforms.

Precise system requirements can be found in the product documentation.

Server Performance and Task Processing

The TaskCentre Server is both multi-processor and multi-thread. The software has been designed to keep context switching of the processor to a minimum.

Multi-threading enables multiple tasks to run simultaneously. This increases server processing capacity and reduces the need for queuing of tasks. The number of task threads used can be controlled by the administrator.

A single task may be run single-threaded (synchronously) or multi-threaded (asynchronously). Single-threaded processing is used when the sequence is important for data integrity; multi-threaded when throughput is the only consideration.

TCP/IP

TaskCentre uses the TCP/IP protocol suite all communications between the TaskCentre server, clients, other servers and any agents that are registered on the network.

TCP/IP must therefore be available to the network connects on all machines hosting TaskCentre components.

Task Isolation

The TaskCentre Server uses out-of-process server technology to isolate each task instance from both the TaskCentre itself and from other task instances.

Unlike an in-process server (such as a COM file), which runs in service of another application, an out-of-process server is a stand alone program which runs independently (such as an EXE file).

Advantages of the three-tier architecture

The three-tier architecture separates the user interface, application processing and the data processing aspects of a software application to the client, application server and database server tiers, respectively.

This has a number of benefits:

  • Data is managed centrally by the server, so it is independent of network conditions
  • Clients do not need a network share to access the data, which improves security
  • Database operations such as retrieving or updating records are transactional, which protects the integrity of the data.

Survey of TaskCentre Components

The diagram below shows a typical rollout of TaskCentre, with the infrastructure required to support all of its functionality. This is just one possible configuration among many that could be used. Cross reference with the numbers below for more information.
TC-example-Architecture-4-570px

1. TaskCentre Server

Before deploying TaskCentre you should consult the software compatibility and system requirements documentation, which you can find on the Orbis Software website.

You would begin an installation with the TaskCentre component, ideally placing it on a dedicated machine on the network.

It is the server that provides the run-time environment to process tasks, but TaskCentre requires both the Server and the Client components to function correctly.

It is advisable to install the client component on the server machine, so that the product can be configured from the server console. However, you can install it on a separate workstation and do the configuration separately from the server console.

2. Email Trigger (SMTP) Agent

The purpose of the Email Trigger (SMTP) Agent is to receive incoming email and inform the TaskCentre server that there is an event that requires processing. The Email Trigger (SMTP) Agent is not required for the TaskCentre server to send email.

It is usually convenient to install the Email Trigger (SMTP) Agent on the same machine as the TaskCentre Server. The Agent cannot be installed directly on a mail server.. Also, the agent requires the support of Microsoft SMTP Virtual Server, a component of Microsoft Internet Information Services.

3. Mail Server

It is often the case that only a sub-set of an organisation’s incoming and outgoing email is required to trigger email-event driven tasks.

The network’s mail server filters the incoming mail and routes to the TaskCentre server only what is relevant. All other incoming mail follows the normal delivery route. The filtered sub-set will be processed by TaskCentre and handled according to the process defined in the Task that gets fired.

4. TaskCentre Client

The TaskCentre Client component is intended for TaskCentre users who design Tasks or administer the server. It does not require its own license.

The client component may be installed on the same machine as the server component or on a separate workstation machine.

It can, in fact, be installed on any number of workstations in the network.

5. Microsoft SQL Server Agent

The Microsoft SQL Server Trigger Agent is an event agent used to detect changes in Microsoft SQL Server databases registered with TaskCentre. It passes events back to the TaskCentre Server, triggering the relevant tasks.

The agent does not need its own license nad can be installed on any number of machines which host SQL Server. But each installed Agent can only be registered to a single TaskCentre server.

The Agent can coexist on the same machine as the TaskCentre Server, where Microsoft SQL Server has been installed on that machine. If you wish to do this, you should give due consideration to the overall load on the machine.

There are similar trigger agents for other systems, such as Oracle Database machine.

6. Workflow

When a user updates a workflow job, the Workflow Job Trigger Agent receives the event and notifies the TaskCentre Server. If the appropriate criterion is met, a job trigger task is run.

This Agent also deals with the publication of Workflow jobs to the appropriate website. The Agent communicates with the TaskCentre Server to identify when new activity has taken place on particular workflow jobs that require processing.

7. myTaskCentre Web Portal

The myTaskCentre web portal may be deployed on any machine running Microsoft Internet Information Services. It is used to publish workflow jobs, which may then be viewed through any browser that has visibility of the website.

8. Workflow Web Service

The Workflow Web Service is provided as a programming interface that can gather Workflow Job Trigger information stored on the TaskCentre workflow website and publish it to a third-party application.

This component is not needed for the standard myTaskCentre Workflow web portal. It is intended only for embedding workflow into other applications.

9. myTaskCentre Browser

The myTaskCentre browser requires no installation of software. Any machine with a compatible browser session can be used to log on securely to the myTaskCentre web portal and administer workflow jobs.

10. Remote Microsoft SQL Server Agent

Some users may have a remotely hosted installation of Microsoft SQL Server.

Because the Microsoft SQL Server Trigger Agent communicates using the TCP/IP protocol suite, it is possible to run it on a remotely hoisted server if there is a permanent internet connection between the remote data server and the TaskCentre network.

Tool Packs

Sometimes new tools are introduced for use in the TaskCentre environment. These tools have s separate installer, which can only be run after the core installation is complete.

Tool packs may have unique installable features, details of which would be provided in special release notes particular to the tool pack.

A tool pack must be installed on the TaskCentre server and any associated clients before a user can use it to configure tasks.

Architecture and Components: In summary

TaskCentre is a 32-bit software that runs on 32-bit or 64-bit windows platforms as a Windows service. As such, it can run without the machine having to be logged on.

The server is multi-processor and multi-thread. Multi-threading enables multiple tasks to run simultaneously. The server uses out-of-process server technology to isolate each task instance from both the server and from other task instances.

TaskCentre has a three-tier architecture, keeping client, server and data store separate. The server transfers data between the client and the data store. This improves security and data integrity.

TaskCentre is normally deployed in a distributed environment, with the main component installed on a dedicated server and other components and agents installed on database servers, web servers and client machines. Communications is through TCP/IP.