Workbench Designer
From ControlTier
Workbench provides a number of graphical automation design features. You can use Workbench to define new types in the Workbench CMDB, introduce new artifact types in the File share, and define new CTL automation control modules, commands and workflows. Workbench also provides graphical interfaces to view and edit your project's resource model.
Workbench's automation design features are the graphical counterpart to the ProjectBuilder command line based utility.
Whether you prefer a graphical interface or source-based text files to define your automation model, Workbench is a handy integrated toolset to share and maintain your configuration and control model.
Uses
Type modeler
ControlTier uses an object-oriented approach to describing things and actions in your world. Each object is an instance of a defined type. ControlTier includes a standard set of core types (like Resource, Setting, Assembly, Managed-Entity, Package, Deployment, Node, Service, Site) but you can define your own types, too.
Workbench's type modeling features help you manage your type model by providing tools to create, edit and browse types. One useful feature is Workbench's class browser available in any type view page. This class browser lets you conveniently navigate any direction of the class hierarchy, as well as listing instances of any type.
An important aspect of the ControlTier model schema are constraints. Constraints let you define rules that govern how instances are created and edited. For example, you can define a set of allowable literal values for a given type property. You can make one of these allowed values, the default one. You can even enforce that only one of the allowable values can be selected.
The ControlTier model lets you represent application infrastructures as a network of interconnected objects. Another kind of constraint controls these interconnections. You can use this kind of constraint to define a policy that is enforceable by Workbench. For example, you can define a constraint that governs what parent and child dependencies a given type of object can have. You can define if only one or many kinds of a given dependency are allowed (i.e., cardinality).
Command editor
A type's behavior is defined as a command and represent control operations. Via the inheritance model, subtypes inherit commands defined in their supertype. Workbench includes a graphical interface to view, create and edit commands. Workbench processes these command definitions for a type, and generates a usable CTL control module.
Choosing the "Commands" tab when viewing a type lists the commands defined in that type and any inherited from its supertype. You can create new commands and then select which kind of implementation you want to use. Implementation choices include shell (eg, bash or cmd.exe), Ant, Bean scripting framework (BSF) or Workflow.
Each command can have a set of options declared for it. Options that take arguments can have those options defaulted to a literal value, or an attribute. Attributes are defined by the type model, or data can be imported from other objects. This approach encourages very resuable and flexible commands that are data-driven.
Workflow commands
Commands defined in a type can be combined together into a workflow. Since a workflow is a command, you can define a structure of workflows (i.e., one workflow can call another). This lets you build up layers of automated steps.
A workflow's command sequence executes in a configurable number of threads. By default, workflows execute in a single thread and therefore execute serially. You can configure a workflow to execute commands in parallel by raising the thread count.
If an error occurs within one of the commands in the sequence, control is passed to the error handler. Workbench's workflow editor lets you choose how to handle errors. You can ignore and supress error messages, fail immediatly, send notifications or execute another command.
Of course, you can also model workflows using ProjectBuilder and XML definition (type.xml)
Resource editor
Workbench provides a graphical view into your project's object model. Instances of types are called objects. After navigating to any type, you can see the objects defined for that type (or any subtypes) by clicking the "Objects" tab. The Objects tab also includes a button to create new objects. Any constraint defined for that type will affect the UI controls.
After an object has been created, Workbench lets you view various aspects of the object. The "Details" tab shows attribute vales for that object and child and parent dependencies. The "Commands" tab shows the commands that are defined in the type, as well as links to running that command via Jobcenter. The "Properties" tab displays the object data in key value pair format (Java properties).
From the "Browse/Search" control, you can access the Workbench class browser to navigate to other types. You can also search for other objects from the object view page. The object search function lets you search the project model using various keywords.
Interfaces
Input
| Form-based GUI | Workbench includes both a graphical type and object editor.
With the type editor, you can create your own data types, relationship constraints, attribute defaults, commands and workflows. The object editor lets you create and modify instances of your data types and link objects together to define relationships.w |
|
|---|---|---|
| XML | XML specifications can be used used to define new data types or populate the repository with your information. | |
| Scripted | You can use Workbench CLI tools to script the definition of new types and objects. |












