Software Components

7 min

Software Components

Software Components are deployed to Application Deployments in the Physical View of the Application Layer in the Essential Meta Model. This tutorial describes how usages of Software Components are packaged and deployed into Application Deployments in Essential Architecture Manager.


Software Components are used in the high-level software architecture of an Application Provider to capture the major software elements used to deliver the application. As these are Software Components in the context of an architecture, it is the Software Component Usages that are deployed to the Application Deployment.

Software Components in Essential Architecture Manager are captured to provide the architectural view of the software elements used to deliver an application. Detailed software design modelling, e.g. using UML, is handed over to software engineering tools.


To deploy Software Component Usages:

  • Ensure that the target Application Deployment has been created.
  • From the Software Architecture of the application in question, select each Software Component Usage and select the target Application Deployment from the ‘Software Physical Deployments’ field

Software Architectures

Software Architectures in the Essential Meta Model are used to capture the relationships and dependencies that exist between the main software components of an application. This short tutorial introduces Software Architectures and describes how to capture them in Essential Architecture Manager.


Application Providers have a high-level software architecture defined against them to capture the relevant software components – and the dependencies between them – that are used to deliver the application.

Software Architectures focus on capturing the architectural view of the application. Detailed software design is handed over to software engineering tools


Creating a Software Architecture is like creating any other architecture in Essential:

  • Drag a new Software Component Usage onto the canvas
  • Open it and select the Software Component that this is a usage of.
  • Drag from one Component to another on the canvas to create dependencies between Software Components in this architecture.

Application Software Components

Software Components, in the Essential Meta Model, capture the major or important elements of software that provide the functional behaviour of applications. This short tutorial introduces Software Components and describes how they are defined in Essential Architecture Manager.

Each Application Provider has a High-Level Software Architecture in Essential Architecture Manager, which relates the Application Provider to the Software Components that it is made up of. Each Application Provider should have at least one Software Component defined in this High-Level Software Architecture.

Software Components can be captured at a very coarse grain – e.g. it is perfectly valid for an Application Provider to have a High-Level Software Architecture that has a single Software Component in it.

Software Components and the focus on capturing the architectural view of the software components. Detailed software design is handed over to software engineering tools


Software provides the link between Applications and Technology, delivering functional behaviour and running on a specific technology.

Software Components capture the relevant software elements that must be managed in the Enterprise Architecture. For many packaged application solutions, we capture a single Software Component for that package – treating it as a black-box. For more complex packaged solutions you may wish to capture the major moving parts as separate Software Components.


To define a Software Component:

  • Give the component a name and description
  • Specify the relevant software architecture layer that this component operates in
  • Specify the software run time technology of the component, e.g.
    • Java JVM
    • .NET framework
  • Specify the Technology Product that tells the model where this Software Component comes from in the case of packaged solutions.
  • Specify the invocation protocol if appropriate
  • Specify the application functionality that this software component provides by selecting the relevant Application Function Implementations.

Updated 5 December 2023

Contact Us