Google

viernes, agosto 18, 2006

Modelado de servicios

Después de todos los artículos del blog, una cosa ha quedado clara: "una aplicación SOA está formada por un conjunto de servicios interconectados cuyo objetivo es automatizar uno o varios procesos de negocio".

Por tanto, a la hora de construir una aplicación SOA, el elemento sobre el que debemos enfocar nuestros esfuerzos es el concepto de servicio. En este punto surgen una serie de preguntas:
  • ¿Cómo puedo saber cuántos servicios se deben crear?
  • ¿Qué tipos de servicios existen?

La primera pregunta es demasiado compleja para contestarla en un solo artículo. Por tanto, me centraré en la última.

¿Qué tipos de servicios existen?. Esta pregunta se la hace todo desarrollador a la hora de enfrentarse a una aplicación SOA. Existen varias clasificaciones dependiendo de su autor. A mí me gusta la más simple, porque a la vez me parece la más práctica para tener una visión general de una aplicación SOA.

Existen básicamente tres tipos de servicios, dividos en base a sus funcionalidades:

  • Servicios controladores: Son los encargados de recibir las peticiones de los clientes y realizar las llamadas necesarias a otros servicios (en la secuencia adecuada) para devolver una respuesta. Es decir, son los servicios encargados de coordinar al resto de servicios. Si analizamos bien este tipo de servicios, nos daremos cuenta de que representan a los procesos de negocio que queremos implementar, ya que un proceso de negocio no es más que un conjunto de tareas ejecutadas en una determinada secuencia para obtener un objetivo.
  • Servicios de negocio: Son los servicios que representan una tarea de negocio, y que forman parte de un proceso de negocio. Este tipo de servicios suelen ser poco reutilizables porque están orientados a resolver una tarea muy puntual.
  • Servicios de utilidad: Son aquellos servicios que se caracterizan por representar una tarea altamente reutilizable. Existen dos tipos, los servicios orientados al negocio que representan una tarea de negocio altamente reutilizable entre aplicaciones y los servicios tecnológicos encargados de encapsular una determinada tecnología y por tanto altamente reutilizables (ej: servicio de acceso a bases de datos relacionales).

con lo cual, una aplicación SOA la podemos dividir en tres capas. La capa de recepción de peticiones (servicios controladores), la capa de tareas (servicios de negocio) la capa de lógica reutilizables (servicios de utilidad).

8 Comments:

At 7:58 p. m., Anonymous Anónimo said...

¿Me podrías indicar referencias de este modelado de los servicios?

Gracias.

 
At 1:03 a. m., Blogger Antonio Barco said...

Una referncia clara es el libro de Thomas Earl llamado "Service-Oriented Architecture (SOA): Concepts, Technology, and Design". En él explica este modelado incluso con un ejemplo. Pero para ponerlo más claro y sencillo, este tipo de modelado no es mas que aplicar el famoso Modelo Vista Controlador, quitando lógicamente la parte de la Vista.

 
At 11:41 a. m., Anonymous Anónimo said...

Muchas gracias.

 
At 12:02 a. m., Anonymous Anónimo said...

Hola amigos, podrian mensionar alguna metodología destinada para
realizar o implemnetar SOA.

 
At 8:15 p. m., Blogger Zapatería Victoria said...

Muchas gracias por todo el material que brindas en tu blog... a mi me ha sido de muchísima utilidad para entender que es SOA, está bastante aterrizado y da una idea muy clara de su enfoque y alcance.

 
At 1:38 a. m., Anonymous Anónimo said...

hola, podrian mensionar en que clasificacion entran los servicios web

 
At 5:26 p. m., Blogger nachokhan said...

Hola! Antes que nada, quería felicitarte y agradecerte por este blog. De no tener idea, me ha abierto muchísimo la cabeza.

En realidad, tenía una duda que iba a preguntarte, pero ya me la respondí solo ;)

Muy buen blog!! Saludos!

 
At 7:25 p. m., Blogger rlsalgueiro said...

podrían mencionar alguna metodología utilizada para aplicaciones con arquitectura orientada a servicios (SOA).

 

Publicar un comentario

<< Home