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.
Implementación de Servicios Web Semánticos para Arquitecturas SOA
1. 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
2. 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
3. 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
4. Introducción
Antecedentes:
Inicia a mediados de los 80s.
1996: Gartner Inc. describe por primera vez SOA en sus
artículos: “Service Oriented” Architectures, Part 1 y
“Service Oriented” Architectures, Part 2.
2003: entra en las TI empresariales, a través de los Servicios
Web.
Implementación de Servicios Web Semánticos para Arquitecturas SOA
5. 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
6. 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 Web Semánticos para Arquitecturas SOA
Implementación de Servicios
7. 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
8. Estado del Arte
Arquitectura
Orientada a
Servicios
Servicios
Servicios
Web
Web
Semánticos
Web
Semántica
Implementación de Servicios Web Semánticos para Arquitecturas SOA
9. Estado del Arte:
Arquitectura Orientada a Servicios
Implementación de Servicios Web Semánticos para Arquitecturas SOA
10. Estado del Arte:
Arquitectura Orientada a Servicios
Componentes:
Implementación de Servicios Web Semánticos para Arquitecturas SOA
11. Estado del Arte:
Arquitectura Orientada a Servicios
Implementación de Servicios Web Semánticos para Arquitecturas SOA
12. 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
13. Estado del Arte:
Servicios Web
SOAP vs. REST:
Implementación de Servicios Web Semánticos para Arquitecturas SOA
14. 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
15. Estado del Arte:
La Web Semántica
Arquitectura de la Web Semántica:
Implementación de Servicios Web Semánticos para Arquitecturas SOA
16. Estado del Arte:
La Web Semántica
Ontología Web:
Clase (concepto) Componentes:
Instrumentos •Conceptos
musicales
Subclase de
•Relaciones
•Funciones
Instrumentos Instrumentos
de viento de cuerda •Instancias
‘Es un tipo de’
•Axiomas
‘is-a’ Subclase de
Instrumentos Instrumentos Instrumentos Instrumentos
de metal de madera con traste sin traste
Caso
(ejemplo)
Guitarra
Implementación de Servicios Web Semánticos para Arquitecturas SOA
17. Estado del Arte:
Servicios Web Semánticos
Dos enfoques importantes: OWL-S y WSMO
Implementación de Servicios Web Semánticos para Arquitecturas SOA
18. Estado del Arte
Servicios Web Semánticos
OWL-S
WSMO
Implementación de Servicios Web Semánticos para Arquitecturas SOA
19. 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
20. 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. UDDI sintáctico (tradicional)
Descubrimiento de servicios.
Localización de servicios.
Composición de servicios.
Implementación de Servicios Web Semánticos para Arquitecturas SOA
21. 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
22. Implementación de SWS con OWL-S
Infraestructura de los Servicios Web Semánticos
Implementación de Servicios Web Semánticos para Arquitecturas SOA
23. Implementación de SWS con OWL-S
Estructura de la ontología
Implementación de Servicios Web Semánticos para Arquitecturas SOA
24. Implementación de SWS con OWL-S
Service Profile:
Implementación de Servicios Web Semánticos para Arquitecturas SOA
25. Implementación de SWS con OWL-S
Service Profile: Información del Servicio
&xsd;#String
&xsd;#String
Profile textDescription
Actor
Implementación de Servicios Web Semánticos para Arquitecturas SOA
26. Implementación de SWS con OWL-S
Service Profile: Funcionalidad del Servicio
&process;#Parameter
&expr;#Condition
&process;#Result
Profile
“#hasParameter” />
<rdfs:subPropertyOf
hasInput
&process;#Input
&process;#Output
hasOutput
Implementación de Servicios Web Semánticos para Arquitecturas SOA
27. Implementación de SWS con OWL-S
Service Profile: Características del Servicio
&xsd;#AnyURL
serviceProduct
Profile &xsd;#AnyURL
ServiceParameter
serviceParameterName
sParameter
taxonomy Thing
ServiceCategory
code
value
Implementación de Servicios Web Semánticos para Arquitecturas SOA
28. Implementación de SWS con OWL-S
Service Model:
Implementación de Servicios Web Semánticos para Arquitecturas SOA
29. Implementación de SWS con OWL-S
Service Model:
Parámetros
del Proceso
Implementación de Servicios Web Semánticos para Arquitecturas SOA
30. Implementación de SWS con OWL-S
Service Model:
Tipos de
Proceso
Implementación de Servicios Web Semánticos para Arquitecturas SOA
31. Implementación de SWS con OWL-S
Relación entre OWL-S y WSDL:
Implementación de Servicios Web Semánticos para Arquitecturas SOA
32. Implementación de SWS con OWL-S
Service Grounding:
Implementación de Servicios Web Semánticos para Arquitecturas SOA
33. 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
34. Implementación de SWS con OWL-S
Modificación al Service Grounding:
Implementación de Servicios Web Semánticos para Arquitecturas SOA
35. Implementación de SWS con OWL-S
Modificación al Service Model:
Implementación de Servicios Web Semánticos para Arquitecturas SOA
36. 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
37. Modelando SWS para SOA
Arquitectura del Sistema:
Implementación de Servicios Web Semánticos para Arquitecturas SOA
38. Modelando SWS para SOA
El 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
39. Modelando SWS para SOA
Publicación de servicios con UDDI
1. get_authToken
Solicitud:
Respuesta:
Implementación de Servicios Web Semánticos para Arquitecturas SOA
40. Modelando SWS para SOA
Publicación de servicios con UDDI
2. save_bussiness
Solicitud:
Implementación de Servicios Web Semánticos para Arquitecturas SOA
41. Modelando SWS para SOA
Publicación de servicios con UDDI
2. save_bussiness
Respuesta:
Implementación de Servicios Web Semánticos para Arquitecturas SOA
42. Modelando SWS para SOA
Publicación de servicios con UDDI
3. save_tModel
Solicitud:
Implementación de Servicios Web Semánticos para Arquitecturas SOA
43. Modelando SWS para SOA
Publicación de servicios con UDDI
3. save_tModel
Respuesta:
Implementación de Servicios Web Semánticos para Arquitecturas SOA
44. Modelando SWS para SOA
Publicación de servicios con UDDI
4. save_service
Solicitud:
Implementación de Servicios Web Semánticos para Arquitecturas SOA
45. Modelando SWS para SOA
Publicación de servicios con UDDI
4. save_service
Respuesta:
Implementación de Servicios Web Semánticos para Arquitecturas SOA
46. Modelando SWS para SOA
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:
Implementación de Servicios Web Semánticos para Arquitecturas SOA
47. Modelando SWS para SOA
Descubrimiento de Servicios
Respuesta:
Implementación de Servicios Web Semánticos para Arquitecturas SOA
48. Modelando SWS para SOA
UDDI semántico basado en OWL-S
Esquema de componentes de software:
Implementación de Servicios Web Semánticos para Arquitecturas SOA
49. Modelando SWS para SOA
UDDI semántico basado en OWL-S
Diagrama de Clases de los recursos REST:
Implementación de Servicios Web Semánticos para Arquitecturas SOA
50. Modelando SWS para SOA
UDDI 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
51. Modelando SWS para SOA
Publicación semántica de Servicios
1. ActorsResource
POST del recurso:
Respuesta:
Implementación de Servicios Web Semánticos para Arquitecturas SOA
52. Modelando SWS para SOA
Publicación semántica de Servicios
2. ServicesResource
POST del recurso:
Respuesta:
Implementación de Servicios Web Semánticos para Arquitecturas SOA
53. Modelando SWS para SOA
Publicación semántica de Servicios
3. ProfilesResource. POST del recurso:
Implementación de Servicios Web Semánticos para Arquitecturas SOA
54. Modelando SWS para SOA
Publicación semántica de Servicios
4. ProcessesResource. POST del recurso:
Implementación de Servicios Web Semánticos para Arquitecturas SOA
55. Modelando SWS para SOA
Publicació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
56. Modelando SWS para SOA
Publicació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
57. Modelando SWS para SOA
Descubrimiento 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
58. Modelando SWS para SOA
Descubrimiento semántico de Servicios
Solicitud a getServiceProfile:
Implementación de Servicios Web Semánticos para Arquitecturas SOA
59. Modelando SWS para SOA
Descubrimiento semántico de Servicios
Recursos dispuestos en directorios:
Implementación de Servicios Web Semánticos para Arquitecturas SOA
60. Modelando SWS para SOA
Comparativa: estándar UDDI vs. prototipos semánticos
Estándar UDDI: Prototipos semánticos:
Autorización previa No lo tiene
Registros:business, service, tModel y Registros: actor, service, profile,
binding. process y grounding.
Descubrimiento: API Inquiry Descubrimiento: métodos y
recursos dispuestos en directorios
Búsquedas en pocas propiedades Búsquedas en función a la relación
de propiedades
Pocas propiedades y aspectos Más propiedades para describir el
técnicos servicio
Sólo SOAP SOAP y REST
Formato XML Formato XML y JSON
Implementación de Servicios Web Semánticos para Arquitecturas SOA
61. Modelando SWS para SOA
Localizació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
62. Modelando SWS para SOA
Localizació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
63. Modelando SWS para SOA
Composición Semántica de Servicios
Proceso de negocio en BPEL:
Implementación de Servicios Web Semánticos para Arquitecturas SOA
64. Modelando SWS para SOA
Composición Semántica de Servicios
Componentes de la Arquitectura BPEL:
Implementación de Servicios Web Semánticos para Arquitecturas SOA
65. Modelando SWS para SOA
Composició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
66. Modelando SWS para SOA
Composición Semántica de Servicios
Solicitud: Respuesta:
Implementación de Servicios Web Semánticos para Arquitecturas SOA
67. Modelando SWS para SOA
Composició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
68. Modelando SWS para SOA
Composició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
69. Modelando SWS para SOA
Comparativa: composición sintáctica vs. semántica
Composición Sintáctica: Composición semántica:
Procesos de negocio del lado del Procesos de negocio en la
usuario. ontología.
SOAP. SOAP y REST.
Complejos de publicar. Publicación similar a UDDI.
Tiene un motor de composición. Se le puede implementar.
No es transparente. Es transparente
Implementación de Servicios Web Semánticos para Arquitecturas SOA
70. 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
71. Conclusiones
Aumentan la interoperabilidad
Capacidades de SWS descritas Sistemas escalables
Mejoras añadidas Potencial añadido
Infraestructura heterogénea
SOA y sus
componentes
Estándar Servicios Web
OWL-S Semánticos
Mayor información
Procesos más eficientes
Registro semántico Prototipos Mejores resultados
Registro heterogéneo Propuestos
Objetivos alcanzados
Implementación de Servicios Web Semánticos para Arquitecturas SOA
72. 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
73. Líneas Futuras
Medidas de
seguridad
Composición por
orquestación y
coreografía
Prototipo de
monitorización
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