All services must adhere to these principles:
Services are secure.
Services leave the system in a consistent state.
Services are thread-safe.
Services can be accessed by concurrent clients.
Services are reliable.
Services are robust.
Optional principles services should adhere to:
Services are interoperable.
Services are scale-invariant.
Services are available.
Services are responsive.
Services are disciplined and do not block their clients for long.
Avoid message contracts.