"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, divididos
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).

No hay comentarios:
Publicar un comentario