Provides a set of principles of governing concepts used during phases of systems development and integration. Such an architecture packages functionality as interoperable services: software modules provided as services can be integrated or used by several organizations, even if their respective client systems are substantially different. It is an attempt to develop yet another means for software module integration. Rather than defining an API, SOA defines the interface in terms of protocols and functionality. An endpoint is the entry point to an SOA implementation.