Metamorfosis

En alguna entrada anterior, he escrito sobre el ciclo de vida de un servicio. Aunque básicamente se tienen las mismas fases o etapas  y podemos tener una plantilla ejemplo de cómo sería este ciclo de vida, cada empresa podría añadir o quitar algunas de ellas para adaptarla mejor a su modo de hacer las cosas.

Sin embargo, y al hilo de esto, conviene recordar que una de las cosas que hay que tener en cuenta son las versiones de los servicios.

Captura de pantalla 2014-03-04 a la(s) 21.30.38

En este gráfico se muestran unas fases típicas en la vida de un servicio, en la primera versión “V1” desde su identificación hasta su baja con los roles que intervienen en las mismas.

Cuando un servicio llega al fin su vida útil, al contrario de lo que pasa con los programas “tradicionales”, normalmente no se sustituye una versión por otra en producción. Es muy posible que ambas versiones (o n versiones) tengan que convivir a la vez en producción.

Habitualmente esto se debe a que el servicio sufre un cambio en el contrato que lo hace incompatible hacia atrás. Como no podemos cambiar el contrato porque eso afectaría a los clientes actuales, se hace una nueva versión (con el nuevo contrato) y se pone también en producción.

Quizás optemos entonces por dar un periodo de gracia más o menos largo para que los clientes tengan tiempo a adaptarse al nuevo contrato.

Hay que tener en cuenta por lo tanto, que desde el principio tenemos que gestionar diferentes versiones de un mismo servicio, con todo lo que ello implica respecto a los procedimientos a seguir y a las personas que intervienen de una u otra forma en su ciclo de vida.

Captura de pantalla 2014-03-04 a la(s) 21.30.50

En resumen, la gestión de los versiones de los servicios es una de esas cosa que vemos obvias pero que luego, no sé por qué, es posible que se nos “olvide” cuando hagamos un proyecto SOA. Hay que tener cuidado con esto.

Anuncios