Beruflich Dokumente
Kultur Dokumente
VIRTUALIZACIÓN
Procesamiento
distribuido,
cliente/servidor y
clusters
• No escalables
• ¿Cómo añadir más recursos?
Arquitecturas – Primeros sistemas
distribuidos
Síncrono/asíncrono
Normalmente Suscripción/Respuesta
Documentos XML ) Mensajes
Loose Coupling
JMS, AMQP, ActiveMQ, ØMQ, MSMQ, D-Bus, etc.
ESBs: Mensajería + Servicios de dominio
D-Bus
REST – REpresentational State Transfer
Patrón arquitectural de desarrollo de aplicaciones sobre el Web
Desarrollado por Roy T. Fielding en su tesis doctoral
Aprovecha el web tal y como está
El web ha sido escalable hasta ahora por tener una serie de
requisitos: se aplicarán a REST
Identificación de recursos
Todos los elementos accedidos remotamente tienen una identificación
(URI). Se elige una representación para cada recurso (XML, YAML)
Manipulación de recursos
Hay operaciones para crear, modificar y borrar (CRUD) recursos
Mensajes auto-descriptivos
Los recursos incluyen metadatos (cache, validez, MIME). Incluidos en los
headers de HTTP
Los metadatos permiten tratar el mensaje
Tejido hypermedia como representación del estado de la aplicación (HATEOAS)
Los datos retornados pueden incluir enlaces a otros recursos
Componentes: CCM/EJB
• Componentes: Entidades redistribuibles binarias ejecutadas
en un entorno de ejecución (run-time)
• Modelo contenedor
• Unidades independientes de construcción de programas
• Unidades binarias de desarrollo, prueba y ensamblado
• Soporte run-time que permite instalar componentes
• El entorno de ejecución (run-time) ofrece todos los servicios
a los componentes instalados
Seguridad, transacciones, persistencia, etc.
Ofrecidos como aspectos (Aspect-Oriented
Programming (AOP))
Componentes: CCM/EJB
Modelos de Componentes Distribuidos
• Los componentes se encuentran distribuidos
• Diferentes organizaciones ofrecen componentes
Bien para descargar
Bien para utilizarlos remotamente bajo pago
• Necesidad de un entorno seguro, autenticado... p. ej. Grid
• Transparencia local/remota
• Paletas de componentes similares a Delphi o VB, pero
distribuidas
Cloud Computing
Clusters
• Servidor diferente
– Cada computadora es un servidor diferente
– No hay discos compartidos
– Se necesita algún tipo de software de gestión o de
planificación
– Se debe copiar constantemente la información
entre los sistemas, de forma que cada sistema
tenga acceso a los datos actualizados de otros
sistemas
Configuraciones de los clusters
Aplicaciones paralelas
PC/Estación de trabajo PC/Estación de trabajo PC/Estación de trabajo PC/Estación de trabajo PC/Estación de trabajo
Hw interfaz red Hw interfaz red Hw interfaz red Hw interfaz red Hw interfaz red
RPC
Servicio de cluster
Gestor actualizaciones
globales
Gestor de base de datos
Procesador de
Gestor de
eventos
nodos
Red
Interfaz
nodo-v/VFS
Cache
Capa proxy
Invocación al objeto
Núcleo
Interfaz
nodo-v/VFS Implementación del objeto Cache
Interfaz
nodo-v/VFS
Sistema de Sistema de Sistema de Sistema de
ficheros ficheros ficheros ficheros
Estaciones de
trabajo Linux
Ethernet o Ethernets
interconectados