A set of principles and methodologies for designing and developing software in the form of interoperable services.