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

SOA (Service Oriented Architecture) Arquitectura Orientada a Servicios

Lucio Marcelo Quispe Ortega


mache.lmqo@gmail.com marcelo.quispe@consultora-devian.net XIX Aniversario de la Carrera de Ingeniera de Sistemas Ciclo de Conferencias Magistrales

Noviembre, 2011

Agenda

1. Servicios Web
2. Arquitectura Orientada a Servicios 3. Componentes de SOA 4. UDDI y Repositorios de Web Services 5. Composicin de Servicios

6. Beneficios de SOA
7. Framework WSO2 Carbon

Servicios Web Semnticos para Arquitecturas SOA

Agenda

1. Servicios Web
2. Arquitectura Orientada a Servicios 3. Componentes de SOA 4. UDDI y Repositorios de Web Services 5. Composicin de Servicios

6. Beneficios de SOA
7. Framework WSO2 Carbon

Servicios Web Semnticos para Arquitecturas SOA

Servicios Web

Qu es un Servicio Web?
Componente de Software que utiliza un conjunto de protocolos y estndares 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 Semnticos para Arquitecturas SOA

Servicios Web

Cules son sus caractersticas?


Son interoperables

Superan las barreras geogrficas


Por naturaleza son flexibles Se basan en el protocolo HTTP

Servicios Web Semnticos para Arquitecturas SOA

Servicios Web

Cul es la tecnologa empleada?: SOAP vs. REST

Servicios Web Semnticos para Arquitecturas SOA

Servicios Web

Desarrollo de Servicios bajo SOAP

Servicios Web Semnticos para Arquitecturas SOA

Servicios Web

Desarrollo de Servicios bajo SOAP

WSDL: Web Services Description Language

Servicios Web Semnticos para Arquitecturas SOA

Servicios Web

Desarrollo de Servicios bajo REST

Servicios Web Semnticos para Arquitecturas SOA

Servicios Web

Desarrollo de Servicios bajo REST

WADL: Web Application Description Language


Servicios Web Semnticos para Arquitecturas SOA

Agenda

1. Servicios Web
2. Arquitectura Orientada a Servicios 3. Componentes de SOA 4. UDDI y Repositorios de Web Services 5. Composicin de Servicios

6. Beneficios de SOA
7. Framework WSO2 Carbon

Servicios Web Semnticos para Arquitecturas SOA

Introduccin

Antecedentes:
Inicia a mediados de los 80s. 1996: Gartner Inc. describe por primera vez SOA en sus artculos: Service Oriented Architectures, Part 1 y Service Oriented Architectures, Part 2. 2003: entra en las TI empresariales, a travs de los Servicios Web.

Servicios Web Semnticos para Arquitecturas SOA

Introduccin

Arquitectura de Software
Organizacin fundamental de un sistema descrita en sus componentes, la relacin entre ellos y con el ambiente (IEEE)

Nivel conceptual ms alto de un sistema


Principios que guan su diseo y evolucin

Servicios Web Semnticos para Arquitecturas SOA

Introduccin

Service Oriented Architecture: Definicin


Organizacin fundamental de un sistema descrita en:

servicios (componentes), la composicin (relacin) entre


stos. Caractersticas:

Est basada en estndares.


Los servicios son autnomos y granulares. Y los proveedores y consumidores, dbilmente acoplados.
Servicios Web Semnticos para Arquitecturas SOA

Introduccin

Qu es un Servicio en SOA?
Unidad de software con una funcionalidad mnima, con las siguientes caractersticas:
Interfaz definida o Contrato de Servicio
Descripcin de cmo el servicio va a ser usado desde cualquier otro servicio o programa: Nombre, Parmetros, Resultado y Ubicacin.

Reutilizable y/o Componible con otros


Pueda ser utilizado por ms de una aplicacin y/u otros servicios o Intranet o Internet: SaS, Cloud Computing

Desacoplado
Que para prestar su funcionalidad dependa en lo mnimo de otro servicio.
Servicios Web Semnticos para Arquitecturas SOA

Introduccin

Ejemplos de Servicios

Consultar la hora Calcular monto literal Consultar Cliente


Consultar datos bsicos Consultar Cartera

Servicios Web Semnticos para Arquitecturas SOA

Agenda

1. Servicios Web
2. Arquitectura Orientada a Servicios 3. Componentes de SOA 4. UDDI y Repositorios de Web Services 5. Composicin de Servicios

6. Beneficios de SOA
7. Framework WSO2 Carbon

Servicios Web Semnticos para Arquitecturas SOA

Componentes de SOA
Capas de SOA:

Arquitectura basada en estndares

Funciones principales: Publicacin, Descubrimiento y Composicin de servicios


Servicios Web Semnticos para Arquitecturas SOA

Componentes de SOA:
Publicacin y Descubrimiento con el Estndar UDDI

UDDI (Universal Description, Discovery and Integration)


IBM, Microsoft, HP y SAP proporcionaban UDDI pblicos. UDDI privados: Windows 2003, jUDDI, Novell Nsure UDDI Server UDDI y Repositorios de Servicios Web
Servicios Web Semnticos para Arquitecturas SOA

Agenda

1. Servicios Web
2. Arquitectura Orientada a Servicios 3. Componentes de SOA 4. UDDI y Repositorios de Web Services 5. Composicin de Servicios

6. Beneficios de SOA
7. Framework WSO2 Carbono

Servicios Web Semnticos para Arquitecturas SOA

UDDI y Repositorios de Web Services

Servicios Web Semnticos para Arquitecturas SOA

UDDI y Repositorios de Web Services

Servicios Web Semnticos para Arquitecturas SOA

Servicios Web Semnticos para Arquitecturas SOA

jUDDI
Publicacin y Descubrimiento con el Estndar UDDI

1. get_authToken (API Security Police)


Solicitud:

Respuesta:

Servicios Web Semnticos para Arquitecturas SOA

jUDDI
Publicacin de servicios con UDDI

2. save_bussiness (API Publishing)


Solicitud:

Servicios Web Semnticos para Arquitecturas SOA

jUDDI
Publicacin de servicios con UDDI

2. save_bussiness (API Publishing)


Respuesta:

Servicios Web Semnticos para Arquitecturas SOA

jUDDI
Publicacin de servicios con UDDI

3. save_tModel (API Publishing)


Solicitud:

Servicios Web Semnticos para Arquitecturas SOA

jUDDI
Publicacin de servicios con UDDI

3. save_tModel (API Publishing)


Respuesta:

Servicios Web Semnticos para Arquitecturas SOA

jUDDI
Publicacin de servicios con UDDI

4. save_service (API Publishing)


Solicitud:

Servicios Web Semnticos para Arquitecturas SOA

jUDDI
Publicacin de servicios con UDDI

4. save_service (API Publishing)


Respuesta:

Servicios Web Semnticos para Arquitecturas SOA

jUDDI
Descubrimiento 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 Semnticos para Arquitecturas SOA

jUDDI
Descubrimiento de Servicios

Respuesta:

Servicios Web Semnticos para Arquitecturas SOA

jUDDI

Libreras: API Security Policy API Publishing API Inquiry


Servicios Web Semnticos para Arquitecturas SOA

Agenda

1. Servicios Web
2. Arquitectura Orientada a Servicios 3. Componentes de SOA 4. UDDI y Repositorios de Web Services 5. Composicin de Servicios

6. Beneficios de SOA
7. Framework WSO2 Carbon

Servicios Web Semnticos para Arquitecturas SOA

Composicin de Servicios (Orquestacin)

Unir dos o ms servicios, con alguna lgica, para crear otro servicio ms complejo.
Esa lgica depende de los procesos del negocio: simple o secuencial Estos servicios ms complejos se pueden crear con lenguajes diferentes a los servicios bsicos, como BPEL. La administracin, metodologa y estndares utilizados para estos procesos es lo que se conoce como BPM (Business Process Management).

Servicios Web Semnticos para Arquitecturas SOA

Composicin de Servicios

Ejemplo de un proceso de negocio: Venta de Libros

Servicio Web del almacn

Servicio Web del pago online Servicio Web de la empresa de mensajera

Servicios Web Semnticos para Arquitecturas SOA

Composicin de Servicios

Proceso de negocio en BPEL:

Servicios Web Semnticos para Arquitecturas SOA

Agenda

1. Servicios Web
2. Arquitectura Orientada a Servicios 3. Componentes de SOA 4. UDDI y Repositorios de Web Services 5. Composicin de Servicios

6. Beneficios de SOA
7. Framework WSO2 Carbon

Servicios Web Semnticos para Arquitecturas SOA

Beneficios de SOA

Servicios Web Semnticos para Arquitecturas SOA

Beneficios de SOA

Beneficios a nivel de empresa


Reduccin de la dependencia tecnolgica Simplificacin del desarrollo Aumento de la flexibilidad y reutilizacin de la infraestructura del negocio Mitigacin del riesgo Reduccin de costos

Servicios Web Semnticos para Arquitecturas SOA

Agenda

1. Servicios Web
2. Arquitectura Orientada a Servicios 3. Componentes de SOA 4. UDDI y Repositorios de Web Services 5. Composicin de Servicios

6. Beneficios de SOA
7. Framework WSO2 Carbon

Servicios Web Semnticos para Arquitecturas SOA

Framework SOA: WSO2 Carbon

Servicios Web Semnticos para Arquitecturas SOA

SOA (Service Oriented Architecture) Arquitectura Orientada a Servicios


Lucio Marcelo Quispe Ortega
mache.lmqo@gmail.com marcelo.quispe@consultora-devian.net XIX Aniversario de la Carrera de Ingeniera de Sistemas Ciclo de Conferencias Magistrales

Noviembre, 2011
Servicios Web Semnticos para Arquitecturas SOA