It is a method for systems development and integration where functionality is grouped around business processes and packaged as interoperable services.
SOA also describes IT infrastructure which allows different applications to exchange data with one another as they participate in business processes.
The aim is a loose coupling of services with operating systems, programming languages and other technologies which underlie applications.
SOA separates functions into distinct units, or services, which are made accessible over a network in order that they can be combined and reused in the production of business applications.
These services communicate with each other by passing data from one service to another, or by coordinating an activity between two or more services. SOA concepts are often seen as built upon, and evolving from older concepts of distributed computing and modular programming.
Read the rest of the article here