Despliegue de aplicaciones web con aplicaciones de portlet o web remotas utilizando RRD

El asignador de solicitudes remotas (RRD) es una extensión conectable al contenedor web que permite que las infraestructuras de aplicaciones, los servlets y las JSP (JavaServer Pages) incluyan contenido externo a la JVM (Java™ Virtual Machine) del recurso que se está ejecutando actualmente como parte de la respuesta enviada al cliente.

Antes de empezar

Para utilizar la función del asignador de peticiones remotas debe tener instalado WebSphere Application Server, Network Deployment. También se deberá familiarizar con las limitaciones del asignador de peticiones remotas. Para obtener detalles, consulte el artículo Consideraciones acerca del asignador de peticiones remotas.

Procedimiento

  1. Instale archivos de aplicación empresarial con la consola.
  2. Configurar el envío de peticiones include entre la aplicación y los recursos remotos.
    • Configurar aplicaciones web para asignar inclusiones remotas.
    • Configurar aplicaciones web para dar servicio a inclusiones remotas.
  3. Opcional: Modifique la aplicación para localizar los recursos ubicados en dos contextos distintos utilizando el modelo de programación de servlets.

    Para incluir recursos de forma remota mediante el modelo de programación de servlets no es necesario que utilice ninguna API del servlet que no sea Java Platform, Enterprise Edition (Java EE). El componente asignador de peticiones remotas (RRD) sigue las mismas normas para obtener un ServletContext y un recurso remoto. Utilizando la biblioteca JSTL (JavaServer Pages Standard Tag Library), la aplicación queda adicionalmente exenta de obtener un objeto ServletContext o RequestDispatcher necesario en el ejemplo de infraestructura del siguiente paso ya que el código JSTL personalizado lo hace de forma implícita. Analice el siguiente ejemplo de una aplicación JSP (JavaServer Pages) de ejemplo para obtener información acerca de cómo localizar los recursos que están en dos contextos diferentes, inversiones y banca.

    <HEAD>
    <%@ page
    language="java"
    contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8059-1"
    isELIgnored="false"
    %>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" $>
    </HEAD>
    <BODY>
    
    <%--
    
    Ejemplo de programación utilizando JSP (JavaServer Pages) y la biblioteca JSTL
    (JavaServer Pages Standard Tag Library).
    JSTL proporciona un código personalizado para importar contenido (en términos de
    servlets y JSP) en el ámbito de la misma petición desde fuera del contexto
    del módulo web actual especificando un parámetro de contexto.
    
    Restricción de JSTL: el módulo web que se importa
    se debe ejecutar en la misma JVM que el recurso que efectúa la llamada
    si el URL importado no está plenamente cualificado.
    
    RRD amplía esta función ya que permite que el módulo web esté situado dentro del 
    ámbito del grupo principal actual del grupo principal de WebSphere Application Server actual
    en contraste con el ámbito de la JVM.
    --%>
    
    
    <hr size="5"/>
    <%--		Incluir investmentSummary.jsp del recurso situado en la 
    				aplicación web con la raíz de contexto de /investments. --%>
    
    <c:import url="investmentSummary.jsp" context="/investments"/>
    
    <hr size="5"/>
    <%--		Incluir accountSummary.jsp del recurso situado en la 
    		   aplicación web con la raíz de contexto /banking. --%>
    
    <c:import url="accountSummary.jsp" context="/banking"/>
    
    <hr size="5"/>
    
    </BODY>
    </HTML>
  4. Opcional: Modifique la aplicación para localizar los recursos ubicados en dos contextos distintos utilizando el modelo de programación de infraestructuras.

    Framework Programming Model para incluir recursos de forma remota no precisa que utilice ninguna interfaz de programación de aplicaciones (API) de servlet que no sea Java EE (Java Platform, Enterprise Edition). Cuando se inicia una solicitud para el nombre ServletContext que actualmente no se está ejecutando en el contenedor web actual, el componente asignador de solicitudes remotas (RRD) devuelve un objeto ServletContext que puede localizar un recurso que existe en cualquier lugar del entorno de WebSphere Application Server WebSphere Application Server, Network Deployment siempre que el recurso exista y que el RRD se haya habilitado para dicho objeto ServletContext. Analice el siguiente fragmento de código de la infraestructura de ejemplo que muestra cómo se pueden localizar los recursos situados en dos contextos diferentes, inversiones y banca.

    /*
    Ejemplo de programación utilizando una infraestructura genérica.
    La especificación de servlets proporciona una API para obtener 
    un contexto de servlet dentro del ámbito de la misma petición
    que es diferente del contexto del módulo web actual,
    especificando un parámetro de contexto.
    
    Restricción de la especificación del servlet: el módulo web que obtiene
    se debe ejecutar dentro de la misma JVM que el recurso que efectúa la llamada.
    
    RRD amplía esta función ya que permite que el módulo web esté situado dentro del
    ámbito del grupo principal actual de WebSphere Application Server
    en contraste con el ámbito de la JVM.
    
    */
    
    protected void frameworkCall (ServletContext context, HttpServletRequest request, HttpServletResponse response) 
    														throws ServletException, IOException(
    
    						PrintWriter writer = response.getWriter();
    
    						writer.write("<HTML>");
    						writer.write("<HEAD>");
    						writer.write("</HEAD>");
    						writer.write("<BODY>");
    						writer.write("<hr size=\"5/">);
    
    						//Incluir investmentSummary.jsp del recurso situado en la aplicación web
    						//con la raíz de contexto /investments.
    						RequestDispatcher rd = getRequestDispatcher ( context, "/investments", "/investmentSummary.jsp");
    						rd.include(request, response);
    
    						writer.write("<hr size=\"5/">);
    
    						//Incluir accountSummary.jsp del recurso situado en la aplicación web
    						//con la raíz de contexto /banking.
    						rd = getRequestDispatcher ( context, "/banking", "/accountSummary.jsp");
    						rd.include(request, response);
    
    						writer.write("</BODY>");
    						writer.write("</HTML>");
    }
    private RequestDispatcher getRequestDispatcher (ServletContext context, String contextName,  String resource) {
    						return context.getContext(contexName).getRequestDispatcher(resource);
    }

Resultados

Después de habilitar como mínimo una aplicación de empresa para asignar inclusiones remotas y como mínimo una aplicación de empresa para servir inclusiones remotas, RRD está ahora habilitado.

Qué hacer a continuación

Reinicie las aplicaciones modificadas si ya están instaladas o inicie aplicaciones recién instaladas para habilitar RRD en cada aplicación.

Icon that indicates the type of topic Task topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tweb_rrd_overview
File name: tweb_rrd_overview.html