1. SOA, una perspectiva
Presentado por:
Manuel J. Recena Soto
www.manuelrecena.com
Para la asignatura:
Computación Orientada
a Servicios
Lugar y fecha:
ETSII
Sevilla, 4 de julio de 2007
Departamento de
Lenguajes y Sistemas Informáticos
Universidad de
Sevilla
2. 01 SOA, una perspectiva
Objetivos
Una vision
Cómo afrontar una implantación
Caso de estudio
OpenESB, una solución abierta basada en estándares
Conclusiones
Agradecimientos
SOA, una perspectiva - Manuel J. Recena Soto
3. 02 Objetivos
Realizar una pequeña aportación a la asignatura C.O.S.
Proporcionar una visión desde la experiencia profesional
Compartir experiencias del día a día
Acercar las arquitecturas orientadas a servicios
SOA, una perspectiva - Manuel J. Recena Soto
4. 03 Una visión
Pongo a cero los contadores de los siguientes términos:
Procesos: 0 veces
✔
Servicios: 0 veces
✔
Estrategía: 0 veces
✔
Perspectiva: 0 veces
✔
Gobierno: 0 veces
✔
Integración: 0 veces
✔
SOA, una perspectiva - Manuel J. Recena Soto
6. 05 Una visión
¿Nos suena?
Aplicaciones .NET, J2EE, PHP, Ruby, Python, Visual Basic, Oracle
✔
Forms, Delphi, etc...
Información en bases de datos, servicios de directorio, sistemas de
✔
ficheros, etc...
Aplicaciones de escritorio, cliente-servidor, N-capas, etc...
✔
SOA, una perspectiva - Manuel J. Recena Soto
7. 06 Una visión
El gran objetivo:
INTEROPERABILIDAD
¿Dónde te encuentras?
¿Dónde te gustaría encontrarte?
ACOPLAMIENTO
SOA, una perspectiva - Manuel J. Recena Soto
8. 07 Una visión
APLICACIONES
PROCESOS
SERVICIOS
CONTENEDORES
DE INFORMACIÓN
SOA, una perspectiva - Manuel J. Recena Soto
9. 08 Una visión
Arquitectura Orientada a Servicios como alternativa, no como
único camino.
Una nueva (¿De verdad es nueva?) perspectiva del mismo
escenario.
Una filosofía distinta para construir. Se proyecta una
arquitectura y se promueve una infraestructura.
El “mirar” desde esta perspectiva conlleva un cambio de
estrategia.
SOA, una perspectiva - Manuel J. Recena Soto
10. 09 Una visión
Lo que destaco de esta estrategia:
Su adopción de forma incremental.
✔
Los cambios radicales para los surfer
Dejamos en un segundo plano a los aplicativos para centrarnos en
✔
los procesos.
Lo que ya tenemos lo adaptamos. Planteamiento de integración.
✔
Mala filosofía la de tirar y empezar de nuevo
SOA, una perspectiva - Manuel J. Recena Soto
11. 10 Una visión
Beneficios:
Independencia entre los servicios y los consumidores
✔
Reutilización
✔
Una mayor adaptación al cambio
✔
Integración
✔
SOA, una perspectiva - Manuel J. Recena Soto
12. 11 Una visión
En el momento en el que se hace una puesta en común y se
centraliza una actividad necesitamos responder a:
¿Quién planifica?
✔
¿Quién dimensiona?
✔
¿Quién determina las directrices para la definición de servicios?
✔
SOA, una perspectiva - Manuel J. Recena Soto
13. 12 Una visión
Gobierno SOA:
Funciones:
✔
Especificación y planificación
●
Análisis y diseño
●
Desarrollo y pruebas
●
Publicación
●
Monitorización
●
SOA, una perspectiva - Manuel J. Recena Soto
14. 13 Una visión
Una inexistencia de un Gobierno SOA provocaría:
Granularidad no unifirme en los servicios
✔
Múltiples caminos para realizar operaciones integradoras
✔
Carencia de un modelo de datos común
✔
Sin unas directices, la reutilización sería complicada
✔
Registro de servicios
✔
Gestión de versiones de los servicios
●
Dependencias (relaciones) entre servicios
●
SOA, una perspectiva - Manuel J. Recena Soto
15. 14 Una visión
Tipos de herramientas empleadas en un Gobierno SOA:
Repositorio de servicios
✔
Monitorización
✔
Seguridad
✔
SOA, una perspectiva - Manuel J. Recena Soto
16. Cómo afrontar una implantación
15
Definir un piloto correctamente acotado
La adopción de SOA debe hacerse progresivamente, proyecto a
proyecto.
2 o 3 años para consolidar
Después de esos 2 o 3 años, los problemas más graves se
centrarán en la sostenibilidad y mantenibilidad. La clave está en
el gobierno.
Cuando tengas que elegir, pondera todo lo que puedas el uso de
estándares.
SOA, una perspectiva - Manuel J. Recena Soto
17. 16 Caso de estudio
Se desea implantar un conjunto de aplicaciones para satisfacer
unas necesidades de distintas unidades orgánicas dentro de una
universidad.
Todas estas aplicaciones tienen en común la necesidad de
tramitar ciertos procedimientos administrativos.
La universidad cuenta con un motor de tramitación:
El motor de tramitación dispone de una herramienta
de gestión con interfaz web
Para la integración del motor con nuevas aplicaciones
se dispone de un API.
Contenedor
WAR
JSP/Servlet
PL/SQL
Oracle
SOA, una perspectiva - Manuel J. Recena Soto
18. 17 Caso de estudio
Una primera aproximación sería:
motor-api.jar motor-api.jar
Aplicación 1 Aplicación 2
J2EE J2EE
con interface web con interface swing
otras.jar otras.jar
Contenedor
WAR
JSP/Servlet
PL/SQL
Oracle
MySQL
SOA, una perspectiva - Manuel J. Recena Soto
19. 18 Caso de estudio
Algunas notas:
Seguimos teniendo aplicaciones monolíticas que comparten un API
✔
Dependencia del marco tecnológico
✔
Integración a nivel de compilación
✔
Un cambio (nuevas funcionalidades, mejoras de rendimiento,
✔
errores) en la API... ejem ejem
SOA, una perspectiva - Manuel J. Recena Soto
20. 19 Caso de estudio
Una segunda aproximación sería:
otras.jar
Aplicación 1
Aplicación 2
J2EE
.NET
con interface web
MySQL
WS
WAR Contenedor
JSP/Servlet
PL/SQL
Oracle
SOA, una perspectiva - Manuel J. Recena Soto
21. 20 Caso de estudio
¿Es SOA la aproximación anterior?
¿Habría una tercera aproximación más cercana a SOA?
SOA, una perspectiva - Manuel J. Recena Soto
22. 21 OpenESB, una solución abierta basada en estándares
OpenESB 2.0 beta
Lo encontramos dentro de
Java Application Platform
SDK Update 3 Preview 2
Herramientas disponibles:
Editor WSDL
✔
Editor BPEL
✔
Diseñador XSLT
✔
Etc...
✔
Muy integrado con Netbeans
SOA, una perspectiva - Manuel J. Recena Soto
23. 22 OpenESB, una solución abierta basada en estándares
Su arquitectura
SOA, una perspectiva - Manuel J. Recena Soto
24. 23 OpenESB, una solución abierta basada en estándares
Pieza clave:
SOA, una perspectiva - Manuel J. Recena Soto
25. 24 OpenESB, una solución abierta basada en estándares
Binding components Service engines
Email BC BPEL SE
✔ ✔
FTP BC IEP SE
✔ ✔
HTTP BC ETL SE
✔ ✔
HL7 BC XLST SE
✔ ✔
JDBC BC SQL SE
✔ ✔
LDAP BD SMTP SE
✔ ✔
etc... etc...
✔ ✔
SOA, una perspectiva - Manuel J. Recena Soto
26. 25 Conclusiones
¿Dónde tiene un gran aporte SOA?
En corporaciones, instituciones y administraciones
✔
¿Por qué?
Tienen relaciones horizontales y verticales y en sus actuaciones
✔
intervienen múltiples departamentos, centros directivos, etc. En
definitiva, porque necesitan ¡interoperar!
¿Realmente necesitas todo lo que gira alrededor de SOA?
Quizás no, de ahí la importancia de una implantación evolutiva
✔
SOA, una perspectiva - Manuel J. Recena Soto
27. 26 Conclusiones
Antes de iniciar un piloto con SOA comprueba:
Común denominador en tus aplicaciones (gestión de la identidad,
✔
firma electrónica, gestión de procesos (grandes o pequeños), etc)
Los sistemas actuales no satisfacen los requisitos funcionales de una
✔
forma usable.
El nivel de integración
✔
Cada vez que se solicita un cambio, el reponsable de desarrollo
✔
tiembla.
Nos plateamos constantemente rehacer cosas.
✔
Existe multiplicidad de la información, tenemos que sincronizar ;(
✔
SOA, una perspectiva - Manuel J. Recena Soto
28. 27 Conclusiones
Al igual que xhtml y css permiten un “casi” desacoplamiento
entre con contenido/información y la forma/representación,
SOA nos permite desacoplarnos de la tecnología, de los
contenedores de información, etc..
SOA, una perspectiva - Manuel J. Recena Soto
29. 28 Conclusiones
Cómo van los contadores:
Procesos: overflow veces
✔
Servicios: overflow veces
✔
Estrategía: overflow veces
✔
Perspectiva: overflow veces
✔
Gobierno: overflow veces
✔
Integración: overflow veces
✔
Está claro cuáles son las palabras clave
SOA, una perspectiva - Manuel J. Recena Soto
30. 29 Agradecimientos
A Jaime Cid por compartir sus conocimientos y experiencias
A http://www.flickr.com/people/shuttersparks de donde he
tomado la fotografía para la portada
A Alberto Molpeceres por sus consejos
A mi actual empresa (GMV SGI) por darme la oportunidad de
adquirir experiencia y formación
SOA, una perspectiva - Manuel J. Recena Soto