SOA encourages units of logic to exist autonomously yet not isolated from each other. In SOA the units of logic are known as "services".
The automation logic components used by SOA comprise of:
1. Messages: which represent the data required to complete some or parts of a unit of work.
2. Operations: which represent the logic required to process messages to complete a unit of work
3. Services: which represent logically grouped set of operations capable of performing related units of work.
4. Processes: which contain and define the business rules that determine which service operations are used to complete a unit of automation. Instances of processes wherein a group of services follow a particular path through the process logic to complete a task are known as activities.
Key principles in SOA are:
- Autonomous services
- Loosely coupled services
- Services abstract underlying logic
- Composable services
- Formal contracts to define information exchange between services
- Reusable services
- Stateless services
- Discoverable services