An architectural style that structures an application as a collection of loosely coupled services.