An Implementation Mechanism is a refinement of a corresponding Design Mechanism that uses, for example, a particular
programming language and other implementation technology (such as a particular vendor's middleware product). An
Implementation Mechanism may instantiate one or more idioms or implementation patterns.
Review these points when you are considering Implementation Mechanisms:
Determine the ranges of characteristics. Take the characteristics that you identified for the Design
Mechanisms into consideration to determine reasonable, economical, or feasible ranges of values to use in the
Implementation Mechanism candidate.
Consider the cost of purchased components. For Implementation Mechanism candidates, consider the cost of
licensing, the maturity of the product, your history or relationship with the vendor, support, and so forth in
addition to purely technical criteria.
Conduct a search for the right components, or build the components. You will often find that there is no
apparently suitable Implementation Mechanism for a particular Design Mechanism. This will either trigger a
search for the right product or make the need for in-house development apparent. You may also find that some
Implementation Mechanisms are not used at all.
The choice of Implementation Mechanisms is based not only on a good match for the technical characteristics,
but also on the non-technical characteristics, such as cost. Some of the choices may be provisional. Almost all
have some risks attached to them. Performance, robustness, and scalability are nearly always concerns and must
be validated by evaluation, exploratory prototyping, or inclusion in the architectural prototype.