Service Designer

The Service Designer is a toolset for service developers to design new services and their components as well as define behavior test scenarios for various testing, verification and diagnostics purposes.

Assembly Descriptors

When opening the designer, the first view is the “Assembly Descriptors” listing all available descriptors that can be selected to be edited in the designer. The descriptors can define a top-level network service, a service segment or a VNF (Virtual Network Function).

At the top of the page is a search bar that allows Assembly Descriptors to be filtered by name. Partial name filtering is supported. The results panel below the search bar will automatically update as you enter the characters of the name. There is no need to click on any filter icon.

Beneath the search/filter bar is the list of matching Assembly Descriptors. Each Assembly Descriptor is shown on a separate line with the following information:
  • Name
  • Version
  • Description
  • “Open” button
  • Ellipsis (“…”) to access further Assembly Descriptor actions (for example, Delete)

Currently it is not possible to sort the contents of the Assembly Descriptor list.

There is also a possibility to create a completely new service design by clicking the “Create” button in the top right corner of the page.

Designer: Composition View

In the Assembly Designer, there are two main views: “Composition” tab showing service composition with service elements including their properties and relationships and “Behavior Testing” tab for designing, viewing, and executing testing scenarios. Toggling between these two views can be done using the tab labels at the bottom of the page.

The main part of the “Composition” tab is the design canvas presenting the service elements and their relationships. To the right of the design canvas there is a collapsible right-hand panel allowing the properties and relationships of the currently selected element to be viewed and modified.

The right-hand properties and relationships panel is collapsed/expanded by clicking on the 3 horizontal line “Menu” icon to the right of the “Save” button or by using the key combination <Ctrl> + <Shift> + 2.

When in view the right-hand properties and relationships panel contains individual collapsible sections for Properties, Relationships, Operations, Metrics, Clustering and Healing. These sections will only be shown if they are applicable to the service loaded into the Designer so you may only see a subset of these. The collapse/expand state of these panes within the panel is toggled by clicking in the header bar of each pane. In the darker header area of the properties and relationships panel is the name and description of the selected element. The description can be updated by clicking on the pencil icon shown to the right of the description text.

The contents of the lower portion of the properties and relationships panel can be scrolled independently of the design canvas. This is achieved either using the scroll wheel of the mouse or by dragging the slim scrollbar shown on the very right of the panel.

A new property can also be created from within the properties and relationships pane by scrolling down to the bottom of Properties pane and clicking the “+ Add New Property” link.

To provide even more space for the design canvas the left-hand navigation menu can also be collapsed out of view by clicking the “X” symbol in the top right-hand corner of the navigation menu. Doing so will display a 3 horizontal line “Menu” icon in the top left of the Designer canvas. Click this icon to bring the navigation menu back into view.

On the design canvas the contents of the current view can me moved by clicking in any empty part of the canvas and dragging the mouse whilst keeping the mouse button pressed.

You can zoom in/out of the service design using the scroll wheel of your mouse.

A service element can be selected by simply clicking the element symbol on the canvas. Once selected the element will be expanded automatically and the right-hand properties and relationships panel will be brought into view if it is not already visible.

To collapse an expanded service element simply click on the small up arrow enclosed within the colored semicircle in the middle of the bottom bar of the expanded element border.

New elements, either assemblies or external references, can be added to the design by clicking the “Add Element” button at the top of the design canvas.

Saving changes to the design is done by clicking the “Save” button in the design canvas header bar, which saves the current design to the IBM® Telco Network Cloud Manager - Orchestration catalog.

Properties of the service can be edited through the right-hand panel of the designer. New relationships can also be introduced by connecting the dots attached to opened element symbols on the design canvas.

For consistency, changes can be made only to the opened design (assembly). This includes the properties of the opened service itself and the relationships between its comprising elements. The assemblies that are defined as elements of the service cannot be changed without opening them to the designer independently.

Designer: Behaviour Testing View

In the Assembly Designer, there are two main views: “Composition” tab showing service composition with service elements including their properties and relationships and “Behaviour Testing” tab for designing, viewing, and executing testing scenarios. Toggling between these two views can be done using the tab labels at the bottom of the page.

The Behaviour Testing view is itself made up of three different pages/views which are selected using a further set of tabs shown at the top of the page:
  • Assembly Configurations – defines an Assembly Descriptor configured with specific property values to be used in a Behavior Test Scenario.
  • Scenarios – set of individual Behavior Tests.
  • Results – outcome of running Behavior Test Scenario(s)
Assembly configurations
In order to use assemblies in behavior testing scenarios, either in the role of Service Under Test, or as a test setup, requires the corresponding assembly configuration to be made on the “Assembly Configurations” page of the Behavior testing tool. This is the page that you will see by default when clicking on the “Behavior Testing” tab. Existing assembly configurations are listed on the page and can be opened for editing or deleted from the “more options” menu (accessed by clicking on the ellipsis icon “…”) at the end of the corresponding row. A new assembly configuration can be created by clicking the “Create Assembly Configuration” button above the list of existing assembly configurations. The assembly configuration defines the assembly descriptor to be used, a name and a description of the configuration, as well as property values to be used when instantiating an assembly based on the configuration.
Scenarios
Defined testing scenarios are listed on “Scenarios” page of the Behavior Testing tool. The available Behavior Test Scenarios are presented in a list displaying the following information for each Scenario: • Scenario Name • Description of the Scenario • Number of stages within the Scenario The list is presented sorted alphabetically by Scenario name. It is currently not possible to change this sort order. A scenario can be opened for viewing and editing by clicking the associated “Open” button. Editing the name or description of the scenario or deleting a scenario can be done through the “more options” menu (accessed by clicking on the ellipsis icon “…”) at the end of the corresponding row. Creating a new testing scenario can be done by clicking the “Create Scenario” button above the list of existing scenarios.
Results
The “Results” page of the Behaviour testing tool shows a summary of results of the latest testing scenario executions. The available results are presented in a list displaying the following information for each execution:
  • Scenario Name
  • Description of the Scenario
  • Date and time the Scenario was executed
  • Overall result of the Scenario execution
Further details of each execution can be viewed by clicking the “Open” button on the corresponding row. The “more options” menu (accessed by clicking on the ellipsis icon “…”) allows an execution to be removed from the list.
Test Scenario Design
The Scenario Design page allows editing of an existing scenario or designing a completely new Behavior Test Scenario. Scenario design can be accessed through the Scenarios page of the behavior testing tool either by clicking the “Create Scenario” button to create a new scenario or clicking the “Open” button to edit an existing one.
To maximize the space available to create new test scenarios the Scenario Design page does not show the “Assembly Configurations”, “Scenarios” and “Results” tab navigation under the header bar. To return to the list of available test scenarios you need to click on the left pointing arrow shown to the left of the test scenario name in the Scenario Design header.
A Behavior Test Scenario comprises:
  • An Assembly against which the test is to be run
  • A list of sequential test “stages” that are configured to perform specific actions
The Scenario Design page comprises of a design area showing the detailed definition of the designed test scenario and a right-hand panel called “Scenario Palette” providing access to available types of test stages that can be included in the test scenarios.
The available test stages are organized into several categories:
  • Assembly Configuration
  • Assembly Events
  • Intent Engine
  • Intent Requests
  • Metric Assertions
  • Metric Definitions
  • Metric Recording
  • Utilities
The contents of each category can be viewed by expanding the category section in the right-hand Scenario Palette. The expand/collapse state of the test stage categories is changed by simply clicking the category name.
The individual test stages are written to support Behavior-Driven Testing and use the Gherkin-like “Given – When -Then” structure. They are deliberately designed to be human-readable.
New test stages are added to the scenario by drag-and-drop from the Scenario Palette to the design area. The detailed definition of the test stages is completed in the design area by filling in the text boxes and selecting the applicable options from drop down menus.
The current scenario design can be changed by clicking the “Save” button on top of the design area. Clicking the “Run Scenario” button will start execution of the scenario and opens a view to see the step by step progress of the test.
When a scenario is executed it is added to the list of executions on the “Results” page and corresponding test results can be viewed by opening the execution.