SOA is an architectural style of services and not a technology or any programming language. It defines standards and ways to design and develop a service.
Service is the logical representation of repeatable business activities* that have a specified outcome. It is self-contained, Provides guidelines to combine a service with other services. It is also an abstract or black box to the consumer who consumes it.
*The following are a few examples of business activities with specific outcomes:
- Get city's weather report
- Get stock quote of given stock code
- Get hotel booking details by booking ID
- Get user profile information for given user ID
In short, SOA is essentially a collection of services, and those services communicate with each other, and a service is an operation or a function that is well-defined, self-contained, and independent of other service contexts...