Separation of concerns : breaking a system into distinct features that overlap in functionality as little as possible. This allows services to be commonly used and combined within different business processes. Thus, distinct components processing information independently can be utilized in other domains as well.