Service Oriented Architecture is a type of software architecture that is based on the principle of services. This means that the various components of the system are designed to provide services to other components of the system, and to the outside world.