20120103-224225.jpg
Entre los objetivos del gobierno SOA está el definir y cumplir el ciclo de vida de un servicio. Mediante el gobernance debemos tener muy claro cuándo un servicio se pone a disposición de sus clientes potenciales, cuando se retira el servicio de uso y por supuesto, antes de todo esto: cuando nace un servicio.Y por nacimiento no nos referimos a cuando se implementa y se publica, sino a mucho antes en su ciclo de vida.

Este nacimiento deberemos situarlo en el análisis funcional del proyecto. En el momento mismo en que detectemos una necesidad funcional para el negocio, cuando nos encontramos con una funcionalidad concreta que hay que crear porque no existía previamente.

Para crear este servicio en el repositorio de servicios simplemente debería bastar con una descripción de su funcionalidad y sus requisitos (que se obtienen del análisis funcional).

No es necesario por lo tanto implementarlo, ni siquiera tener en el descriptor del servicio (WSDL si se implementa mediante web services).

¿Por qué crearlo en la fase de análisis?

Como es sabido, los servicios no sólo sirven para nuestras propias aplicaciones, tienen que servir para toda la compañía. Si ésta se suficientemente grande, habrá varios equipos de desarrollo en paralelo acometiendo distintos proyectos y en distintas fases del mismo.

Normalmente estos proyectos están circunscritos a una funcionalidad concreta como la gestión de los clientes o la gestión de cuentas corrientes. Sin embargo puede hacer otros servicios compuestos con una funcionalidad más “cross” que incluya dos o más de estas áreas funcionales. En este caso es muy recomendable dar de alta el servicio en el directorio o repositorio de servicios que estemos usando para que otros equipos pueda saber que ese servicio se va a construir, que alcance funcional va a tener, fechas de disponibilidad, responsable, etc. etc. Además de servir para la propia planificación y gestión de dependencias del proyecto servirá incluso para evitar que un servicio se haga por duplicado por dos equipos diferentes.

Como vemos además es imprescindible disponer de un directorio de servicios donde podamos buscar por nombre, área funcional, descripción funcional, etc.para saber si ese servicio ya existe en la compañía. También servirá para avisarnos de posibles cambios y evoluciones del servicio, para poder pedir peticiones de aplicación de la funcionalidad al responsable funcional, etc. etc. Un elemento imprescindible en un arquitectura SOA y no sólo en runtime (también durante las fases de análisis y diseño).

Conclusión

Usar un directorio o repositorio de servicios y darlos de alta durante la fase de análisis del servicio

Anuncios