Вы находитесь на странице: 1из 4

Arquitecturas orientadas a servicios SOA

Sistemas Distribuidos:
Usuarios -> Necesidades funcionales
Middleware -> Capa intermedia
Recursos Web -> Cloud computing, Orientación a servicios
Sistema Distribuido -> Conjunto de recursos informáticos interconectados que comparten estado, ofreciendo la visión de ser un sistema único

1) TRANSPARENCIA: Identificación (nombre de recursos independientes de la topología)


(Rendimiento) Ubicación física, replicación y paralelismo del recurso.
Compartición.
2) ESCALABILIDAD: Capacidad de crecer sin aumentar la complejidad ni disminuir el rendimiento.
Espacio de nombres suficientemente amplios.
Mantenimiento del rendimiento.
3) FIABILIDAD: Capacidad para realizar correctamente y en todo momento sus funciones.
Disponibilidad: fracción de tiempo de operatividad (más calidad y replicación).
Tiempo medio entre fallos (MTBF) y Tiempo de reparación.
Tolerancias a fallos.
4) CONSISTENCIA Estabilidad y coherencia.
Sincronización y mecanismos de ordenación de eventos (relojes lógicos).

Orientación a Servicios:
Servicio -> Actividad que aporta valor
SOC -> (Service Oriented Computing). Paradigma de computación = Abstracción de procesos
SOA -> (Service Oriented Architecture). Estilo de construcción de software basado en conceptos de sistemas distribuidos
SOA (Orientación a Servicios)
Interacción real entre procesos de negocio y tecnología
Servicios -> Recursos de software distribuidos
Prioridades: Valor de negocio sobre Estrategia técnica
Metas estratégicas sobre Beneficios de proyectos específicos
Interoperabilidad intrínseca sobre Integración personalizada
Compartición de servicios sobre Implementaciones específicas
Flexibilidad sobre Optimización
Refinamiento evolutivo sobre Búsqueda de perfección inicial
Características de los Servicios: Reusabilidad
Bajo acoplamiento
Encapsulamiento de lógica subyacente
Composición:
Protocolos de Orquestación (WS-BPEL) -> (Web Services) Business Process Execution Language
Coreografía (WS-CDL) -> (Web Services) Choreography Description Language
Autonomía
Falta de estado: datos en sistemas de almacenamiento
Publicación para descubrimiento (UDDI- Universal Description, Discovery and Integration)
Ciclo de vida de un servicio desde el punto de vista del proveedor:
Identificación del servicio -> Diseño del servicio -> Implementación del servicio -> Monitorización del servicio -> Retirada del servicio.

Ciclo de vida de un servicio desde el punto de vista del consumidor:


Especificación del servicio -> Evaluación y selección del servicio -> Contrato del servicio -> Consumo del servicio -> Finalización del servicio.

Servicio Web -> Módulo Software.


Autocontenido.
Autodescrito -> Agente de Registro y Descubrimiento.
Disponible a través de una red (internet).
Completa tareas.
Resuelve Problemas. De acuerdo a usuario o aplicación.
Realiza Transacciones.

SOA – Roles y Operaciones


Solicitante del servicio [Encontrar - Find]Agentes de Registro y Descubrimiento[Publicar - Publish] Proveedor del servicio
(consumidor) (descripción) (descripción)
[Vincular e Interactuar – Bind]
LENGUAJES Y TECNOLOGÍAS WEB SERVICE
Estándares básicos -> Enabling Technology Standars
HTTP (HyperText Transfer Protocol)
XML (Extesible Markup Language)
Estádares principales -> Core Service Standars
SOAP -> (Simple Object Access Protocol)
Protocolo de comunicaciones pregunta / respuesta (mensajes XML)
WSDL -> (Web Service Description Language)
Web Service como endpoints (mensaje) – datos, funcionalidades,…
UDDI -> (Universal Discovery, Description Language)
Directorio público de servicios
Funciones:
Orquestación -> BPEL (Business Process Execution Lanaguage)
Describe flujos de control. Ejecución:
Lógica de ejecución: - Condicional - Secuencial
Composición de servicios - Paralela - Excepcional
Establece las reglas para gestión de datos de negocio no observables

Coreografía -> CDL (Choreography Description Service)


Colaboración Relaciones entre servicios mediante definición de comportamiento común observable entre empresas
de servicios Intercambios de información a través de puntos de contanto compartidos cuando las reglas de ordenación de mensajes se cumplen

Interacciones transaccionales entre servicios -> WS-Coordinación + WS-Transacción complementan al BPEL


Mecanismos de Seguridad, autentificación, Estándares de valor añadido:
Autorización, confianza, privacidad.. - WS-Security - WS-Policy - WS-Management

Calidad de servicio - QOS (Quality Of Service)


- Habilidad para responder a las invocaciones esperadas y a realizarlas al nivel exigido y acordado
- Nivel de servicio establecido por acuerdo entre el proveedor y el consumidor SLA (Service Level Agreement)
- Condiciones mínimas, rendimiento en unidades relativas, penalizaciones,…
Disponibilidad ->Availability, downtimes
Accesibilidad -> Tasa de éxito de invocación
Adecuación a
estándares -> Comformance
Integridad -> Coherencia entre descripción WSDL y SLA
Rendimiento -> Performance, throughput (nºpeticiones servidas) y latencia (tiempo de respuesta)
Fiabilidad -> Reliability (calidad independiente de fallos)
Escalabilidad -> Ante aumento de volumen de peticiones
Seguridad -> Autenticación, autorización, integridad de mensajes y confidencialidad

Especificaciones de servicios web - SOAP


SOAP -> Simple Object Access Protocol -> Mensajes XML – Petición y Respuesta.

[Solicitante del Servicio (Consumidor)] (HTTP, SMTP, FTP) [Proveedor del Servicio (Descripción)]

SOAP Envelope
SOAP Header (opcional) -> Header Block
SOAP Body -> Body child element
SOAP fault element

SOAP Envelope -> http://www.w3.org/2003/05/soap-envelope


SOAP Header -> Información identificación (opcional)
SOAP Body -> Información petición o respuesta (obligatorio)
SOAP fault -> <Code> <Reason> <Node> <Role> <Detail>

Especificaciones de servicios web - WSDL


WSDL -> Web Services Description Language -> XML
Descripción: Separación entre descripción:
- Abstracta (métodos y/o funciones)
- Concreta (protocolo de conexión y formato del mensaje)
WDSL 1.2:
Interfaz del servicio (descripción abstracta):
[Types] - Definición vocabulario
[Messages] - Petición / Respuesta
[Operations] - Implementación acciones
[Port Types] - Interfaz acciones
Implementación del servicio (descripción concreta):
[Bindings] - Protocolo y formato datos - SOAP, HTTP, SMTP
[Services (EndPoints)] - Puerto + dirección de red
Elemento raíz <definitions> WSDL 2.0 <description>

Especificaciones de servicios web – UDDI


UDDI -> Universal, Description, Discovery and Integration
Registro público de información proveedores (empresas o particulares) y los servicios web que ofertan
Directorio con tres tipos de información:
Páginas blancas: información proveedor (ubicación, email, web,…)
Páginas amarillas: información servicios por proveedor (categorías)
Páginas verdes: información técnica y especificaciones de servicios

Tipo de Información -> Sección -> Tipo entidad o elemento


Páginas blancas -> businessEntity
Páginas amarillas -> businessService
Páginas verdes -> bindingTemplate -> Interface tModel
Relaciones otros proveedores -> publisherAssertion
Información cambios servicio -> subscription

Programación WS Entornos Distribuidos

Tipos de servicios:
Derivados de sistemas legados -> Interfaces para utilización de funcionalidad e información de esos sistemas
Ofrecidos por aplicaciones software internas -> Nuevos desarrollos con SOA para clientes internos de la organización
Software como servicio -> Proveedor externo para clientes independientes.

Tendencias actuales:
SaaS (Software as a Service) -> Modelo de suscripción
PaaS (Platform as a Service) -> Herramientas para soportar ciclo de vida de construcción y puesta en marcha de apps software
IaaS (Infrastructure as a Service) -> Recursos a nivel de infraestructura física con capacidad de procesamiento y almacenamiento

Escenarios:
Consumidor servicio: - Aplicación Front-End
- URI servicio + Estructura WSDL

Proveedor Servicio: - Infraestructura SOA -> Creación y Despliegue


- Interfaz Servicio -> Documento WSDL
- Aplicación Empresarial -> Lógica de Negocio

Implantación total: - Consumidos + Proveedor


Estandarización:
OASIS -> Organization for the Advancement of Structured Information Standards
WfMC -> Workflow Management Coalition
BPM (Business Process Management)
ESB (Enterprise Service Bus)
BAM (Business Activity Monitoring)
ESB (Enterprise Service Repository)

Вам также может понравиться