In a previous post we discussed two levels of architecture description within ArchiMate: the service level describes the what and the underlying components and processes describe the how. The motivation for making this distinction was also discussed: separating the description of the functionality versus the implementation of that functionality has several advantages with respect to stability and understandability of architecture descriptions. The post ended with an option question: are two levels sufficient? In this post we will revisit that issue, starting with a second look at the example model from last time:
The application services (Register for Performance, Record Client Details,…) describe the functionality of the system. The components Concert and Collection realize these services. From an architectural perspective, one can ask if these components are the ‘best’ way to implement these services. Why only two components, why not of three, four, or five?
In this case, the answer to this question is simple. The figure describes an existing situation, which was implemented using two existing components: one that deals with administration around concerts and one that deals with financial administration. But, it remains to be seen if this is the most desirable configuration of components; whether the distribution of functionality over components is optimal. An application landscape based on monolithic components is often hard to maintain and not flexible.
So, consequently, it seems useful not only to describe the actual implementation, but design also an logical architecture, which describes an ‘ideal’ componentization of the services, considering architectural goals like flexibility, security, performance, maintainability, etc. This logical architecture forms the basis for a physical, “practical” description that is implementable.
SUBSCRIBE TO BIZZDESIGN'S BLOG
Join 10.000+ others! Get BiZZdesign's latest articles straight to your inbox. Enter your email address below: