Implementación de Servicios Web Semánticos para Arquitecturas SOA
-
Upload
lucio-marcelo-quispe-ortega -
Category
Technology
-
view
2.136 -
download
4
description
Transcript of 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
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