Principaios de SOA
• Servicios reusables
– Todo servicio debe ser diseñado y construido pensando en su reutilización: Dentro de la misma aplicación, dentro del dominio deaplicaciones de la empresa o incluso dentro del dominio público para su uso masivo.
• Proporcionar un contrato formal:
– Nombre del servicio
– Forma de acceso
– Funcionales que ofrece
– Datos deentrada de cada una de las funcionalidades
– Datos de salida
– En el caso de los Servicios Web, esto se logrará mediante la definición de interfaces con WSDL (Web Service Description Language).
• LosServicios deben tener bajo acoplamiento:
– Independientes los unos de los otros
– Cada vez que se vaya a ejecutar un servicio, se accederá a él a través del contrato
Independencia entre elservicio que se va a ejecutar y el que lo llama.
• Los Servicios deben permitir la composición:
– Todo servicio debe ser construido de tal manera que pueda ser utilizado para construir serviciosgenéricos de más alto nivel, el cual estará compuesto de servicios de más bajo nivel.
• Los Servicios deben de ser autónomos:
– Su propio entorno de ejecución
• Los Servicios no deben tener estado:
–No guardar ningún tipo de información
Riesgo de inconsistencia de datos
– Sólo contiene lógica
– La información será almacenada en algún sistema persistente
• Los Servicios deben poder serdescubiertos:
– Para que pueda ser utilizado
– Evitar la creación de servicios que proporcionen las mismas funcionalidades
– En el caso de los Servicios Web, el descubrimiento se logrará publicando losinterfaces de los servicios en registros UDDI.
Definiciones de una arquitectura SOA
• Servicio:
– Una función sin estado, auto-contenida, que acepta una(s) llamada(s) y devuelve una(s)respuesta(s) mediante una interfaz bien definida
– Pueden ejecutar unidades discretas de trabajo como serían editar y procesar una transacción
– No dependen del estado de otras funciones o procesos...
Regístrate para leer el documento completo.