The process of designing a new service includes a number of steps, described
here.
About this task
The process of designing a new service consists of the following steps:
- Define Header Information
- Add Service Elements
- Define Service Properties
- Map Property Values
- Promote Operations
- Create Relationships
- Define Clusters
- Save Design
The order of individual steps can be changed, and the steps can be performed incrementally and
parallel. Also, many of the steps are optional and might not be required for the specific service
design. Each one of the illustrated steps is explained in subsequent sections.
Procedure
-
Define header information of the service descriptor.
When Create button is selected to create a new service design, the
following dialog is opened to fill in the required information.
-
Add service elements.
These can be either native components of the created service, or references to existing service
or resource instances.
-
Define service properties.
Click the assembly editing icon on the design canvas, to get an assembly
editing panel where the existing properties are listed.
New properties can be added through Add New Property option at the end of
the property list in the assembly editing panel. At start the property list is empty and only
Add New Property option is shown. Typically, the properties needed on the
service level includes two mandatory properties: deploymentLocation
and
resourceManager
. Additionally, there needs to be in minimum the element properties
that are required for the elements and not been set a value on the element level.
For each property a Property Name
must be given a value and optionally a preset
Property Value
, Default Value
and Property
Description
(Optional) can be defined. Also, the property can be tagged as
Required
and/or Locked
.
-
Map property values.
Mapping the property values is needed to define value passing between the designed service and
its components.
Property value passing is defined by combining two properties together, one as the source and
second as the target. To pass a value from one property to another, drag the source property to the
target property.
When this relation is defined the value of the source property will be passed to the target
property.
-
Promote operations.
In some cases, elements have operations to be called during lifecycle transitions. In order to be
able to use these operations on higher level services they need to be first promoted. Promoting
operations is applicable only in case you anticipate your designed service to be used as a element
in a higher level service and you want to make it public on that level.
Available Operations can be found by first selecting the symbol of the element on the design
canvas. While an element is selected, its available operations can be seen under the operations list
on the assembly editing panel. An operation can be promoted by opening the operations list,
selecting the more options menu associated to the operation, and selecting
Promote Operation option from the menu.
When you promote an operation you also need to give it a name that functions as the handle when
using the operation. This is done through the operation naming dialog.
-
Create relationships
Relationships are defined to create dependencies between service elements. Relationships between
two elements enable the requirements
of one element (known as the
target
) to be satisfied by another element providing the
capability
(known as the source
). Relationship also define
operations to be called by the source against the target element when the relationship is created or
ceased. A relationship also implies temporal dependency between the source and the target element
when they are instantiated or deleted.
To create a relationship between two elements on the design canvas, click Add
Relationship.
Configure the relationship by completing the following steps:
- Source and Target: Name the relationship, define the source and target elements, and when to
create the relationship.
- Operations: Defines the operations to be called by the source element against the target element
during creation and ceasing the relationship.
- Properties: Defining the required properties for the operations.
-
Define clusters
In order to perform scaling on a service element it needs to be defined as a cluster. By default,
clustering is not applied on an element and it needs to be separately configured. Configuring
clustering for a service element is done by selecting the element, opening the clustering section on
the assembly editing panel, and selecting edit.
Adding clustering for an element opens a dialog to configure the applicable clustering options.
-
Click Save to save the design to the orchestration catalog.