If you haven't been living among the penguins in Antarctica for the last few years, you probably have already heard about Service-oriented Architecture or SOA.
Nonetheless it is still a bit dificult to find a straightforward definition on what it is... So here it goes!
SOA is a standards based approach for building application modules – called services - in a way that facilitates the integration between different applications.
From a technological standpoint there is nothing new in SOA. It's main advantage when comparing to previous approaches (like CORBA) is the fact that it is based in Industry accepted standards and as such doesn't depend on a single vendor implementation and can be widelly adopted.
SOA applications can be composed by services built with different development platforms (such as .NET or JAVA) and available in completely different locations (lets say an application running in London call a service located in a server in Taiwan that at it's turn calls another service in New York).