Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Describe TOSCA modeling fundamentals and how Winery visualizes them, to provide a basis for understanding the new functionality described below.

The basic elements of a TOSCA design are illustrated in the diagram below, taken from the TOSCA 1.0 specification. A service template contains all the type definitions required by the design plus a topology template. The topology template consists of a set of nodes (or node templates) and relationships (or relationship templates) between those nodes. The topology template represents the structure of the service as it will be deployed. The nodes are abstract functional blocks, representing such things as software applications, libraries, virtual machines (or other "compute" nodes), and so on. Relationships describe dependencies between nodes, which can encompass network connections and APIs, and also such things as which host runs a given piece of software.

Image Added

Diagram from http://docs.oasis-open.org/tosca/TOSCA/v1.0/os/TOSCA-v1.0-os.html

Relationships connect a requirement from one node to a capability on another. All of these entities: nodes, requirements, capabilities, and requirements, have types which can define their properties, attributes, and behaviors (i.e. scripts executed when certain events, such as starting the service, occur).

Eclipse Winery supports creating and editing the various type entities used to create service templates through a graphical interface. It also provides a visual topology template editor where the nodes and relationships can be manipulated, as shown below.

Image Added

Screen capture of the Eclipse Winery topology template editor

Note that in order to keep a service template from becoming unmanagably large and complex, a service template can include groups of types by reference from other files. Eclipse Winery manages every node type and relationship type as a separate file, included in the service template by reference. When a service template is packaged in a CSAR (cloud service archive) file, all the files referenced by the service template are also included in the archive.

TOSCA has a concept of node substitution, where a node in a service template can be programatically replaces replaced by a group of nodes and relationships (effectively a different service template, but one which defines substitution mappings, external interfaces for the substitution service template that map to the capabilities and relationships of the node they replace). This closely resembles the idea of components which will be described below. Where possible, we hope to make use of the syntax and concepts already developed as part of node substitution to implement support for components. We may even find that node substitution with only minor extensions can be applied directly to support components. Eclipse Winery does not directly support creating or manipulating substitutions at this time. This is an area for ongoing investigation as part of this year's development process.

...