Secciones

SOA: Bajo acoplamiento versus composición

Los principios de diseño de servicios que propone Tomas Erl en su libro "SOA: Principles of service design", habla de los siguientes principios que se deben tener en cuanta a la hora de diseñar servicios en una infraestructura SOA:
  1. Estandarización y diseño del contrato.
  2. Bajo acoplamiento.
  3. Abstracción.
  4. Reusabilidad.
  5. Autonomía.
  6. Sin estado. (Stateless)
  7. Catalogación.
  8. Composición.
En este post, voy a hablar de la relación entre el bajo acoplamiento y la composición, pero antes creo que es necesario algunas definiciones:
Acoplamiento: Unión de dos piezas o cuerpos que se ajustan perfectamente.
Composición:  Acción y resultado de componer.
Componer: Formar una cosa juntando y ordenando varias.
Como podéis comprobar en estas definiciones, ambos principios están bastante ligados, ya que tratan de temas relacionados con la unión entre componentes. Por tanto cuando se define un servicio con un grado de acoplamiento bajo, se están diseñando piezas independientes, es decir, que su grado de ajuste es mínimo.
Esta característica tiene una serie de ventajas, quizás la más importante sea que si alguno de los componentes cambia, la repercusión sobre los demás será pequeña, cosa que no sucedería si el grado de acoplamiento fuera alto.

La composición por contra, mide la capacidad de crear servicios nuevos a partir de otros. Pero si estos servicios tienen un índice de acoplamiento bajo, tendré más dificultad para componer nuevos a partir de los existentes, ya que su grado de ajuste en pequeño.

Como conclusión, cuando menor sea el grado de acoplamiento, menor será el grado de composición o al menos mayor será el trabajo que se debe realizar para componer nuevos servicios.

Espero no haberos aburrido demasiado con este tema.

Saludos,

JK

No hay comentarios:

Publicar un comentario