Está en la página 1de 35

Ing.

Casazola

Servidor de Aplicaciones Web

Servidor de Aplicaciones Web

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.

Java 2 Platform, Enterprise Edition


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

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

Y define cmo coordinarlos.


11

Servidores de aplicacines J2EE


Entre los servidores de aplicacin J2EE privativos ms conocidos:
WebSphere (IBM) Oracle Application Server (Oracle Corporation) WebLogic (BEA)

12

Servidores de aplicacines J2EE


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

Servidores de aplicacines J2EE


La arquitectura J2EE es la siguiente:

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

Arquitectura 2 Capas vs 3 Capas

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.

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

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

Otros Servidores de Aplicaciones


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