implementación de servicios web semánticos para arquitecturas soa

74
Implementación de Servicios Web Semánticos para Arquitecturas SOA Lucio Marcelo Quispe Ortega Directores: Dr. Alberto Córdoba Dr. Jesús Villadangos Defensa de Trabajo de Fin de Máster Septiembre, 2011

Upload: lucio-marcelo-quispe-ortega

Post on 13-Jun-2015

2.133 views

Category:

Technology


4 download

DESCRIPTION

SOA es un concepto de arquitectura de software que establece un marco de diseño para la integración de aplicaciones independientes, de manera que puedan accederse a sus funcionalidades desde la red.La forma más habitual de crear un ambiente SOA es mediante el uso de los servicios Web, una tecnología independiente de la plataforma, que junto con estándares, como HTTP, SOAP, WSDL, UDDI y BPEL; permiten cumplir con procesos como la publicación, el descubrimiento y la composición de aplicaciones dentro de un conjunto de servicios.Sin embargo, al momento de implementar una arquitectura SOA, se presentan algunas dificultades en estos procesos. Ya que por su naturaleza sintáctica tienden a ser ineficientes, con poca información y hasta imprecisos en sus resultados. Otra desventaja es que SOA como tal se restringe a utilizar servicios Web basados en SOAP, dejando de lado otras tecnologías emergentes como REST. Por lo tanto, a fin de cubrir las carencias observadas, este trabajo propone mejorar los procesos realizados en SOA, en base a la modificación de la estructura de las ontologías del estándar OWL-S, para que los servicios Web basados en SOAP y REST sean definidos semánticamente en un registro UDDI. Formando así un ambiente SOA heterogéneo, que realice los procesos de publicación, descubrimiento, localización y composición de servicios tomando en cuenta diferentes tecnologías.

TRANSCRIPT

Page 1: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Lucio Marcelo Quispe Ortega

Directores:

Dr. Alberto Córdoba

Dr. Jesús Villadangos

Defensa de Trabajo de Fin de Máster Septiembre, 2011

Page 2: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Agenda

1. Introducción

2. Estado del Arte

3. Objetivos

4. Implementación de SWS con OWL-S

5. Modelando SWS para SOA

6. Conclusiones

7. Líneas Futuras

Page 3: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Agenda

1. Introducción

2. Estado del Arte

3. Objetivos

4. Implementación de SWS con OWL-S

5. Modelando SWS para SOA

6. Conclusiones

7. Líneas Futuras

Page 4: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de 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 5: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Introducción

¿Qué es SOA?

Concepto que permite desarrollar software bajo un marco

de diseño para la integración y composición de

aplicaciones independientes

Funciones principales: publicación, descubrimiento,

composición y monitorización de servicios.

Page 6: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Introducción

Problemática:

Tareas realizadas de forma manual

Información muy general

Sólo implementa el estándar SOAP

Solución:

Abordar el problema desde la perspectiva de la Web Semántica

Utilizar OWL-S para introducir la semántica de los servicios Web

Considerar servicios basados en REST

Page 7: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Agenda

1. Introducción

2. Estado del Arte

3. Objetivos

4. Implementación de SWS con OWL-S

5. Modelando SWS para SOA

6. Conclusiones

7. Líneas Futuras

Page 8: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Estado del Arte

Arquitectura Orientada a Servicios

Servicios Web

Web Semántica

Servicios Web

Semánticos

Page 9: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Estado del Arte:Arquitectura Orientada a Servicios

Page 10: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Estado del Arte: Arquitectura Orientada a Servicios

Componentes:

Page 11: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Estado del Arte: Arquitectura Orientada a Servicios

Page 12: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Estado del Arte: Servicios Web

Componente de software diseñado para soportar una interacción interoperable máquina a máquina sobre una red.

Características:

Interoperables

Barreras geográficas

Flexibles

Se basan en HTTP

Tecnologías: SOAP y REST

Page 13: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Estado del Arte:Servicios Web

SOAP vs. REST:

Page 14: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Estado del Arte:La Web Semántica

Tim Berners-Lee propone a la Web Semántica como una extensión de la Web tradicional.

Page 15: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Estado del Arte:La Web Semántica

Arquitectura de la Web Semántica:

Page 16: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Estado del Arte:La Web Semántica

Ontología Web:

Componentes:

•Conceptos

•Relaciones

•Funciones

•Instancias

•Axiomas

Instrumentos

musicales

Instrumentos

de cuerda

Instrumentos

de metal

Instrumentos

de viento

Instrumentos

de madera

Instrumentos

con traste

Instrumentos

sin traste

Clase (concepto)

Subclase de

Subclase de

Caso

(ejemplo)

Guitarra

‘Es un tipo de’

‘is-a’

Page 17: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Estado del Arte:Servicios Web Semánticos

Dos enfoques importantes: OWL-S y WSMO

Page 18: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Estado del ArteServicios Web Semánticos

OWL-S

WSMO

Page 19: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Agenda

1. Introducción

2. Estado del Arte

3. Objetivos

4. Implementación de SWS con OWL-S

5. Modelando SWS para SOA

6. Conclusiones

7. Líneas Futuras

Page 20: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Objetivos

Caracterizar los servicios Web de forma semántica.

Modificar la estructura del estándar OWL-S.

Desarrollo de prototipos semánticos:

Publicación de servicios.

Descubrimiento de servicios.

Localización de servicios.

Composición de servicios.

©

UDDI sintáctico (tradicional)

Page 21: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Agenda

1. Introducción

2. Estado del Arte

3. Objetivos

4. Implementación de SWS con OWL-S

5. Modelando SWS para SOA

6. Conclusiones

7. Líneas Futuras

Page 22: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de SWS con OWL-S

Infraestructura de los Servicios Web Semánticos

Page 23: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de SWS con OWL-S

Estructura de la ontología

Page 24: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de SWS con OWL-S

Service Profile:

Page 25: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de SWS con OWL-S

Service Profile: Información del Servicio

Profile

&xsd;#String

Actor

textDescription&xsd;#String

Page 26: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de SWS con OWL-S

Service Profile: Funcionalidad del Servicio

Profile

&process;#Parameter

&expr;#Condition

&process;#Result

&process;#Input

&process;#Output

<rdfs:subPropertyOf

“#hasParameter”

/>

hasInput

hasOutput

Page 27: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de SWS con OWL-S

Service Profile: Características del Servicio

Profile

Thing

sParameter

&xsd;#AnyURL

&xsd;#AnyURL

serviceProduct

ServiceParameter

ServiceCategorytaxonomy

code

value

serviceParameterName

Page 28: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de SWS con OWL-S

Service Model:

Page 29: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de SWS con OWL-S

Service Model:Parámetros

del Proceso

Page 30: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de SWS con OWL-S

Service Model:

Tipos de

Proceso

Page 31: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de SWS con OWL-S

Relación entre OWL-S y WSDL:

Page 32: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de SWS con OWL-S

Service Grounding:

Page 33: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de SWS con OWL-S

Nueva relación de OWL-S con WSDL y WADL:

Page 34: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de SWS con OWL-S

Modificación al Service Grounding:

Page 35: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de SWS con OWL-S

Modificación al Service Model:

Page 36: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Agenda

1. Introducción

2. Estado del Arte

3. Objetivos

4. Implementación de SWS con OWL-S

5. Modelando SWS para SOA

6. Conclusiones

7. Líneas Futuras

Page 37: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Modelando SWS para SOA

Arquitectura del Sistema:

Page 38: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Modelando SWS para SOAEl estándar UDDI y los servicios sintácticos

IBM, Microsoft, HP y SAP proporcionaban UDDI públicos.

UDDI privados: Windows 2003, jUDDI, Novell Nsure UDDI Server

API Publishing, API Inquiry

Page 39: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Modelando SWS para SOAPublicación de servicios con UDDI

1. get_authToken

Solicitud:

Respuesta:

Page 40: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Modelando SWS para SOAPublicación de servicios con UDDI

2. save_bussiness

Solicitud:

Page 41: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Modelando SWS para SOAPublicación de servicios con UDDI

2. save_bussiness

Respuesta:

Page 42: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Modelando SWS para SOAPublicación de servicios con UDDI

3. save_tModel

Solicitud:

Page 43: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Modelando SWS para SOAPublicación de servicios con UDDI

3. save_tModel

Respuesta:

Page 44: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Modelando SWS para SOAPublicación de servicios con UDDI

4. save_service

Solicitud:

Page 45: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Modelando SWS para SOAPublicación de servicios con UDDI

4. save_service

Respuesta:

Page 46: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Modelando SWS para SOADescubrimiento 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 47: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Modelando SWS para SOADescubrimiento de Servicios

Respuesta:

Page 48: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Modelando SWS para SOAUDDI semántico basado en OWL-S

Esquema de componentes de software:

Page 49: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Modelando SWS para SOAUDDI semántico basado en OWL-S

Diagrama de Clases de los recursos REST:

Page 50: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Modelando SWS para SOAUDDI semántico basado en OWL-S

Diagrama de Clases del modelo de ontologías OWL-S:

Page 51: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Modelando SWS para SOAPublicación semántica de Servicios

1. ActorsResource

POST del recurso:

Respuesta:

Page 52: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Modelando SWS para SOAPublicación semántica de Servicios

2. ServicesResource

POST del recurso:

Respuesta:

Page 53: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Modelando SWS para SOAPublicación semántica de Servicios

3. ProfilesResource. POST del recurso:

Page 54: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Modelando SWS para SOAPublicación semántica de Servicios

4. ProcessesResource. POST del recurso:

Page 55: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Modelando SWS para SOAPublicación semántica de Servicios

Métodos Java para crear un recurso con el servicios ActorsResource

Page 56: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Modelando SWS para SOAPublicación semántica de Servicios

Métodos Java para crear un recurso con el servicios ActorsResource

Page 57: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Modelando SWS para SOADescubrimiento semántico de Servicios

Métodos:

getContactInformation, getServiceProfile, getServiceCategory, getServiceFeatures

getInputsOfService, getOutputsOfService, getPreconditions, getResultOfService

Solicitud a getContactInformation:

Page 58: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Modelando SWS para SOADescubrimiento semántico de Servicios

Solicitud a getServiceProfile:

Page 59: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Modelando SWS para SOADescubrimiento semántico de Servicios

Recursos dispuestos en directorios:

Page 60: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Modelando SWS para SOAComparativa: estándar UDDI vs. prototipos semánticos

Estándar UDDI:

Autorización previa

Registros:business, service, tModel y binding.

Descubrimiento: API Inquiry

Búsquedas en pocas propiedades

Pocas propiedades y aspectos técnicos

Sólo SOAP

Formato XML

Prototipos semánticos:

No lo tiene

Registros: actor, service, profile,

process y grounding.

Descubrimiento: métodos y

recursos dispuestos en directorios

Búsquedas en función a la relación

de propiedades

Más propiedades para describir el

servicio

SOAP y REST

Formato XML y JSON

Page 61: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Modelando SWS para SOALocalización de Servicios

Métodos:

getServicesByDescription, getServicesByFeature, getServicesByBusiness, getServicesByCategory, getServicesByInputs, getServicesByOutputs, getServicesByPreconditions, getServiceByResult

Monitorización del método getServicesByDescription:

Page 62: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Modelando SWS para SOALocalización de Servicios

Monitorización del método getServicesByFeature:

Monitorización del método getServiceByInputs:

Page 63: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Modelando SWS para SOAComposición Semántica de Servicios

Proceso de negocio en BPEL:

Page 64: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Modelando SWS para SOAComposición Semántica de Servicios

Componentes de la Arquitectura BPEL:

Page 65: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Modelando SWS para SOAComposición Semántica de Servicios

Ejemplo de publicación de un proceso de negocio:

Servicio Web del almacén

Servicio Web del pago online

Servicio Web de la empresa

de mensajería

Page 66: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Modelando SWS para SOAComposición Semántica de Servicios

Solicitud: Respuesta:

Page 67: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Modelando SWS para SOAComposición Semántica de Servicios

Monitorización del método getPropertiesOfControlConstruct:

Monitorización del método getComponentsOfControlConstruct:

Page 68: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Modelando SWS para SOAComposición Semántica de Servicios

Monitorización del método getPropertiesOfControlConstruct:

Monitorización del método getComponentsOfControlConstruct:

Page 69: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Modelando SWS para SOAComparativa: composición sintáctica vs. semántica

Composición Sintáctica:

Procesos de negocio del lado del usuario.

SOAP.

Complejos de publicar.

Tiene un motor de composición.

No es transparente.

Composición semántica:

Procesos de negocio en la

ontología.

SOAP y REST.

Publicación similar a UDDI.

Se le puede implementar.

Es transparente

Page 70: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Agenda

1. Introducción

2. Estado del Arte

3. Objetivos

4. Implementación de SWS con OWL-S

5. Modelando SWS para SOA

6. Conclusiones

7. Líneas Futuras

Page 71: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Conclusiones

SOA y sus componentes

Servicios Web Semánticos

Prototipos Propuestos

Estándar OWL-S

Aumentan la interoperabilidad

Sistemas escalables

Potencial añadido

Mayor información

Procesos más eficientes

Mejores resultados Registro semántico

Registro heterogéneo

Objetivos alcanzados

Capacidades de SWS descritas

Mejoras añadidas

Infraestructura heterogénea

Page 72: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Agenda

1. Introducción

2. Estado del Arte

3. Objetivos

4. Implementación de SWS con OWL-S

5. Modelando SWS para SOA

6. Conclusiones

7. Líneas Futuras

Page 73: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Líneas Futuras

Prototipo de monitorización

Composición por orquestación y coreografía

Medidas de seguridad

Page 74: Implementación de Servicios Web Semánticos para Arquitecturas SOA

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Lucio Marcelo Quispe Ortega

Directores:

Dr. Alberto Córdoba

Dr. Jesús Villadangos

Defensa de Trabajo de Fin de Máster Septiembre, 2011