Está en la página 1de 35

Servidor de Aplicaciones Web

1
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.
2
Servidor de aplicaciones

Sistemas Distribuidos

Permite mejorar tres aspectos fundamentales en
una aplicacin:
Alta disponibilidad
Escalabilidad
Mantenimiento.
3
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).
4
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
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.
6
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.
7
J2EE
Es una plataforma de programacin para desarrollar
y ejecutar software de aplicaciones en Lenguaje de
programacin Java con arquitectura de n niveles
distribuida
Basndose ampliamente en componentes de
software modulares ejecutndose sobre un servidor
de aplicaciones.
8
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
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
Java EE
Incluye varias especificaciones de API, tales
como:
JDBC
RMI
e-mail
JMS
Servicios Web
XML, etc
Y define cmo coordinarlos.
11
Entre los servidores de aplicacin J2EE
privativos ms conocidos:
WebSphere (IBM)
Oracle Application Server (Oracle Corporation)
WebLogic (BEA)
Jboss
Glassfish
12
Una aplicacin desarrollada con las
tecnologas J2EE permite ser desplegada en
cualquier servidor de aplicaciones o
servidor web que cumpla con el estndar
Es considerada como un estndar debido a
que los suministradores deben cumplir
ciertos requisitos de conformidad para
declarar que sus productos son conformes
a Java EE
13
La arquitectura J2EE es la siguiente:
14
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
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
Cliente Servidor usada en los 80s y 90s
18
BD
La lgica de negocio y la lgica de
presentacin son mezcladas, lo que resulta
difcil de entender el sistema y realizar
mantenimiento
19
20
BD
Separa la lgica de presentacin y la lgica
de negocio en 2 Capas
PC Servidor de Negocios Servidor
Desventajas
Complejidad involucrada en desarrollar la aplicacin
Se requiere conocimientos de computo
distribuido( Ej.. RMI, CORBA )
21
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
J2EE define tres tipos de componentes que un
programador puede desarrollar:
Servlets
JSP
Enterprise Java Beans
23
Java Servlets
Proporcionan un mtodo para escribir programas
del lado del servidor
Su uso comn es la generacin de paginas web
dinmicas
24
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
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

27
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
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
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
Servicios aadidos
Generacin de HTML:
debe incorporar generacin dinmica de contenido
(HTML, XHTML, XML, etc.), para enviar al cliente.

Trabajo con bases de datos:
existirn objetos que faciliten el acceso a bases de datos,
ocupndose de gestionar las conexiones y
proporcionando un acceso uniforme. Otros objetos se
encargarn de la gestin de transacciones englobando
diversas sentencias y ocupndose de los commit o
rollback
31
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
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
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
El trmino servidor de aplicaciones tambin
ha sido aplicado a otros productos no-J2EE.
Por ejemplo, con el aumento de la
popularidad de .NET, Microsoft califica a su
producto Internet Information Server como
un servidor de aplicaciones.
Adicionalmente, se pueden encontrar
servidores de aplicacin de cdigo abierto y
comerciales de otros provedores; algunos
ejemplos son Base4 Server y Zope.
35

También podría gustarte