My post “Towards Architecture-aware Dependency Metrics” was focused on dependencies between classes and modules in object oriented programming languages. But the idea of analyzing dependencies and classifying them as either “good” or “bad” can be applied to SOA artifacts as well.

For example, your target architecture might distinguish between the concepts of “Adapter Services”, and “Business Services”. And might want to enable Adapter Services to call Business Services and vice versa, but you might not want Adapter Services to call each other. By making rules like these explicit and mapping your implementation artifacts to elements of an architecture definition, you could automatically find architecture violations. But I am not aware of any tool supporting this kind of analysis. Determining and visualizing SOA artifact dependencies can be seen as a first step towards such a tool.