SOA (Service Oriented Architecture) is a deployment methodology relying on the integration of and interaction between loosely coupled services. A SOA is built by extracting common blocks of reusable business logic and creating business services that can be orchestrated to allow users to perform business processes.
The "building blocks" of a SOA are generally accepted to be: WSDL (Web Services Definition Language), SOAP (Simple Object Access Protocol), and XML (eXtensible Markup Language).
The benefits of a well-designed SOA are businesses agility, reuse, and mitigation of risk. The downside to SOA is the increase in vulnerabilities -- SOA is vulnerable to both HTTP- and XML-based attacks -- and an increase in resource consumption. This is due to larger application messages, an increase in the number of connections (services) required, and the inherent processor- and memory-intensive nature of XML.