Académique Documents
Professionnel Documents
Culture Documents
Objetivos
Entender los middleware orientados a mensajes Conocer las tecnologas relacionadas con los servidores de aplicaciones
Temas
1. Middleware orientado a mensajes 2. Servidores de Aplicaciones 3. Tecnologas relacionadas:
Java EE .NET PHP
Introduccin
Mensajes Es en el sentido ms general, es el objeto de la comunicacin. Est definido como la informacin que el emisor enva al receptor a travs de un canal de comunicacin determinado
Introduccin
Colas / Queue Elemento que presta servicios de transporte a diversas entidades tales como datos, objetos o eventos son almacenados y mantenidos para ser procesados posteriormente. En estos contextos, la cola realiza la funcin de un buffer
Este modelo podra utilizarse en un sistema de monitorizacin de una red: una aplicacin (emisor) recoge datos de trfico, ocupacin de puertos, etc. y enva esos datos al administrador o administradores de la red (suscriptor) de forma automtica.
11
Colas por prioridad Los mensajes son guardados en colas FIFO segn su prioridad
12
MOM - Caractersticas
Comunicacin asncrona entre aplicaciones para compartir informacin. No obstante, tambin hay soluciones que trabajan con conexiones sncronas o pseudo-sncronas Los mensajes son almacenados en colas hasta que el receptor est listo para recoger el mensaje Garanta de que los mensajes llegarn siempre a su destino
13
MOM - Caractersticas
Las aplicaciones estn aisladas de la complejidad de las redes y del hardware gracias al MOM. Por ello, no sufrirn ninguna modificacin aunque cambie parte de la red o del hardware utilizado La comunicacin entre aplicaciones es no bloqueante, es decir, que las aplicaciones que realizan una peticin no detienen su ejecucin mientras esperan el mensaje de respuesta.
14
MOM - Caractersticas
Las colas utilizadas pueden ser permanentes o dinmicas. Las primeras almacenan la informacin en disco, mientras que las segundas guardan los datos de forma temporal en la memoria voltil.
15
MOM - Caractersticas
Las aplicaciones que se comunican entre s, no estn conectadas directamente y eso facilita la programacin y permite crear nuevas funcionalidades. El emisor no necesita conocer la ubicacin fsica del receptor y viceversa. Muchas soluciones comerciales MOM proporcionan tambin encriptacin de datos extremo a extremo para incrementar la seguridad.
16
Se definen diferentes ACK con informacin ms compleja como peticiones de reenvi de ciertas tramas, informacin sobre incidencias en la red, etc.
17
MOM: AMQP
Advanced Message Queuing Protocol Es un estndar abierto para el paso de mensajes entre aplicaciones empresariales que define:
Encolamiento Enrutamiento subscripcin) Confiabilidad Seguridad (tanto punto-a-punto como publicacin-
Estipula el comportamiento tanto del servidor como del cliente, hasta el punto de que las implementaciones de diferentes proveedores sean verdaderamente interoperables, de la misma manera que los protocolos SMTP, HTTP, FTP
18
MOM - Productos
JMS (Java Message Service) MQ Series (ahora WebSphere MQ) Apache Qpid OpenAMQP MSMQ (Microsoft) SonicMQ
19
Servidor de Aplicaciones
Un servidor de aplicaciones es una plataforma de software que proporciona un enfoque generalizado para la creacin de una aplicacin, sin importar el contenido funcional de la aplicacin El servidor se dedica a la ejecucin eficaz de los procedimientos (programas, rutinas, configuraciones) para soportar las aplicaciones desplegadas Los principales beneficios de la utilizacin de los servidores de aplicacin son la centralizacin y la disminucin de la complejidad en el desarrollo de aplicaciones.
20
Servidor de Aplicaciones
Facilita la implementacin de los sistemas distribuidos. Un sistema distribuido en oposicin a un sistema monoltico, permite mejorar tres aspectos fundamentales en una aplicacin:
La alta disponibilidad Escalabilidad Mantenimiento
Incluyen soporte de conectividad que les permite intercomunicarse con variados servicios, para efectos de confiabilidad, seguridad, no-repudio, etc.
21
Servidor de Aplicaciones
Caractersticas Naci como la evolucin natural de los servidores web Representa el servidor del medio en el tradicional esquema de 3 niveles (multipropsito) Generalmente gestionan la mayor parte (o totalidad) de las funciones de lgica de negocio y de acceso a datos de la aplicacin
22
Servidor de Aplicaciones
Caractersticas Brindan a los desarrolladores una Interfaz de Programacin de aplicaciones (API), de tal manera que no tengan que preocuparse del sistema operativo o por la cantidad de interfaces en una aplicacin web moderna Los servidores de aplicacin brindan tambin soporte a una gran variedad de estndares tales como: HTTP, XML, IIOP, JDBC, SSL, etc. que les permiten su funcionamiento en ambientes web y la conexin a una gran variedad de fuentes de datos, sistemas y dispositivos. Implementa soporte para colas y pool de conexiones
23
Servidor de Aplicaciones
Pool de conexiones Est demostrando que el mayor tiempo de una interaccin son las conexiones a otros sistemas Un pool de conexiones es un conjunto limitado de conexiones hacia un sistema
24
Servidor de Aplicaciones
Pool de conexiones Los servidores de aplicaciones implementan pools de diferentes tipos Los clientes van solicitando las conexiones para realizar consultas o actualizaciones, y se van asignando. A medida que las solicitudes van finalizando, las conexiones son devueltas al pool para que sean reutilizadas
25
Servidor de Aplicaciones
Plataformas tecnolgicas Principales plataformas tecnolgicas han marcado el desarrollo de los servidores de aplicaciones: JAVA Iniciado por Sun Microsystems, actualmente continua bajo el liderazgo de Oracle. Cuenta con el apoyo de la JCP y Apache Software Foundation .NET Plataforma de aplicaciones de Microsoft PHP
26
28
29
Libreras originadas por la competencia de proyectos open source tipo: Struts, Spring, etc.
30
31
32
34
35
36
38
40
42
45
46
Resumen
Los MOM permite a las aplicaciones distribuidas comunicarse mediante el envo de mensajes. Tienen 2 modelos de mensajera: P2P y Publicacin / suscripcin Un servidor de aplicaciones es una plataforma de software que proporciona un enfoque generalizado para la creacin de una aplicacin, sin importar el contenido funcional de la aplicacin Java EE define el conjunto bsico de principios activos y caractersticas de los servidores de aplicaciones sobre tecnologa Java .NET proporciona un entorno integrado para implementar y ejecutar aplicaciones de negocio personalizadas creadas sobre entornos con productos Microsoft
47
Preguntas?
48