Autonomía de los servicios

por

Principio SOA 5 – Los Servicios ejercen un alto grado de control sobre su entorno de ejecucion subyacente

 

Autonomía.

Volvemos a la carga con este quinto principio SOA: autonomía.

 

A grandes rasgos, este principio viene a decir que un servicio no puede contener lógica que dependa de nada externo al propio servicio, ya sea un modelo de datos, un sistema de información, o cualquier otra cosa.

 

La necesidad de esta autonomía viene impuesta en gran medida por la reutilización. No podemos esperar que un servicio sea reutilizable si su lógica está acoplada de alguna manera a algún otro artefacto externo al servicio.

 

Como veis, ya han aparecido dos principios que hemos visto en esta serie: reusabilidad y bajo acoplamiento.

 

Pero también está relacionado con el uso de estándares (primer principio SOA). Es este uso de estándares el que proporciona autonomía a los servicios. La alternativa a los estándares pasa por usar definiciones propietarias, a medida, y eso supondría depender totalmente de una implementación particular, y por tanto lastraría tremendamente a ese servicio para futuros usos.

 

Este principio SOA seguramente es uno de los más escurridizos, de los más difíciles de garantizar. Requiere un importante esfuerzo de gobernanza, ya que hay muchas maneras de introducir presuntas mejoras, evolutivos, incluso supuestos correctivos en los servicios, que en realidad están degradando su autonomía, y por tanto la calidad del servicio.

 

Nos referimos a situaciones en las que, por ejemplo, el sistema proveedor del evento solicita un cambio en el servicio por un cambio en su lógica, o en su modelo de datos… a veces presentan esa necesidad como una «necesidad del negocio», en un intento por convencer a la organización de su orientación SOA.

 

Estos casos requieren una importante solidez a la hora de mantenerse fieles al negocio, únicamente al negocio, y no a las consideraciones tecnológicas ni funcionales de ningún sistema. No olvidemos que ese sistema provee ese servicio únicamente de forma circunstancial, para esa implementación. Pero ese mismo servicio puede servirnos en otros escenarios (puede y debe), y será usado por otros sistemas. La autonomía es fundamental para lograr este nivel de reutilización.

 

Los límites de la autonomía de los servicios.

Otra reflexión que creemos interesante sobre el principio de autonomía, se refiere a sus límites. Los límites de la autonomía tienen relación con los límites del servicio, cuando éstos son también los límites de la organización.

 

En las situaciones en que un servicio sea disparado desde una organización externa, es legítimo (e inevitable) adaptar nuestra interfaz a lo que determine esa organización que provee el evento.

 

En estas situaciones «fronterizas» no tenemos más remedio que asegurar que nuestro servicio cumple lo que especifica la organización a la que pertenece. Con suerte la gobernanza puede lograr que esa organización se alinee con algunas directrices, estándares, etc. Pero en general dependerá de cada caso y de la relación jerárquica o no que exista entre ambos organismos (por ejemplo, dos ministerios, dos gobiernos regionales, un ministerio y la consejería regional, etc, etc).

 

Por último, no olvidemos que los servicios deben ser capaces de trabajar juntos para formar servicios compuestos (uno de los principios que nos queda por ver). Sin el principio de autonomía, no podríamos componer servicios de orden mayor, puesto que heredaríamos las dependencias de cualquiera de los servicios que usemos en la composición.

 

Sin este principio, de hecho, no podemos ni siquiera garantizar el funcionamiento de nuestro servicio. No se me ocurre nada más básico que eso.

 

Te puede interesar

0 comentarios

Enviar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Sigueme en las redes

Share This