An implementation mechanism is a refinement of a corresponding design mechanism, using, 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.
The following points should be reviewed for implementation mechanisms.
Determine the ranges of characteristics. Take the characteristics identified for the design mechanisms to
determine reasonable, economical, or feasible ranges of values to use in the candidate-implementation mechanism.
Consider the cost of acquisition for purchased components. For candidate implementation mechanisms, consider the
cost of acquisition or licensing, the maturity of the product, relationship with the vendor, support, etc. 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 some design mechanisms; this will trigger a search for the right
product, or identify the need for in-house development. 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.
|