WebLogic Server como Servidor Web
El servidor WebLogic se puede utilizar como el servidor web primario para aplicaciones web avanzadas. Una aplicación Web de
J2EE es una colección de páginas HTML o XML, de páginas JSP, de servlets, de clases Java, de applets, de imágenes, de
ficheros multimedia, y de otros tipos de ficheros.
Cómo funciona el servidor WebLogic como un Servidor Web
Una aplicación Web se ejecuta en el contenedor Web de un servidor web. En un entorno de servidor WebLogic, un servidor web
es una entidad lógica, desplegada en uno o más servidores WebLogic en un cluster.
Los ficheros de una aplicación Web se graban en una estructura de directorios que, opcionalmente, puede empaquetarse en un
solo fichero .war (Web ARchive) usando la utilidad jar de Java.
Un conjunto de descriptores de despliegue XML definen los componentes y los parámetros de ejecución de una aplicación,
como las configuraciones de seguridad. Los descriptores de despliegue permiten cambiar comportamientos durante la ejecución
sin cambiar el contenido de los componentes de la aplicación Web, y hacen fácil desplegar la misma aplicación en varios servidores Web.
Características del Servidor Web
Cuando se usa como un servidor web, WebLogic Server soporta las siguientes funcionalidades:
- Hosting Virtual.
- Soporte para configuraciones de servidores proxy
- Balance de Cargas
- Control de fallos
Esta sección describe cómo es soportada cada una de estas funciones por WebLogic Server.
Hosting Virtual
WebLogic Server soporta almacenamiento virtual, un arreglo que permite a un solo servidor WebLogic o a un Cluster
WebLogic contener varios sitos Web. Cada servidor web virtual tiene su propio nombre de host, pero todos los servidores
Web están mapeados en la DNS de la misma dirección IP del cluster. Cuando un cliente envía una petición HTTP a la
dirección del cluster, se selecciona un servidor WebLogic para servir la petición. El nombre del servidor web se extrae de
la cabecera de la petición HTTP y se mantiene en subsecuenes intercambios con el cliente para que el hostname virtual
permanezca constante desde la perspectiva del cliente. Múltiples aplicaciones Web pueden desplegarse en un servidor
WebLogic, y cada aplicación Web se puede mapear a un host virtual.
Usar Configuraciones de Servidor Proxy
WebLogic server se puede integrar con los servidores web existentes. Las peticiones pueden ser almacenadas desde un
servidor WebLogic a otro servidor web o, usando un plug-in nativo provisto del servidor WebLogic, desde otro servidor web
al servidor WebLogic. BEA proprociona los plug-ins para Apache Web Server, Netscape Enterprise Server, Microsoft Internet
Information Server.
El uso de los servidores proxys entre clientes y un conjunto de servidores independientes WebLogic o de un cluster WebLogic
permite realizar el balance de carga y el control de fallos para las peticiones Web. Para el cliente, solo parecerá un servidor
web.
Balance de Carga
Podemos instalar varios servidores WebLogic detrás de un servidor proxy para acomodar grandes volúmenes de peticiones.
El servidor proxy realiza el balance de cargas, distribuyendo las peticiones a través de los distintos servidores en la capa
que hay detrás de él.
El servidor proxy puede ser un servidor WebLogic, o puede ser un servidor Apache, Netscape, o Microsoft. El servidor WebLogic
incluye los plugs-in de código nativo para algunas plataformas que permitan estos servidores web de terceras partes a las
peticiones del servidor proxy de WebLogic.
El servidor proxy se configura para redirigir ciertos tipos de peticiones a los servidores que hay detrás de él. Por ejemplo,
un arreglo común es configurar el servidor proxy para manejar las peticiones para páginas HTML estáticas y redirigir los
pedidos de servlets y páginas JSP a clusters WebLogic detrás del proxy.
Control de Fallos
Cuando un cliente web empieza una sesión servlet, el servidor proxy podría enviar las peticiones subsecuentes que son parte
de la misma sesión a un servidor WebLogic distinto. El servidor WebLogic proporciona replicación de la sesión para asegurarse
de que el estado de la sesión del cliente sigue estando disponible.
Hay dos tipos de réplica de sesión:
- Se puede usar la réplica de sesión JDBC con un cluster WebLogic o con un conjunto de servidores WebLogic independientes.
No requiere la opción que CLustering del WebLogic Server.
- La réplica de sesión en-memoria requiere la opción de Clustering del WebLogic Server.
La réplica de sesión JDBC escribe datos de la sesión en una base de datos. Una vez que se haya comenzado una sesión,
cualquier servidor WebLogic que seleccione el servidor proxy puede continuar la sesión recuperando los datos de la sesión
desde la base de datos.
Cuando se despliega un Cluster WebLogic detrás de un servidor proxy, las sesiones de servlets se pueden replicar sobre
la red a un servidor WebLogic secundario seleccionado por el cluster, para evitar la necesidad de acceder a la base de datos.
La replicación en-memoria usa menos recursos y es mucho más rápida que la replicación de sesión JDBC, por eso es
la mejor forma para proporcionar control de fallos para servlets cuando tenemos un Cluster WebLogic.