arquitectura orientada a servicios (soa)
DESCRIPTION
SOA es un concepto de diseño de arquitectura que describe un sistema o software en términos de servicios (considerados como componentes) y la relación entre éstos (denominada composición).Con SOA, los sistemas son altamente escalables ya que reflejan el negocio de la organización y utilizan capacidades distribuidas bajo el control de diferentes propietarios y dominios. Lo que provee una forma bien definida de ofrecer, descubrir, interactuar y usar dichas capacidades para producir los efectos deseados de manera consistente y medible.TRANSCRIPT
SOA (Service Oriented Architecture)Arquitectura Orientada a Servicios
Lucio Marcelo Quispe [email protected]
XIX Aniversario de la Carrera de Ingeniería de Sistemas
Ciclo de Conferencias Magistrales
Noviembre, 2011
Servicios Web Semánticos para Arquitecturas SOA
Agenda
1. Servicios Web
2. Arquitectura Orientada a Servicios
3. Componentes de SOA
4. UDDI y Repositorios de Web Services
5. Composición de Servicios
6. Beneficios de SOA
7. Framework WSO2 Carbon
Servicios Web Semánticos para Arquitecturas SOA
Agenda
1. Servicios Web
2. Arquitectura Orientada a Servicios
3. Componentes de SOA
4. UDDI y Repositorios de Web Services
5. Composición de Servicios
6. Beneficios de SOA
7. Framework WSO2 Carbon
Servicios Web Semánticos para Arquitecturas SOA
Servicios Web
¿Qué es un Servicio Web?
Componente de Software que utiliza un conjunto de protocolos y estándares
para intercambiar datos entre aplicaciones sobre una red.
(OASIS y W3C)
Los Servicios Web suelen ser considerados como APIs Web que pueden
ser accedidos dentro de una red (principalmente Internet) y ejecutados en
el sistema que los aloja.
Servicios Web Semánticos para Arquitecturas SOA
Servicios Web
¿Cuáles son sus características?
Son interoperables
Superan las barreras geográficas
Por naturaleza son flexibles
Se basan en el protocolo HTTP
Servicios Web Semánticos para Arquitecturas SOA
Servicios Web
¿Cuál es la tecnología empleada?: SOAP vs. REST
Servicios Web Semánticos para Arquitecturas SOA
Servicios Web
Desarrollo de Servicios bajo SOAP
Servicios Web Semánticos para Arquitecturas SOA
Servicios Web
Desarrollo de Servicios bajo SOAP
WSDL: Web Services Description Language
Servicios Web Semánticos para Arquitecturas SOA
Servicios Web
Desarrollo de Servicios bajo REST
Servicios Web Semánticos para Arquitecturas SOA
Servicios Web
Desarrollo de Servicios bajo REST
WADL: Web Application Description Language
Servicios Web Semánticos para Arquitecturas SOA
Agenda
1. Servicios Web
2. Arquitectura Orientada a Servicios
3. Componentes de SOA
4. UDDI y Repositorios de Web Services
5. Composición de Servicios
6. Beneficios de SOA
7. Framework WSO2 Carbon
Servicios Web Semánticos para Arquitecturas SOA
Introducción
Antecedentes:
Inicia a mediados de los 80s.
1996: Gartner Inc. describe por primera vez SOA en susartículos: “Service Oriented” Architectures, Part 1 y“Service Oriented” Architectures, Part 2.
2003: entra en las TI empresariales, a través de los ServiciosWeb.
Servicios Web Semánticos para Arquitecturas SOA
Introducción
Arquitectura de Software
Organización fundamental de un sistema descrita en suscomponentes, la relación entre ellos y con el ambiente (IEEE)
Nivel conceptual más alto de un sistema
Principios que guían su diseño y evolución
Servicios Web Semánticos para Arquitecturas SOA
Introducción
Service Oriented Architecture: Definición
Organización fundamental de un sistema descrita en:
servicios (componentes), la composición (relación) entre
éstos.
Características:
Está basada en estándares.
Los servicios son autónomos y granulares.
Y los proveedores y consumidores, débilmente acoplados.
Servicios Web Semánticos para Arquitecturas SOA
Introducción
¿Qué es un Servicio en SOA?
Unidad de software con una funcionalidad mínima, con las
siguientes características:
Interfaz definida o Contrato de Servicio
Descripción de cómo el servicio va a ser usado desde cualquier otro
servicio o programa: Nombre, Parámetros, Resultado y Ubicación.
Reutilizable y/o Componible con otros
Pueda ser utilizado por más de una aplicación y/u otros servicios
o Intranet o Internet: SaS, Cloud Computing
Desacoplado
Que para prestar su funcionalidad dependa en lo mínimo de otro servicio.
Servicios Web Semánticos para Arquitecturas SOA
Introducción
Ejemplos de Servicios
Consultar la hora
Calcular monto literal
Consultar Cliente
Consultar datos básicos
Consultar Cartera
Servicios Web Semánticos para Arquitecturas SOA
Agenda
1. Servicios Web
2. Arquitectura Orientada a Servicios
3. Componentes de SOA
4. UDDI y Repositorios de Web Services
5. Composición de Servicios
6. Beneficios de SOA
7. Framework WSO2 Carbon
Servicios Web Semánticos para Arquitecturas SOA
Componentes de SOA
Capas de SOA:
Funciones principales: Publicación, Descubrimiento y Composición deservicios
Arquitectura basada en estándares
Servicios Web Semánticos para Arquitecturas SOA
Componentes de SOA: Publicación y Descubrimiento con el Estándar UDDI
UDDI (Universal Description, Discovery and Integration)
IBM, Microsoft, HP y SAP proporcionaban UDDI públicos.
UDDI privados: Windows 2003, jUDDI, Novell Nsure UDDI Server
UDDI y Repositorios de Servicios Web
Servicios Web Semánticos para Arquitecturas SOA
Agenda
1. Servicios Web
2. Arquitectura Orientada a Servicios
3. Componentes de SOA
4. UDDI y Repositorios de Web Services
5. Composición de Servicios
6. Beneficios de SOA
7. Framework WSO2 Carbono
Servicios Web Semánticos para Arquitecturas SOA
UDDI y Repositorios de Web Services
Servicios Web Semánticos para Arquitecturas SOA
UDDI y Repositorios de Web Services
Servicios Web Semánticos para Arquitecturas SOA
Servicios Web Semánticos para Arquitecturas SOA
jUDDIPublicación y Descubrimiento con el Estándar UDDI
1. get_authToken (API Security Police)
Solicitud:
Respuesta:
Servicios Web Semánticos para Arquitecturas SOA
jUDDIPublicación de servicios con UDDI
2. save_bussiness (API Publishing)
Solicitud:
Servicios Web Semánticos para Arquitecturas SOA
jUDDIPublicación de servicios con UDDI
2. save_bussiness (API Publishing)
Respuesta:
Servicios Web Semánticos para Arquitecturas SOA
jUDDIPublicación de servicios con UDDI
3. save_tModel (API Publishing)
Solicitud:
Servicios Web Semánticos para Arquitecturas SOA
jUDDIPublicación de servicios con UDDI
3. save_tModel (API Publishing)
Respuesta:
Servicios Web Semánticos para Arquitecturas SOA
jUDDIPublicación de servicios con UDDI
4. save_service (API Publishing)
Solicitud:
Servicios Web Semánticos para Arquitecturas SOA
jUDDIPublicación de servicios con UDDI
4. save_service (API Publishing)
Respuesta:
Servicios Web Semánticos para Arquitecturas SOA
jUDDIDescubrimiento de Servicios
API Inquiry:
find_business, find_service, find_binding, find_tModel, find_relatedBusinesses,
get_businessDetail, get_serviceDetail, get_bindingDetail, get_tModelDetail, get_operationalInfo.
Solicitud a get_serviceDetail:
Servicios Web Semánticos para Arquitecturas SOA
jUDDIDescubrimiento de Servicios
Respuesta:
Servicios Web Semánticos para Arquitecturas SOA
jUDDI
Librerías:
API Security Policy
API Publishing
API Inquiry
Servicios Web Semánticos para Arquitecturas SOA
Agenda
1. Servicios Web
2. Arquitectura Orientada a Servicios
3. Componentes de SOA
4. UDDI y Repositorios de Web Services
5. Composición de Servicios
6. Beneficios de SOA
7. Framework WSO2 Carbon
Servicios Web Semánticos para Arquitecturas SOA
Composición de Servicios (Orquestación)
Unir dos o más servicios, con alguna lógica, para crear otroservicio más complejo.
Esa lógica depende de los procesos del negocio: simple o secuencial
Estos servicios más complejos se pueden crear con lenguajes diferentes alos servicios básicos, como BPEL.
La administración, metodología y estándares utilizados para estosprocesos es lo que se conoce como BPM (Business Process Management).
Servicios Web Semánticos para Arquitecturas SOA
Composición de Servicios
Ejemplo de un proceso de negocio: Venta de Libros
Servicio Web del almacén
Servicio Web del pago online
Servicio Web de la empresa
de mensajería
Servicios Web Semánticos para Arquitecturas SOA
Composición de Servicios
Proceso de negocio en BPEL:
Servicios Web Semánticos para Arquitecturas SOA
Agenda
1. Servicios Web
2. Arquitectura Orientada a Servicios
3. Componentes de SOA
4. UDDI y Repositorios de Web Services
5. Composición de Servicios
6. Beneficios de SOA
7. Framework WSO2 Carbon
Servicios Web Semánticos para Arquitecturas SOA
Beneficios de SOA
Servicios Web Semánticos para Arquitecturas SOA
Beneficios de SOA
Beneficios a nivel de empresa
Reducción de la dependencia tecnológica
Simplificación del desarrollo
Aumento de la flexibilidad y reutilización de la infraestructura del negocio
Mitigación del riesgo
Reducción de costos
Servicios Web Semánticos para Arquitecturas SOA
Agenda
1. Servicios Web
2. Arquitectura Orientada a Servicios
3. Componentes de SOA
4. UDDI y Repositorios de Web Services
5. Composición de Servicios
6. Beneficios de SOA
7. Framework WSO2 Carbon
Servicios Web Semánticos para Arquitecturas SOA
Framework SOA: WSO2 Carbon
Servicios Web Semánticos para Arquitecturas SOA
SOA (Service Oriented Architecture)Arquitectura Orientada a Servicios
Lucio Marcelo Quispe [email protected]
XIX Aniversario de la Carrera de Ingeniería de Sistemas
Ciclo de Conferencias Magistrales
Noviembre, 2011