arquitectura orientada a servicios (soa)

43
SOA (Service Oriented Architecture) Arquitectura Orientada a Servicios Lucio Marcelo Quispe Ortega [email protected] [email protected] XIX Aniversario de la Carrera de Ingeniería de Sistemas Ciclo de Conferencias Magistrales Noviembre, 2011

Upload: lucio-marcelo-quispe-ortega

Post on 25-May-2015

22.106 views

Category:

Technology


1 download

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

Page 1: Arquitectura Orientada  a Servicios (SOA)

SOA (Service Oriented Architecture)Arquitectura Orientada a Servicios

Lucio Marcelo Quispe [email protected]

[email protected]

XIX Aniversario de la Carrera de Ingeniería de Sistemas

Ciclo de Conferencias Magistrales

Noviembre, 2011

Page 2: Arquitectura Orientada  a Servicios (SOA)

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

Page 3: Arquitectura Orientada  a Servicios (SOA)

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

Page 4: Arquitectura Orientada  a Servicios (SOA)

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.

Page 5: Arquitectura Orientada  a Servicios (SOA)

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

Page 6: Arquitectura Orientada  a Servicios (SOA)

Servicios Web Semánticos para Arquitecturas SOA

Servicios Web

¿Cuál es la tecnología empleada?: SOAP vs. REST

Page 7: Arquitectura Orientada  a Servicios (SOA)

Servicios Web Semánticos para Arquitecturas SOA

Servicios Web

Desarrollo de Servicios bajo SOAP

Page 8: Arquitectura Orientada  a Servicios (SOA)

Servicios Web Semánticos para Arquitecturas SOA

Servicios Web

Desarrollo de Servicios bajo SOAP

WSDL: Web Services Description Language

Page 9: Arquitectura Orientada  a Servicios (SOA)

Servicios Web Semánticos para Arquitecturas SOA

Servicios Web

Desarrollo de Servicios bajo REST

Page 10: Arquitectura Orientada  a Servicios (SOA)

Servicios Web Semánticos para Arquitecturas SOA

Servicios Web

Desarrollo de Servicios bajo REST

WADL: Web Application Description Language

Page 11: Arquitectura Orientada  a Servicios (SOA)

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

Page 12: Arquitectura Orientada  a Servicios (SOA)

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.

Page 13: Arquitectura Orientada  a Servicios (SOA)

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

Page 14: Arquitectura Orientada  a Servicios (SOA)

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.

Page 15: Arquitectura Orientada  a Servicios (SOA)

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.

Page 16: Arquitectura Orientada  a Servicios (SOA)

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

Page 17: Arquitectura Orientada  a Servicios (SOA)

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

Page 18: Arquitectura Orientada  a Servicios (SOA)

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

Page 19: Arquitectura Orientada  a Servicios (SOA)

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

Page 20: Arquitectura Orientada  a Servicios (SOA)

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

Page 21: Arquitectura Orientada  a Servicios (SOA)

Servicios Web Semánticos para Arquitecturas SOA

UDDI y Repositorios de Web Services

Page 22: Arquitectura Orientada  a Servicios (SOA)

Servicios Web Semánticos para Arquitecturas SOA

UDDI y Repositorios de Web Services

Page 23: Arquitectura Orientada  a Servicios (SOA)

Servicios Web Semánticos para Arquitecturas SOA

Page 24: Arquitectura Orientada  a Servicios (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:

Page 25: Arquitectura Orientada  a Servicios (SOA)

Servicios Web Semánticos para Arquitecturas SOA

jUDDIPublicación de servicios con UDDI

2. save_bussiness (API Publishing)

Solicitud:

Page 26: Arquitectura Orientada  a Servicios (SOA)

Servicios Web Semánticos para Arquitecturas SOA

jUDDIPublicación de servicios con UDDI

2. save_bussiness (API Publishing)

Respuesta:

Page 27: Arquitectura Orientada  a Servicios (SOA)

Servicios Web Semánticos para Arquitecturas SOA

jUDDIPublicación de servicios con UDDI

3. save_tModel (API Publishing)

Solicitud:

Page 28: Arquitectura Orientada  a Servicios (SOA)

Servicios Web Semánticos para Arquitecturas SOA

jUDDIPublicación de servicios con UDDI

3. save_tModel (API Publishing)

Respuesta:

Page 29: Arquitectura Orientada  a Servicios (SOA)

Servicios Web Semánticos para Arquitecturas SOA

jUDDIPublicación de servicios con UDDI

4. save_service (API Publishing)

Solicitud:

Page 30: Arquitectura Orientada  a Servicios (SOA)

Servicios Web Semánticos para Arquitecturas SOA

jUDDIPublicación de servicios con UDDI

4. save_service (API Publishing)

Respuesta:

Page 31: Arquitectura Orientada  a Servicios (SOA)

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:

Page 32: Arquitectura Orientada  a Servicios (SOA)

Servicios Web Semánticos para Arquitecturas SOA

jUDDIDescubrimiento de Servicios

Respuesta:

Page 33: Arquitectura Orientada  a Servicios (SOA)

Servicios Web Semánticos para Arquitecturas SOA

jUDDI

Librerías:

API Security Policy

API Publishing

API Inquiry

Page 34: Arquitectura Orientada  a Servicios (SOA)

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

Page 35: Arquitectura Orientada  a Servicios (SOA)

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).

Page 36: Arquitectura Orientada  a Servicios (SOA)

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

Page 37: Arquitectura Orientada  a Servicios (SOA)

Servicios Web Semánticos para Arquitecturas SOA

Composición de Servicios

Proceso de negocio en BPEL:

Page 38: Arquitectura Orientada  a Servicios (SOA)

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

Page 39: Arquitectura Orientada  a Servicios (SOA)

Servicios Web Semánticos para Arquitecturas SOA

Beneficios de SOA

Page 40: Arquitectura Orientada  a Servicios (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

Page 41: Arquitectura Orientada  a Servicios (SOA)

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

Page 42: Arquitectura Orientada  a Servicios (SOA)

Servicios Web Semánticos para Arquitecturas SOA

Framework SOA: WSO2 Carbon

Page 43: Arquitectura Orientada  a Servicios (SOA)

Servicios Web Semánticos para Arquitecturas SOA

SOA (Service Oriented Architecture)Arquitectura Orientada a Servicios

Lucio Marcelo Quispe [email protected]

[email protected]

XIX Aniversario de la Carrera de Ingeniería de Sistemas

Ciclo de Conferencias Magistrales

Noviembre, 2011