Este documento presenta una agenda sobre SOA y Cloud Computing. La agenda sobre SOA incluye las definiciones de SOA, sus beneficios y arquitectura de implementación. La agenda sobre Cloud Computing incluye las definiciones de las capas SaaS, PaaS e IaaS, los tipos de nubes y sus ventajas y desventajas. Finalmente, compara SOA y Cloud Computing.
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Introducción SOA - Cloud Computing
1. SOA – Cloud Computing
Grupo 9
Nicolas Behotas
Marco Yamil Caraballo Sosa
Nicolás Fischer
Juan Ignacio Marderwald
Rosario Mensi
José Ignacio Orlando
Gustavo Vasoin
2. Agenda
• SOA.
– ¿Por qué SOA?
– ¿Qué es SOA?
– ¿Por qué usar SOA?
– Arquitectura.
– Aplicaciones.
• Cloud Computing.
– ¿Qué es CC?
– Capas.
– Tipos de nubes.
– Ventajas y desventajas.
• SOA vs Cloud Computing.
3. Ejemplo disparador
• Hace un tiempo los
dispositivos electrónicos
eran sistemas
autocontenidos y
monolíticos.
• Hoy, cada componente
es “pluggable and
independent”.
• Conexiones
estandarizadas.
6. Definición formal de SOA
Arquitectura diseñada para construir
aplicaciones de negocio a partir de un
conjunto de componentes de bajo
acoplamiento, dirigidos de forma tal que
ofrezcan niveles de servicio bien definidos, y
que reutilizan servicios internos o externos a
la red.
7. Definición formal de SOA
Arquitectura diseñada para construir
aplicaciones de negocio a partir de un
conjunto de componentes de bajo
• Funcionalidad bien definida, autónoma y que no
acoplamiento, dirigidos de forma tal que
depende del contexto o estado de otros servicios.
ofrezcande una conexión. servicio bien definidos, y
• Punto final niveles de
que reutilizan servicios internos o externos a
la red.
8. Definición formal de SOA
Arquitectura diseñada para construir
aplicaciones de negocio a partir de un
conjunto de componentes de bajo
acoplamiento, dirigidos de forma tal que
ofrezcan Independencia delservicio bien definidos, y
• niveles de cliente respecto de la implementación
que reutilizan servicios internos o externos a
de los servicios.
la red.
9. Definición formal de SOA
• ¿Servicio bueno? ¿Malo? ¿Medio? ¿Intermitente?
Arquitectura diseñada para construir
¿Impredecible?
aplicaciones de de respuesta deseadas ante de un
• Se definen medidas negocio a partir faltas o fallas
que ocurran durante el proceso.
conjunto de componentes dey bajo del
• Enfocados principalmente en disponibilidad rapidez
acoplamiento, dirigidos de forma tal que
servicio o performance.
ofrezcan niveles de servicio bien definidos, y
que reutilizan servicios internos o externos a
la red.
10. ¿Qué es SOA?
Service Oriented Architecture
Funciones del negocio de granularidad gruesa con
bajo acoplamiento que pueden ser descubiertos y
accedidos por parte de otras aplicaciones.
11. ¿Qué es SOA?
Service Oriented Architecture
Infraestructura de aplicaciones más ágiles que
responden rápidamente a los cambios y demandas del
negocio a la hora de recomponer servicios.
12. SOA
Service Oriented Architecture
Brinda amplio marco para que las empresas
puedan construir, desplegar, recomponer
y administrar los servicios.
El acceso se realiza a través de protocolos estándar.
13. Algunos beneficios
• Publicación de servicios.
Reusabilidad • Principio fundamental de SOA.
Flexibilidad • Bajo acoplamiento.
• Protocolos y tecnologías estándar.
Interoperabilidad • Abstracción de servicios mediante interfaces.
• Reutilización de servicios existentes.
Eficiencia en costo • Bajo acoplamiento facilita modificaciones + mantenimiento.
• Uso de un Enterprise Service Bus (ESB) capaz de balancear la
Escalabilidad carga.
14. Vista conceptual SOA
Directorio de
2. Búsqueda servicios 1. Registro del
y recuperación del documento de
servicio. descripción del servicio.
3. Invocación al servicio vía
mensaje (acción a realizar +
datos de entrada)
Consumidor Proveedor
de servicios de servicios
4. Respuesta vía mensaje
(resultados)
15. Framework de implementación de SOA
Asegura el intercambio
de mensajes entre los
diferentes componentes
de la arquitectura.
16. Framework de implementación de SOA
• Información sobre componentes de
software disponibles o en uso
• Reglas de conexión y descripción
asociadas a cada componente
• Publicaciones de business services.
17. Framework de implementación de SOA
• Provee la tecnología necesaria para
conectar personas a personas, personas a
procesos o procesos con procesos.
18. Framework de implementación de SOA
• Cómo se estructuran las tareas.
• Cómo se realizan.
• Cuál es su orden correlativo.
• Cómo se sincronizan.
• Cómo fluye la información que soporta
las tareas.
• Cómo se le hace seguimiento al
cumplimiento de las tareas.
19. Framework de implementación de SOA
• Se asegura de que los niveles de servicio
sean aceptables
• Utiliza los servicios de la capa de
infraestructura
20. Framework de implementación de SOA
• Conjunto de servicios para dar soluciones
a problemas relacionados con la
infraestructura (plumbing).
21. Enterprise Service Bus - ESB
• Utilizado para transportar mensajes entre los
componentes de software.
• Permite rápida integración de sistemas complejos.
• Evita acoplamiento entre tecnologías.
• Altamente escalable (con infraestructura que soporta alta
demanda).
• Soporte de diversos protocolos.
• Componente complejo!
– Más recomendable comprarlo que desarrollarlo desde cero.
– Proveedores: IBM, Oracle, Cape Clear, …
23. ESB - Funciones
Pasaje de mensajes
• Soporta varios tipos.
• Provee ruteo inteligente basado en contenido.
• Entrega confiable.
Management
• Monitorea su propia performance por latencias de mensajes.
• Mecanismos de prioridad de mensajes.
• Mecanismos de balanceo de carga.
Interfaces
• Valida mensajes frente a la definición de su esquema que responde a la
almacenada en el registro.
• Soporta estándares de web services.
• Adaptadores de aplicaciones para interfaces de distinto tipo a las de web services.
24. ESB - Funciones
Mediación
• Transforma formatos de mensajes.
• Traducción entre entornos mediante protocolos.
Metadata
• Metadata: descripciones acerca de la forma y tipo de los elementos que
transportan los mensajes, su orden, su significado, etc.
• Transformación de los datos utilizando metadata definida en el registro.
Seguridad
• Encripta mensajes cuando es necesario.
• Modelo de seguridad estandarizado para autorizaciones, autentificaciones y
auditoría de todas las actividades en el ESB
• Navegación sin bloqueos por firewalls.
25. SOA Registry
• Referencia central diseñada para el descubrimiento de
servicios.
• Es un registro de tiempo real.
• 3 funciones principales:
– Publicar y permitir el descubrimiento de servicios.
– Almacenar y administrar metadata de servicios.
– Gobernar el uso de servicios.
26. Broker
• Inicia las cosas!
• Conecta servicios entre sí, permitiendo el flujo de procesos
del negocio.
• Hace trabajar a todas las conexiones entre componentes.
• Actúa como “aguja” que “hila” un componente con el
siguiente en un proceso del negocio.
• Utiliza información de los componentes residente en el
SOA registry y junta los componentes para el workflow
engine.
28. Ejemplo ejecución broker
• Un usuario se loggea y solicita la ejecución
de una aplicación.
• Como esta aplicación no está corriendo, el
broker es notificado y entra en acción.
29. Ejemplo ejecución broker
• Broker consulta al registro para saber
qué es lo que tiene que hacer para poder
correr la aplicación.
• El registro consulta primero al motor de
reglas para verificar si la aplicación está
en condiciones de ser ejecutada.
31. Ejemplo ejecución broker
• Broker chequea qué interfaces entre componentes
necesita para poder interconectarlos.
• Información sobre las conexiones figura en
adaptadores, y es creada la primera vez que se
conectan los componentes.
• Broker sólo especifica qué subconjunto de información
de interfaz utilizar.
• Los componentes pueden entonces enlazarse (bind)
entre sí de manera directa.
32. Ejemplo ejecución broker
• Regla: “Compras superiores a $1000 requieren
chequeo de crédito”.
• Es necesario invocar a un servicio externo.
• El servicio sólo es conectado cuando se lo necesita.
• Order Processing solicita conexión con Credit Checking
al broker.
33. Ejemplo ejecución broker
• Eureka! El broker ya pudo
proveer la información
necesaria al motor de reglas
para que ejecute las reglas
almacenadas en él.
• Los cuatro componentes son
enlazados al motor de reglas, y
el proceso empieza a
ejecutarse.
34. ¿Qué hicimos hasta ahora?
1. Un cliente peticiona la ejecución de un servicio.
2. El broker entra en acción consultando al registro y
estableciendo la conexión de los componentes necesarios
del servicio.
3. Se crean los enlaces con la ayuda del ESB para manejo de
mensajes.
35. Separación Lógica/Tecnología
Propósito de SOA → flexibilizar ante cambios, sin tener que
enfocarse en la infraestructura subyacente.
Para liberar el negocio de la tecnología, se separa la lógica del
negocio de la infraestructura (plumbing).
Logic business technology
36. Plumbing
Software técnico complejo que mantiene el centro de datos y
la red en funcionamiento
Business Service Layer
Plumbing Service Layer
Hardware Layer
37. Plumbing - ¿Qué involucra?
Monitoreo de nivel de servicio.
Identificación de faltas/fallas.
Manejo de fallas.
Modelamiento de performance y optimización.
Acciones de provisión y remedio automáticas.
38. SOA Supervisor
• Asegura que la plataforma
subyacente al entorno SOA
trabaje de manera consistente y
predecible.
• Punto central de control,
responsable de dirigir.
• Ante problemas de performance,
envía detalles al servicio de
plumbing usando reportes de
monitores iniciados por el broker.
45. SOA supervisor
• Se le emiten reportes de nivel de
servicio al supervisor.
46. SOA supervisor
• Ante problemas del software, el
supervisor recurre a los servicios de
infraestructura para darle solución.
47. Aplicaciones de SOA
• Actualización de SO.
– Windows Update, Gestor de Actualizaciones de Linux, Bonjour de
MacOS.
• OfficeMax.
– Análisis en tiempo real de eventos de negocio para cuantificación
de hot sellers, errores en precios, seguimiento de productos.
• Thomson Reuters.
– Mantiene 4000 servicios de business intelligence.
• Colonial Williansburg (Virginia, USA).
– Almacenamiento centralizado de información histórica.
• División Espacial de la Fuerza Aérea Norteamericana.
– Implementación SOA de un sistema de monitoreo de seguridad
espacial.
48. Cloud Computing
• Es un modelo de uso y distribución de
recursos (software o hardware) vía
internet.
• La red que provee estos recursos se llama
cloud (nube).
50. Capas
• SaaS – Software as a Service.
– Aplicaciones corriendo en la nube.
• PaaS – Platform as a Service.
– Plataformas de desarrollo corriendo en la nube.
• IaaS – Infrastructure as a Service.
– Se provee a los clientes VMs o almacenamiento
de red.
52. SaaS
• Elimina la necesidad de instalar y correr la
aplicación en la computadora del cliente.
• Ventajas: fácil, sin instalaciones,
actualizaciones centralizadas.
• Desventajas: funcionalidad limitada, no hay
control de acceso a la tecnología subyacente.
Pago por uso.
• Ejemplos: Dropbox, GoogleApps.
53. PaaS
• Abstracción de un ambiente de desarrollo.
• Empaquetamiento de una carga de servicios.
• Pueden dar servicio a todas las fases del ciclo
de desarrollo y testing de software, o
especializarse en una etapa en particular.
• Ventajas: gran flexibilidad.
• Desventajas: capacidades restringidas por el
proveedor.
• Ejemplos: Google App Engine, Windows Azure.
54. IaaS
• También llamado HaaS (hardware as a service).
• Entrega almacenamiento básico y capacidades de
cómputo como servicios estandarizados en la red.
• Desde procesamiento batch hasta aumento de
servidor/almacenamiento ante cargas pico.
• Ejemplo: Amazon Web Services EC3 (cómputo) y
S3 (almacenamiento).
55. Tipos de nubes
• Manipuladas por terceros.
• Trabajos de distintos clientes pueden estar mezclados en los servidores, los
Públicas sistemas de almacenamiento y otras infraestructuras en la nube.
• Los usuarios no conocen qué otros trabajos están corriendo.
• Protección de los datos y ediciones a nivel de servicio.
• Infraestructura on-demand manejada por un solo cliente que controla qué
Privadas aplicaciones correr y en donde.
• Propietarios del servidor, la red, el disco.
• Combinación pública-privada.
• Propiedad de algunas partes, otras partes son compartidas.
Híbridas • Escalado externo por demanda.
• Complejo determinar cómo distribuir aplicaciones a través de las 2 nubes.
56. Ventajas
• Disponible para cualquier equipo con acceso a
internet.
• Escalabilidad.
• Reducción de costos.
• Manejo de cambios encapsulado.
• Capacidad de almacenamiento ilimitada.
• Acceso universal a los datos.
• Agilidad en demanda.
• Gran oferta.
57. Desventajas
• Seguridad.
– Acceso a los datos fuera de la organización.
– Pérdida de los datos.
• Dependencia del proveedor.
• Problemas de confiabilidad relacionados
con la conexión.
– No trabaja bien con baja velocidad de conexión.
– La conexión debe ser permanente.
58. SOA vs Cloud Computing
SOA Cloud Computing
Arquitectura. Modelo.
Nuevo enfoque para organizar los Nuevo modelo para acceder/compartir
recursos IT de una organización. recursos.
Nivel bajo de abstracción (nivel de Nivel alto de abstracción (no se observa
arquitectura). una arquitectura particular).
Enfocado en comunicación proceso- Enfocado en acceso/almacenamiento
proceso, usuario-proceso o usuario- datos, recursos de software y
usuario. tecnologías.
Cloud Computing puede utilizarse para SOA puede utilizarse para implementar
implementar SOA. Cloud Computing.
Sujeto a estándares (XML, WSDL). Estándar sin desarrollar (dependencias
del proveedor).
59. SOA vs Cloud Computing
• SOA es una estrategia conveniente para
implementar Cloud Computing.
– Ventajas de escalabilidad, independencia de
localización, provisión rápida y flexible.
• Aplicaciones SaaS como otro servicio.
• Puede utilizarse PaaS para implementar
SOA.
• Puede utilizarse IaaS para alojar SOA.