Thomas Erl was the first to establish SOA principles. Any excellent architecture that uses SOA design to develop its goods and services must adhere to these eight principles:
-
Standardized service contract: Services abide by a communications agreement, as described by one or more service-description papers collectively.
-
Service loose coupling: Services maintain a connection in which dependencies are minimized and just mutual awareness is required.
-
Service abstraction: Services conceal logic from the outside world beyond the descriptions in the service contract.
-
Reusability of services: Logic is separated into services in order to encourage reuse.
-
Autonomy of services: Services are in charge of the logic they contain.
-
Service statelessness: Services save resources by delaying the maintenance of state information until it is absolutely essential.
-
Service discoverability: Services are augmented with communicative metadata that allows them to be discovered and comprehended more efficiently.
-
Composability of services: Services are effective composition participants, regardless of the composition’s size or complexity.