Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Aplicaionesweb X6
Aplicaionesweb X6
Casazola
Se denomina servidor de aplicaciones a un servidor en una red de computadoras que ejecuta ciertas aplicaciones
Un dispositivo de software que proporciona servicios de aplicacin a las computadoras cliente.
Servidor de Aplicaciones
Servidor de aplicaciones
Sistemas Distribuidos
Permite mejorar tres aspectos fundamentales en una aplicacin:
Alta disponibilidad Escalabilidad Mantenimiento.
3
Servidor de Aplicaciones
Alta Disponibilidad
hace referencia a que un sistema debe estar funcionando las 24 horas del da los 365 das al ao. Para poder alcanzar esta caracterstica es necesario el uso de tcnicas de balanceo de carga y de recuperacin ante fallos (failover).
Servidor de Aplicaciones
Escalabilidad
Es la capacidad de hacer crecer un sistema cuando se incrementa la carga de trabajo (el nmero de peticiones). Cada mquina tiene una capacidad finita de recursos y por lo tanto slo puede servir un nmero limitado de peticiones. Ejemplo, tenemos una tienda que incrementa la demanda de servicio, debemos ser capaces de incorporar nuevas mquinas para dar servicio.
5
Servidor de Aplicaciones
Mantenimiento
tiene que ver con la versatilidad a la hora de actualizar, depurar fallos y mantener un sistema. La solucin al mantenimiento es la construccin de la lgica de negocio en unidades reusables y modulares.
Servidor de Aplicaciones
Si bien el trmino es aplicable a todas las plataformas de software, hoy en da el trmino servidor de aplicaciones se ha convertido en sinnimo de la plataforma J2EE de Sun Microsystems.
J2EE- Historia
La especificacin original J2EE fue desarrollada por Sun Microsystems.
Comenzando con J2EE 1.3, la especificacin fue desarrollada bajo el Java Community Process. JSR 58 especifica J2EE 1.3 y JSR 151 especifica J2EE 1.4.
9
J2EE- Historia
El SDK de J2EE 1.3 fue liberado inicialmente como beta en Abril de 2001. La beta del SDK de J2EE 1.4 fue liberada por Sun en Diciembre de 2002.
La especificacin Java EE 5 fue desarrollada bajo el JSR 244 y la liberacin final fue hecha el 11 de Mayo de 2006.
10
J2EE
Java EE Incluye varias especificaciones de API, tales como:
JDBC RMI e-mail JMS Servicios Web XML, etc
12
13
14
Arquitectura J2EE
Conceptos
Cliente web (contenedor de applets):
Es usualmente un navegador e interacta con el contenedor web haciendo uso de HTTP. Recibe pginas HTML o XML y puede ejecutar applets y cdigo JavaScript.
Aplicacin cliente:
Son clientes que no se ejecutan dentro de un navegador y pueden utilizar cualquier tecnologa para comunicarse con el contenedor web o directamente con la base de datos.
15
Arquitectura J2EE
Conceptos
Contenedor web:
Es lo que comnmente denominamos servidor web. Es la parte visible del servidor de aplicaciones. Utiliza los protocolos HTTP y SSL (seguro) para comunicarse.
Servidor de aplicaciones:
Proporciona servicios que soportan la ejecucin y disponibilidad de las aplicaciones desplegadas. Es el corazn de un gran sistema distribuido.
16
17
Arquitectura de 2 Capas
Cliente Servidor usada en los 80s y 90s
BD
18
Arquitectura de 2 Capas
La lgica de negocio y la lgica de presentacin son mezcladas, lo que resulta difcil de entender el sistema y realizar mantenimiento
19
Arquitectura de 3 Capas
Separa la lgica de presentacin y la lgica de negocio en 2 Capas
BD
PC
Servidor de Negocios
Servidor
20
Arquitectura de 3 Capas
Desventajas
Complejidad involucrada en desarrollar la aplicacin Se requiere conocimientos de computo distribuido( Ej.. RMI, CORBA )
21
Servidores de Aplicaciones
Pueden proporcionar un Framework que es necesario para desarrollar una aplicacin multicapa Proporcionan servicios tales como computo distribuido, multihilo, seguridad y persistencia En el pasado cada servidor de aplicacin era desarrollado independientemente y por lo tanto implementaba los servicios de diferente manera Cambiar de un servidor de aplicaciones a otro era difcil imposible
22
Componentes J2EE
J2EE define tres tipos de componentes que un programador puede desarrollar:
Servlets JSP Enterprise Java Beans
23
Componentes J2EE
Java Servlets
Proporcionan un mtodo para escribir programas del lado del servidor Su uso comn es la generacin de paginas web dinmicas
24
Componentes J2EE
Java Server Pages ( JSP )
Permiten a los diseadores web construir paginas web interactivas sin entrar en detalles del lenguaje java Se ven muy similares al estndar HTML La diferencia es que JSP permite fragmentos de cdigo Java incrustado en la pagina web
25
Componentes J2EE
Enterprise Java Beans ( EJB )
De los tres tipos de componentes los EJBs son los mas importantes Un EJB es una clase java que tiene varias caractersticas por Ej.:
Son distribuidos Usan transacciones Multi Hilos Persistentes
Muchas de las caractersticas de los EJBs son proporcionadas por los distintos servidores de aplicacin
26
Servidor de Aplicaciones
27
Portabilidad
La portabilidad de Java tambin ha permitido que los servidores de aplicacin J2EE se encuentren disponibles sobre una gran variedad de plataformas, como Unix, Microsoft Windows y GNU/Linux.
28
Servidores de Aplicaciones
Ventajas
Integridad de datos y cdigos:
Al estar centralizada en una o un pequeo nmero de mquinas servidoras, las actualizaciones estn garantizadas para todos sus usuarios. No hay riesgos de versiones viejas.
Configuracin centralizada:
Los cambios en la configuracin de la aplicacin, como mover el servidor de base de datos o la configuracin del sistema, pueden ser hechos centralmente.
29
Servidores de Aplicaciones
Ventajas
Seguridad:
Se consideran ms seguras.
Performance:
Limitando el trfico de la red solamente al trfico de la capa de presentacin, es percibido como un modelo cliente/servidor que mejora la performance de grandes aplicaciones.
30
Servidores de Aplicaciones
Servicios aadidos
Generacin de HTML:
debe incorporar generacin dinmica de contenido (HTML, XHTML, XML, etc.), para enviar al cliente.
Servidores de Aplicaciones
Servicios aadidos
Funcionamiento multiproceso o multihilo:
el servidor es el responsable de tener funcionando un nmero de hilos o procesos que atiendan a distintas peticiones.
Sesiones:
HTTP es un protocolo sin estados. Un servidor de aplicaciones provee de persistencia a los datos del usuario mediante objetos de sesin (session). Elimina la necesidad de incluir cdigo en las aplicaciones para diferenciar las peticiones de distintos usuarios.
32
Servidores de Aplicaciones
Servicios aadidos
Lgica de negocio:
la lgica de negocio propia de cada aplicacin debe poder ser encapsulada en componentes. A cada uno de ellos se le podrn asignar mecanismos propios de seguridad, gestin de transacciones, ...
Seguridad:
debe poseer caractersticas de seguridad que den soporte a aplicaciones seguras. Los clientes deben autentificarse contra al servidor, y este es el responsable de darles acceso a sus diferentes componentes, como puede ser una base de datos. La mayora de servidores disponen de un mecanismo para incorporar nuevos usuarios y grupos. El control de a que partes del servidor puede acceder un usuario puede ser controlado por diversos mtodos, por ejemplo en un directorio LDAP (Lightweight Directory Access Protocol).
33
Servidores de Aplicaciones
Servicios aadidos
Balanceo de carga:
Trabajando sobre un cluster de servidores, puede enviar la peticiones a diferentes equipos en funcin de la carga y la disponibilidad. Este balanceo es la base para implementar sistemas tolerantes a fallos o herramientas para la monitorizacin centralizada de todos los equipos del cluster.
34