r3 - 20 Dec 2007 - 21:11:40 - BeckyHYou are here: Wiki >  AppLogic2 Web > RefEditorClassEditorAssembly
led-green December 24 - AppLogic 2.4.7 is now available and is the latest production release!

Class Editor -- Assemblies

The Class Editor property sheet allows you to define the boundary of an assembly class.

LINK To reach the Class Editor property sheet in the editor: select the shape of an assembly appliance on the canvas, open the right-click menu and select Edit Class or View Class.

The class editor is organized in 4 sections (tabs):

Notes:

  • The descriptions here are written assuming you understand the concepts described in the AppLogic Overview. Short definitions of some terms are also available in the Glossary.

  • You can use this property sheet to define and modify the boundary of the assembly. To edit the interior, right-click on the assembly appliance and select Edit Interior or View Interior from the menu.

  • AppLogic has different class editors for simple appliances and for assemblies. It automatically selects the appropriate class editor based on the type of appliance you edit. The class editor for simple appliances is described in Class Editor - Simple Appliances Reference.

  • The class editor is read-only for catalog classes. See Branching Classes for details on how to customize an existing class or create a new singleton class using the New Singletons section in the editor catalog.

General


cea_general.png

The General tab describes the appliance class as a whole and also contains some advanced settings.

General attributes

Name
Class name. Defines the name of the appliance class. This name is shown in the bottom left side of each appliance shape on the canvas. If the appliance is placed in a catalog, the class name is also shown in the catalog. The name is a single word, case-sensitive, alphanumeric ([A-Za-z0-9_]).

Category
Category of the appliance. The category is a short alphanumeric phrase describing the group (category) of appliances within a catalog that the appliance belongs to. If the appliance is placed in a catalog, all appliances from the same category are grouped together in a section.

Description
Free text description of the appliance. Typically the description contains definition of the appliance's function, some distinguishing details (separating an appliance from other similar appliances).

Visual attributes

The following attributes determine the visual appearance of the appliance shape:

Color
The color of the appliance shape, as shown on the canvas and in the catalog.

Size
The width of the appliance shape when shown on the canvas.

IDEA! It is useful to keep color choices consistent by appliance category -- this makes completed applications look better.
IDEA! It is recommended to use shape size proportional to the importance and complexity of the appliance.
IDEA! The height of the appliance is automatically selected based on the number of interfaces.

Advanced attributes

The following attribute determines special and diagnostic features for the appliance class.

Field Engineering Options
This is a numeric value that enables diagnostic or other special features of AppLogic for the appliance class; this setting affects all instances of the appliance. For a list of available codes and precautions when using them, see Field Engineering Codes. In short, do not enable this option unless directed by a support engineer.

Comments and questions

 


Interfaces


cea_interfaces.png

The Interfaces tab defines the network interfaces (terminals) for the appliance. The appliance uses these terminals to interact with other appliances.

AppLogic Overview explains the concept of terminals and how appliances are connected.

Terminals

The appliance terminals are named network interfaces, through which the appliance interacts with other appliances in the same application. The terminals have direction -- input or output . The terminal direction determines whether the appliance originates connections or accepts connections.

Each input terminal can have many appliances connected to it. Each output terminal can be connected only to a single appliance. For more details see AppLogic Overview and Appliance Creation Guide.

Name
Name of the terminal, representing the role of the interface within the appliance. It is a single word, case-sensitive, alphanumeric ([A-Za-z0-9_]). Terminal names are usually lowercase and short - 3 to 4 characters, so that they fit in the appliance terminal shape).

Direction
Direction of the terminal: input or output. The direction determines whether the appliance originates connections (client-side of most protocols) or accepts connections (server-side of most protocols). The direction determines only where the connection originates from. The appliance can pass data in and out of any terminal.

Options
Optional terminal attributes that can be set on the terminal:
button_mandatory.gif The mandatory attribute marks the terminal as required to connect for normal operation of the appliance. Typically inputs are non-mandatory and outputs are mandatory.
button_switch_side.gif The switch-sides button makes the terminal appear on the other side of the appliance shape. It is useful for feedback terminals whose connection direction goes opposite to the general left-to-right flow. This attribute affects only the visual appearance, it has no runtime impact.
button_info.gif The info button shows information about the interior connection of the terminal -- if the terminal is already connected in the assembly interior, pressing this button may show you the protocol and other attributes of the terminal inside the assembly. If no information is shown, then the terminal is either not connected or there is an unresolved error.

IDEA! The order of the terminals in the list, as well as in the appliance shape, can be modified by selecting a terminal entry in the list and using the up and down arrow buttons on the right side of the list. This is especially useful for appliances that have more than one terminal on one of the sides.

ALERT! If a terminal is marked as mandatory and then it is not connected, the application will not start. This ensures that configuration constraints are met and prevents many configuration errors from happening. AppLogic will report the name of the appliance and the terminal that failed the check, so that you can easily locate and fix it.

Comments and questions

 

Volumes


cea_volumes.png

The Volumes tab allows you to configure the set of volumes required for the operation of the appliance. The volumes defined on this tab are known as boundary volumes, as they are the only volumes visible to those, who use the appliance.

The boundary volumes are always placeholder volumes that you will redirect to volumes of the appliances in the assembly.

For each volume, the following fields are defined:

Name
Logical name of the volume within the appliance. This name represents the role of the volume for the appliance class. It is a single word, case-sensitive, alphanumeric ([A-Za-z0-9_]).

Options
A set of important volume options described below.
button_mandatory.gif The mandatory attribute makes the placeholder volumes required (currently all volumes are required, so this attribute is not used).

IDEA! You can arrange the order of the volumes in the list using the up and down arrows. The order affects only how the volumes will be presented to you in the property sheets; it has no runtime impact.

IDEA! Assemblies have fewer attributes required on their volumes than simple appliances because most of the required information is defined automatically when the volume is redirected inside the assembly.

IDEA! If you plan to add your assembly to a catalog, you should add in this list all needed placeholder volumes of assembly's subordinate appliances, and then redirect the volumes of the subordinate appliances to these boundary volumes. This will make it possible to configure different volumes on each instance of the assembly.

Comments and questions

 


Properties


cea_properties.png

The Properties tab defines the properties that will be available on the appliances of this class. Properties are named configuration parameters for the appliance.

The properties of the assembly defined on this tab are known as boundary properties. These are the only properties that are visible on the assembly appliance from outside to those, who use it.

Defining Properties

The set of properties on an appliance class reflects the specific needs of the class. AppLogic passes the property values to the appliance without interpretation. You are free to define whatever properties you like.

Name
Name for the property. The property name uniquely identifies a property within the appliance. The property names are used to set property values in the Instance Settings property sheet.

Default
Default value for the property. This value will be used, if no value is specifically defined for the property in an appliance instance. Most properties should have defaults. You can leave the default value empty, in which case the default is an empty string. You can also disable the default value by making the property mandatory (see below).

Options
Optional property attributes include the following:
button_mandatory.gif The mandatory attribute marks the property as required to be set specifically on each appliance instance, making it so that the property has no defaults. Having a lot of mandatory properties makes it hard to use the appliance, so keep them to a minimum. Mandatory properties should be used only in cases where no default can be defined (e.g., the target host name in output gateways).

In addition, pressing the info button button_info.gif provides a summary of the property attributes, including the property type, default, constraints and other attributes. This information is available only if the property is redirected inside the assembly.

IDEA! You can arrange the property order in the list by using the up and down buttons on the right side of the list. We recommend using the property order to make configuration more intuitive: group the more important properties at the top; arrange the properties in in a way that it will make sense to configure them (e.g., IP address, netmask and then gateway).

IDEA! Assemblies have fewer attributes required on their properties than simple appliances because most of the required information is defined automatically when the property is redirected inside the assembly. This includes the type of the property, as well as any other constraints on its value.

IDEA! If you plan to add your assembly to a catalog, you should add in this list all properties that you want to propagate to subordinate appliances, and then redirect the properties of the subordinate appliances to these boundary volumes. This way you will be able to configure different property values on each instance of the assembly. Properties that are not propagated to subordinates are ignored.

ALERT! If a mandatory property is not set or a property value constraints are not met, the application will not start. This ensures that configuration constraints are met and prevents many configuration errors from happening. AppLogic will report the name of the appliance and the property that failed the constraint check, so that you can easily locate and fix it.

IDEA! If you try to delete a property and you see the error You cannot delete this property because it is parameterized, this means that the property has a value set on the instance of the appliance (or application). Before you can delete the property, you need to clear any explicit value configured into the property. If you are editing the class of an appliance, close the Class Editor property sheet; right-click on the appliance, choose Properties, and restore the property's value to its default (see Instance Settings). If you are editing the application class, close the Class Editor property sheet; right-click on the Editor canvas, choose Application Configuration, select the Properties tab and restore the property's value to its default (see Application Configuration). After that, go back to the class editor and delete the property.

Comments and questions

 

-- BeckyH - 25 May 2006

 
Copyright © 2005-2008 3tera, Inc. All Rights Reserved.
%