Es un conjunto de Principios que están asociados a la Orientación a Servicios.
Dichos principios son:
- Reusables: Cada servicio debe ser construido y diseñado pensando en su reutilización dentro de la misma aplicación, dentro del dominio de aplicaciones.
- Contrato formal: Todo servicio desarrollado,debe contener: el nombre del servicio, la forma de acceso, las funcionalidades que ofrece, los datos de entrada de cada una de las funcionalidades y los datos de salida. De esta manera, todo consumidor del servicio, accederá a este mediante el contrato, logrando así la indepencia entre el consumidor y la implementación del propio servicio.
- Bajo acoplamientos: Es decir, que los servicios tienen que ser independientes los unos de los otros. Para lograr ese bajo acoplamiento, lo que se hará es que cada vez que se vaya a ejecutar un servicio, se accederá a él a través del contrato, logrando así la independencia entre el servicio que se va a ejecutar y el que lo llama. Si conseguimos este bajo acoplamiento, entonces los servicios podrán ser totalmente reutilizables.
- Composición: Los servicios deben ser construido de manera que puedan ser utilizado para construir servicios genéricos de más alto nivel, el cual estará compuesto de servicios de más bajo nivel.
- Autónomos: Cada Servicio debe tener su propio entorno de ejecución. De esta manera el servicio es totalmente independiente y podemos asegurar que así podrá ser reutilizable desde un punto de vista de ejecución.
- No deben tener estado: No debe guardar ningún tipo de información. Puede producir una inconsistencia de datos el que un servicio almacene algún tipo de información. Lo sugerido es que un servicio sólo contenga lógica, y que la información esté almacenada en algún sistema de información.
- Poder ser descubiertos: El servicio debe poder ser utilizado, consiguiendo así evitar la creación accidental de servicios que proporcionen las mismas funcionalidades.