questionSiguiendo en la línea del post anterior, me gustaría comentar un momento qué es lo que dice le amigo Thomas Erl sobre lo definición de servicio.

En primer lugar me viene a la memoria un tweet que vi el otro día sobre la definición de recursividad: “para explicar la recursividad, primero hay que entender la recursividad”…. y me temo que en la definición de servicio le pasa un poco esto mismo… veamos por qué digo esto.

Resumiendo un poco, se dice lo siguiente:

Un servicio es la unidad más fundamental de la lógica orientada a servicios.
Una unidad de la lógica  se clasifica como un servicio cuando la orientación a servicios se ha aplicado en una manera significativa.
Soluciones orientadas a servicios están típicamente compuestas de múltiples servicios que forman una composición de servicios.

Ya sé que esto está traducido del inglés, y que en el idioma original parece mejor, pero lo que es en español… en fin 😉

Ahí va otra ronda:

Los servicios son los bloques básicos de construcción de la plataforma de computación orientada a servicios.

Esto es lo típico que se compara con las piezas de Lego…

Los servicios se diseñan de una manera muy específica, de acuerdo con el enfoque de diseño de la orientación a servicios.

Una cosa bastante obvia, pero había que decirla…

Los servicios se entregan a través de un ciclo de vida específico.

Esto es verdad, y habrá que decir cuál es el ciclo de vida de vida del servicio. Podéis ver una entrada en el blog sobre esto precisamente.

Debido a la naturaleza centrado en la empresa de la orientación a servicios y SOA, los servicios pueden ser clasificados como recursos de la empresa.

A mi parecer, otra cosa bastante obvia. Sin embargo, en ocasiones no está mal recordar a los que quieran escucharnos que los servicios web se hacen para toda la empresa, no para una aplicación en concreto. Puede que cueste más desarrollarlos pero es algo de valor que aportamos al resto de áreas o proyectos de la compañía.

Aspectos que hay que tener en cuenta en el diseño de servicios:

Es importante conocer el significado teórico, y también de aplicación práctica, de estos aspectos para el diseño de soluciones SOA.

Anuncios