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

Preview:

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.

Citation preview

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

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

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

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.

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.

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

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

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

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

Estado del Arte:Arquitectura Orientada a Servicios

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

Estado del Arte: Arquitectura Orientada a Servicios

Componentes:

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

Estado del Arte: Arquitectura Orientada a Servicios

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

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

Estado del Arte:Servicios Web

SOAP vs. REST:

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.

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

Estado del Arte:La Web Semántica

Arquitectura de la Web Semántica:

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’

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

Estado del Arte:Servicios Web Semánticos

Dos enfoques importantes: OWL-S y WSMO

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

Estado del ArteServicios Web Semánticos

OWL-S

WSMO

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

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)

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

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

Implementación de SWS con OWL-S

Infraestructura de los Servicios Web Semánticos

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

Implementación de SWS con OWL-S

Estructura de la ontología

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

Implementación de SWS con OWL-S

Service Profile:

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

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

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

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

Implementación de SWS con OWL-S

Service Model:

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

Implementación de SWS con OWL-S

Service Model:Parámetros

del Proceso

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

Implementación de SWS con OWL-S

Service Model:

Tipos de

Proceso

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

Implementación de SWS con OWL-S

Relación entre OWL-S y WSDL:

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

Implementación de SWS con OWL-S

Service Grounding:

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:

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

Implementación de SWS con OWL-S

Modificación al Service Grounding:

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

Implementación de SWS con OWL-S

Modificación al Service Model:

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

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

Modelando SWS para SOA

Arquitectura del Sistema:

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

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

Modelando SWS para SOAPublicación de servicios con UDDI

1. get_authToken

Solicitud:

Respuesta:

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

Modelando SWS para SOAPublicación de servicios con UDDI

2. save_bussiness

Solicitud:

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

Modelando SWS para SOAPublicación de servicios con UDDI

2. save_bussiness

Respuesta:

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

Modelando SWS para SOAPublicación de servicios con UDDI

3. save_tModel

Solicitud:

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

Modelando SWS para SOAPublicación de servicios con UDDI

3. save_tModel

Respuesta:

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

Modelando SWS para SOAPublicación de servicios con UDDI

4. save_service

Solicitud:

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

Modelando SWS para SOAPublicación de servicios con UDDI

4. save_service

Respuesta:

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:

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

Modelando SWS para SOADescubrimiento de Servicios

Respuesta:

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:

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:

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:

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:

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:

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

Modelando SWS para SOAPublicación semántica de Servicios

3. ProfilesResource. POST del recurso:

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

Modelando SWS para SOAPublicación semántica de Servicios

4. ProcessesResource. POST del recurso:

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

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

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:

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

Modelando SWS para SOADescubrimiento semántico de Servicios

Solicitud a getServiceProfile:

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

Modelando SWS para SOADescubrimiento semántico de Servicios

Recursos dispuestos en directorios:

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

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:

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:

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

Modelando SWS para SOAComposición Semántica de Servicios

Proceso de negocio en BPEL:

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

Modelando SWS para SOAComposición Semántica de Servicios

Componentes de la Arquitectura BPEL:

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

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

Modelando SWS para SOAComposición Semántica de Servicios

Solicitud: Respuesta:

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:

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:

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

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

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

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

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

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

Recommended