Application Technology Architecture
Application Providers have Technology Architectures that describe the technology that is required and how that technology is provided. This tutorial describes how the Technology Architecture of an application is captured in Essential Architecture Manager.
To completely capture the full picture of an application’s technology architecture, including the physical server devices that support it, the logical and physical technology architectures used by the application must be captured.
To fully (logical and physical) define the technology architecture of an application means capturing the following elements:
- The Required Technology Capabilities of the application
- The High-Level Software Architecture of the application
- The Technology Composite with which the application is ‘Implemented With Technology’
- The Technology Builds that provide this Technology Architecture
- The Application Deployments for the application (e.g. development, test, production)
- The physical Technology Node(s) on which the following are deployed
- Application Software Instances – deployed instances of the Application Deployment
- Infrastructure Software Instances – deployments of the Technology Products used in the Technology Product Build
Technology Product Build Roles are introduced to reflect the fact that a particular configuration of Technology Products can be used to play more than one role. The Technology Product Builds are logical elements that describe a template or design of a technical architecture. What this means is that we can re-use Technology Product Builds in different scenarios – have them play more than one role in the architecture – reflecting the reality of technical architecture.
Workflow of Capturing the Technology Architecture of an Application
In the section above, we defined the background to how we relate technology to applications. Now we will review the Workflow for modelling this using the modeller in Essential. In fact, there are a number of different workflows for defining this, e.g. someone else in the architecture team may define the Technology Architectures and you could simply pick them from existing elements in the model rather than having to define them. However, this workflow assumes that everything must be created as we proceed through the process but identifies separable activities that could be performed by a team of architects, each with particular areas of expertise and focus.
Taking a top-down approach, we start this workflow at the Application Provider instance that represents the application in question.
In summary, the high-level workflow is as follows:
- Define the Required Technology Capabilities for the application
- Define the High-Level Software Architecture of the application
- Define the Technology Architecture of the application (using the ‘Implemented with Technology’ form field)
- Define an Application Deployment for each deployment of the application, e.g.
- as required
- Deploy instances of the Application Deployment to Technology Nodes (e.g. physical servers) as required
In detail, the steps of the workflow for capturing the technology architecture of the application are:
- Define Required Technology Capabilities for the application
- From the Application Provider instance’s form, in the field ‘Required Technology Capabilities’ click Add Instances and select Technology Capabilities from the model as required.
- Define High-Level Software Architecture of the application
- From the Application Provider instance’s form:
- Create a new Software Architecture Instance, this will open a new dialog window Software Components
- Define the Software Architecture – see: Define Software Architecture
- Define the Technology Architecture of the application
- From the Application Provider’s instance form:
- Create a new Technology Architecture instance from the ‘Implemented with Technology’ field; this will open a new dialog window.
- Select or define the Technology Composite – see: Define Technology Composite and Define Technology Component
- Deploy Technology Architecture to Technology Nodes
- Ensure that the target Technology Nodes are defined in the model
- From each Technology Product Build (e.g. Production, Test, Development) as required, deploy instances of Technology Products to the Technology Nodes – see: Deploying Technology Products to Technology Nodes.
- Define Application Deployments
- Define an Application Deployment for each instance of the application, e.g. Test, Production or QA – see: Define Application Deployment
- Deploy Instances of Application Deployment to Technology Nodes
- Deploy instances of each Application Deployment to the relevant Technology Nodes, e.g. physical servers – see Deploying Applications to Technology Nodes
Updated 31 October 2023