1. SOA stands Service Oriented Architecture.
2. SOA is not a specific technology, nor a specific language. It is just a blueprint, or a system design approach.
3. The key concepts of SOA are services, high interoperability and loose coupling.
4. SOA states that every component of a system should be a service, and the system should be composed of several loosely-coupled services.
5. A service means a unit of a program that serves a business process. A service is typically hosted on a remote machine (provider), and called by a client application (consumer) over a network. After the provider of a web service publishes the service, the client can discover it and invoke it. The communications between a web service and a client application use XML messages.
The client application is unaware of how the service is implemented, or of the signature that should be used when interacting with those services. The client application interacts with these services by exchanging messages. What a client application knows now is only the interfaces, or protocols of the services, such as the format of the messages to be passed in to the service, and the format of the expected returning messages from the service.
6. Web services are the most popular and practical way of realizing SOA. Each web service has a unique URL, and contains various methods. When calling a web service, you have to specify which method you want to call, and pass the required parameters to the web service method. Each web service method will also give a response package to tell the caller the execution results.
7. "Loosely-coupled" means that these services should be independent of each other. A change to one service does not affect any other service. Also, the deployment of a new service does not affect any existing service. This greatly eases release management and makes agility possible.
8. As OOPs replaced various procedural techniques, SOA replaced various existing communication technologies like RPC, DCOM, and CORBA