Hola, como hemos venido hablando, SOA es una arquitectura para la integración de aplicaciones empresariales basada en la colaboración de sistemas ya existentes, con el objetivo de dar soporte a un proceso de negocio.
Es posible que algunos conceptos relacionados con SOA sean familiares o no, por lo tanto hemos decidido realizar un pequeño diccionario de consultas donde explicaremos algunos términos que se van a usar a lo largo del desarrollo de este blog.
Arquitectura de Software:
Arquitectura o configuración, nos dice como debe estar estructurado el software y como se deben comportar y relacionar sus elementos para que cumpla con los requerimientos de un enfoque en particular.
Servicio Web:
Elemento que incluye lógica de negocio y manejo de datos, y es altamente cohesivo debido a que es diseñado con un propósito específico, por ejemplo consultar a un sistema de información catastral si un predio está hipotecado o no.
Su principal característica es que permite la comunicación entre aplicaciones, independientemente de la plataforma sobre la que corran o el lenguaje de programación con que fueron implementadas.
Cliente de servicios:
Puede ser una aplicación o un servicio que necesita invocar un servicio de un proveedor.
Proveedor de servicios:
Aplicación que dispone a sus servicios de una interfaz y los publica en un repositorio para que puedan ser invocados por clientes.
Descripción de un servicio:
Esquema que especifica la forma en que se invoca un servicio, su funcionalidad y sus parámetros de entrada y salida.
Protocolo de comunicación de servicios:
Conjunto de reglas de comunicación mediante el cual un proveedor y un cliente se ponen de acuerdo en como se van a comunicar entre sí.
Proceso de negocio:
Conjunto de servicios que se invocan en un orden definido para satisfacer requerimientos del negocio.
Registro de servicios:
Repositorio donde los proveedores pueden publicar la descripción de sus servicios y donde los clientes pueden encontrar servicios disponibles.
Orquestación:
Un controlador central es quien conoce el flujo de control, es decir, en que momento se debe invocar a cada uno de los servicios, además de la información requerida en un proceso. En este caso cada servicio ejecuta tareas independiente de los demás.
Coreografía:
Los servicios interactúan entre sí sin la necesidad de un controlador central, por lo tanto cada servicio realiza sus tareas pero es posible que sus entradas sean las salidas de otro servicio.
Referencias:
http://www.gestiopolis.com/administracion-estrategia/erp-arquitectura-orientada-a-servicios.htm
http://pensandoensoa.com/2010/04/04/dicsoanario-diccionario-soa/