ControlTier Inc. > Open.ControlTier
 
Font size:      

Platform Architecture

Diagram

The ControlTier platform is based on a client-server archtecture. Normally, one designates a host where the centralized administration will be conducted. This administration host will house the server software. Any host where the application provisioning process activity is targeted will have the client software installed. All of the ControlTier software is based on Java and should work on most flavors of Unix (eg, Linux, Solaris, BSD) and NT-based Windows versions (eg, XP, Windows Server, etc).

The rest of this document describes the components and requirements for both the server and client software.

Server

The software that comprises the ControlTier server on the admin host is largely based on three Java servlet based webapps:

Workbench:

The Workbench webapp provides a graphical and programatic interface to defining and managing the objects in the repository. Internally, Workbench stores all the physical artifacts in a WebDAV repository. Workbench provides several REST-based interfaces to loading object and modules, as well as, accessing metadata and generating reports.

WebDAV:

All the build artifacts, automation modules and metadata reside in a physical store exposed via WebDAV interfaces. Clients can access the packaged artifacts via HTTP GET methods, while the build process can load or remove items via WebDAV PUT and DELETE.

Job Center:

The Job Center webapp is a graphical tool to schedule and run commands defined in the automation modules. Job Center, internally, embeds AntDepo to gain access to the ControlTier command dispatching framework so it can dispatch commands.

Client

Each host where build and release activity occurs will have the client software installed. Once the host is registered as a node in the repository it becomes accessible to the platform's command dispatching framework. There are two pieces of software that comprise the client:

AntDepo:

AntDepo is an Ant-based framework that includes features such as object-oriented command dispatching, network transparent distributed command execution, and a multitude of Ant tasks needed for managing large scale environments.

ControlTier AntDepo extension:

AntDepo includes a plug-in architecture that allows additional functionality to be added. The ControlTier AntDepo extension adds features to the AntDepo framework to access the objects in the server repository and exposes the Workbench web services as Ant tasks.

Note
The ControlTier client is NOT a long running process. Once the executed command completes, the process exits. There is no idle process consuming system resources if a command is not running.

User interfaces

The ControlTier architecture supports two user interfaces:

HTML:

Both Workbench and Job Center employ a DHTML/AJAX style graphical interface and assume an AJAX capable browser such as Firefox. The WebDAV webapp also makes it possible to directly explore repository via HTML and most any web client.

Command Line:

The ControlTier client's are all accessible via a set of shell commands. These shell commands allow users to execute commands defined in automation modules and administrate the framework.

Network Protocols

The ControlTier platform employs two standard network protocols to invoke commands and access objects in the repository.

SSH: [admin host]---connects-to--->[target host]

Actions from the administration host are dispatched via outbound SSH commands to the target hosts. Part of the installation and setup of the client software is preparing the SSH key configuration to allow remote commands from the central host.

HTTP(S): [target host]---connects-to--->[admin host]

Client access to the server's webapps and repository is via HTTP. If desirable, the server and client can be set up to use SSL.

Optional: LDAP Authentication/Authorization

To simplify getting started with the server and client, the default configuration uses simple file-based authentication and authorization. For organizations that have an existing LDAP server and wish to manage user and role definitions there, the server and client software can be configured to use LDAP-based security. Both client and server use JNDI methods to access the LDAP server.

Installer

Because there are several pieces of software that must be installed and configured together correctly, the standard distribution employs an installer. This installer includes all the ControlTier software components and is driven by a single configuration file.

← Previous: Platform overview   Next: ControlTier methodology →