SOA, etapa de análisis de Servicios.

En el desarrollo de software todo el mundo sabe que existe una disciplina de análisis que tiene como objetivo lograr un entendimiento profundo de los requerimientos que en software debe satisfacer y proponer la solución a nivel conceptual que después las tareas de diseño volverán en una solución concreta, lista para ser implementada.

 Lo primero que hay que tener claro sobre el análisis de Servicios en SOA, es que el objetivo de está disciplina es obtener los Servicios Candidatos. Son sólo candidatos, porque en el contexto de integración hay muchas cosas que pueden hacer imposible que ese candidato se convierta en un servicio en producción. Por ejemplo, la tecnología de la aplicación, quien administra esas aplicaciones, conocimiento de cómo funcionan, etc.

 Segundo, existe una confusión en la definición de un servicio. Por ejemplo, Obtener el valor de la UF en un día del año ¿es un servicio? En mi opinión no lo es, sólo es una operación de un servicio. Un Servicio es una agrupación de Operaciones de Servicios. Esta agrupación que llamamos servicio es un “contexto lógico” que agrupa.

 Tercero, existe una confusión en los analistas sobre la granularidad de los servicios. Antes de todo, no existe una regla que se pueda usar para determinar la granularidad adecuada de un servicio. Pero sí existe una diferencia entre un Servicio de Negocio y un Servicio de aplicación. Un Servicio de negocio nace para satisfacer necesidades de un proceso de negocio, típicamente están ubicados en el bus de servicios y son implementados usando lógica de una o más aplicaciones. Los Servicios de Aplicaciones nacen con un objetivo distinto, apoyar con lógica de esa aplicación a un servicio de negocios. Estos servicios son acotados al contexto de la aplicación.

 Después de revisar estos tres puntos fundamentales, se tiene una base para poder revisar el análisis de los servicios de negocio dentro de una iniciativa SOA.

 Análisis de servicios, pasos fundamentales.

 Cuando se están modelando los servicios de una arquitectura orienta a servicios es fundamental abstraerse de los sistemas y aplicaciones existentes. Primero es lo primero, ¿por qué está implementando SOA? No es por iniciativa de los Developer que aprendieron ha hacer servicios Web. La razón fundamental es agilizar la implementación de procesos de negocio.

 Por eso, hay que partir con la definición de los requerimientos de negocio. Esto quiere decir que se debe seleccionar el proceso de negocio a implementar. Además de seleccionar, se debe tener bien definido y documentado este proceso de negocio que sea información útil para la definición de servicios candidatos.

 Después de tener el requerimiento de negocio “identificado”, se deben descomponer el proceso para encontrar los “actores” de este proceso. Los actores del proceso son todos los sistemas, aplicaciones y personas que actúan en el proceso. En este punto no es el objetivo identificar servicios de aplicación cadidatos, solo identificar actores.

 Siguiendo estos dos pasos previos ya se cuenta con las necesidades del negocio y los actores que deben ser incluidos en el análisis de los servicios candidatos. Es ahora que se comienza con el modelamiento de los servicios candidatos.

 Este paso tiene como resultado dos entregables concretos:

Ø      Identificación de Operaciones de Servicios de Negocio Candidatos

Ø      Agrupación de las operaciones en Servicios de Negocio Candidatos.

 En resumen los pasos a seguir el análisis orientado a servicios son:

  1. Definición de los requerimientos de negocio.
  2. identificación de los actores.
  3. Modelado de Servicios Candidatos.

 Modelado de Servicios Candidatos.

 Este punto es el núcleo del trabajo del análisis SOA, ya que pone foco en la generación de los Servicios Candidatos. Los pasos anteriores también son parte del análisis de cualquier sistema, mientras que este es especifica de un proyecto SOA.

 [Continuará en el próximo POST]

3 pensamientos en “SOA, etapa de análisis de Servicios.

  1. Juan Pablo

    Hola Carlos,
    El tema de modelado de servicios está muy bien tartado en el el libro de clásico de Thomas Erl llamado “Service-Oriented Architecture: Concepts, Technology, and Design”
    Ahí en la parte IV, capítulos 10, 11 y 12 puedes encontrar una excelent guía.
    Salu2

    Responder
  2. yisy

    Si usted pudiera brindarme algo de informacion sobre como identificar funciones a partir de aplicaciones existentes para convertirlos en servicios candidatos y luego armar un soa. En fin como identificar servicios candidatos pero todo a partir de un enfoque bottom- up

    Responder

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s