This paper attempts to solve a very relevant and important problem. It is critical to correctly architect a system, but even more critical to implement a system that complies with its architecture. What is the point of making a great architecture if the implementation does not follow it? I cannot count how many times I discussed with my colleagues about violations of architecture that are a direct consequence of the separation of the architecture from the implementation. Even when inconsistencies are found between the implementation and the architecture, both are updated separately leaving room for inconsistencies. ArchJava presents a very interesting idea that unifies implementation and the architecture to ensure that the implementation conforms to the architecture.
I really like the section about ensuring communication integrity among the components. I think that is one of the most common violation. It is very easy to add calls to methods from different components without making sure it is allowed by the architecture. It is a great feature to be able to detect any such communication integrity violation and decide if the architecture should be updated or the dependency removed. The author pointed out the limitation in detecting the communication violation because they considered only methods calls. I believe it is not a big deal for many java applications because method calls are the most common inter-components communication mechanisms.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment