SOA involves exposing business functions as reusable services. This allows for greater agility, flexibility and reuse of services across different applications. SOA breaks down monolithic applications into discrete services that can be accessed over the network in a standardized way. This trend is driving the development of loosely coupled, interoperable services that can be discovered and orchestrated to meet business needs.