Essential Modelling Patterns/Definitions
What is an Architecture in Essential Architecture Manager?
The term Architecture is used frequently in Essential Architecture Manager to refer to a set of elements in the model that are being used in a certain context and have relationships defined between them. Examples of architectures include Business Process Flow definition architectures (although we call them Business Process Flows), Software Architectures, Static Application Architectures and Technology Product Builds.
The definition of an architecture brings together a number of dimensions and normally a graphical tool is provided in the form to simplify the process of defining the set of elements and relationships that are contained in the architecture in question.
The key concept in the definition of an architecture is the context that it defines. When we add elements from the model to the architecture, they are being used in the context of the architecture and that ‘usage’ is captured as a different element in the model to the ‘definition’ of the element. Relationships defined in the architecture are only valid in that context and so are defined between the ‘usages’, rather than the elements behind each usage.
Every architecture in Essential Architecture Manager is in effect a set of usages (of relevant element types) and a set of relationships between these usages.
A usage captures the context in which an element in the model is used when it plays a part in an architecture. For example:
- A Business Process is ‘used’ to perform a step in a higher-level process flow.
- A Technology Product is ‘used’ to provide a component in a Technology Product Build (a technology architecture).
The important thing to remember about usages is that they are handled separately from the element that is being ‘used’ in the model. This enables the Essential Architecture Manager to understand how an element is being used across the enterprise architecture and the dependencies that exist on that element.
However, it is important to note that this is NOT the same as a physical instance of that element.
Usages are still logical things but it is the Usages in, e.g. Software Architectures and Technology Product Build Architectures that are deployed to physical instances.
Activities in defining an Architecture
The workflow of defining an architecture is much the same regardless of the specific type of architecture you are working with. In general terms it is as follows:
- Give the architecture a description – it will be automatically named for you.
- Drag elements from the palette (the set of element types allowed for this architecture) on left and place them on the architecture canvas. You may need to drag the palette separator to the right to see these more clearly.
- Give the element a suitable name.
- Open the element, either by double clicking on it when the mouse pointer shows the ‘hand’ shape (the ‘arrow’ pointer will open the text label for editing) OR by selecting the shape (a set of re-size control points appear around it) and clicking the magnifying glass button,
- Specify which element (e.g. Business Process, Technology Component) it is that is being used
- Select an element for the ‘Usage Of…’ form field.
- Most of the other fields in the form that appears will be completed for you.
Removing Elements and Relationships from an Architecture
When working with a repository-based modelling tool, it is important to understand the difference between remove and delete from a model.
Repository tools take the safe option of removing an element from a model when the delete / backspace key is pressed with a selected element or relationship. Essential Architecture Manager takes the same approach. When you remove an element, it is no longer part of the architecture that you are working on but it is still in the overall model.
This can be useful in a variety of scenarios, e.g. it is easy to recover something that you didn’t mean to delete or you can remove things from one architecture and then add them to another. However, it can also lead to orphaned elements in the model when ‘delete’ is what was actually the required operation.
Deleting an element or relationship removes it from the architecture AND permanently removes it from the model.
To remove a relationship or element, use the remove instance buttons or, in open source, click
To delete a relationship or element, use the delete instance buttons or in open source, click
Updated 31 October 2023