Technology Provider Roles are used to capture a Technology Provider (Technology Product or Technology Product Build) playing the role of a Technology Component, e.g. Oracle 10g playing the role of Relational Database Management System. This tutorial introduces the Technology Provider Build, its subclasses and how to capture them.
Technology Provider Role is an 'abstract' class in the Essential Meta Model, which means that you do not directly define instances of these, rather you define instances of its sub-classes:
However, these instances can be operated on by other classes in the Essential Meta Model by treating them as the abstract Technology Provider Role class.
A Technology Provider Role defines the relationship between a Technology Provider and a Technology Component that states that the Provider can be used to fulfil the need for that Component in an architecture – effectively, it can play the role of that component.
We have not used a simple relationship between classes of technology (Technology Components) and the products (Technology Products) that we can buy because in reality a single product can provide more than one Technology Component – it can play more than one role. Some of these roles we are happy with but other roles that it could be used for may clash with our technology strategy.
The Technology Provider Role is used to define both the fact that the specific product can play the role of a component but also our strategic view of this, e.g.
As described above, Technology Provider Roles are abstract (you cannot define instances of these in the model) but has two specialisations:
The tasks of defining both Technology Product Roles and Technology Product Build Roles are the same, as follows.
If you are creating a new instance directly from a Technology Provider (Product or Product Build):
If you are creating a new instance from the class browser with Technology Product [Build] Role selected: