Déploiement d'applications web avec des applications web ou des collections de portlets distantes à l'aide du répartiteur de requêtes distantes (RRD)

Le répartiteur de requêtes distantes (RRD) est une extension connectable au conteneur web qui permet d'inclure dans des infrastructures, servlets et JSP d'application un contenu extérieur à la machine Java™ Virtual Machine (JVM) de la ressource en cours d'exécution, dans le cadre de la réponse envoyée au client.

Avant de commencer

Vous devez avoir installé WebSphere Application Server, Network Deployment pour pouvoir utiliser la fonction de répartition des requêtes éloignées. Il faut également connaître les limitations du répartiteur de requêtes distantes. Pour plus d'informations, reportez-vous à l'article Remarques sur RRD.

Procédure

  1. Installez les fichiers d'application d'entreprise à l'aide de la console.
  2. Configurez l'envoi de requêtes d'inclusion entre l'application et les ressources distantes.
    • Configurez les applications web pour répartir les inclusions distantes.
    • Configurez les applications Web pour le service des inclusions distantes.
  3. Facultatif : Modifiez votre application pour rechercher les ressources qui se trouvent dans deux contextes différents à l'aide du modèle de programmation de servlet.

    Le modèle de programmation de servlet permettant d'inclure des ressources à distance ne nécessite pas le recours à des API (Application Programming Interfaces) Servlet non-Java, Enterprise Edition (Java EE). Le composant RRD (remote request dispatcher) suit les mêmes règles pour l'obtention d'un ServletContext et d'une ressource distante. En utilisant JSTL (JavaServer Pages standard tag library), votre application n'a plus besoin de se procurer l'objet ServletContext ou RequestDispatcher, ce qui est obligatoire dans l'exemple de structure, car la balise personnalisée JSTL le fait automatiquement. Etudiez l'exemple suivant d'application JSP (JavaServer Pages) afin d'apprendre comment localiser des ressources dans deux contextes différents : les placements et la banque.

    <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>
    
    <%--
    
    Exemple de programmation faisant appel à JSP et JSTL
    (JavaServer Pages Standard Tag Library).
    JSTL fournit une balise personnalisée permettant d'importer des contenus
    de la même manière qu''include' en termes servlet et JSP) dans la portée de la même demande depuis hors
    le contexte de module Web en cours en spécifiant un paramètre de contexte.
    
    Restriction JSTL : Le module importé 
    doit s'exécuter au sein de la même machine JVM que la ressource appelante
    si l'URL importée n'est pas complètement qualifiée.
    
    RRD étend cette fonctionnalité en permettant au module Web 
    de résider dans la portée du groupe central du système WebSphere Application Server
    en cours et non plus dans la seule portée de la machine JVM.
    --%>
    
    
    <hr size="5"/>
    <%--		Inclut la ressource investmentSummary.jsp qui réside dans 
    		l'application Web avec la racine de contexte /investments. --%>
    
    <c:import url="investmentSummary.jsp" context="/investments"/>
    
    <hr size="5"/>
    <%--		Inclut la ressource accountSummary.jsp qui réside dans 
    		l'application Web avec la racine de contexte /banking. --%>
    
    <c:import url="accountSummary.jsp" context="/banking"/>
    
    <hr size="5"/>
    
    </BODY>
    </HTML>
  4. Facultatif : Modifiez votre application pour rechercher les ressources qui se trouvent dans deux contextes différents à l'aide du modèle de programmation de structure.

    Le modèle de programmation du framework (environnement de développement) permettant d'inclure des ressources à distance ne nécessite pas le recours à des API (Application Programming Interfaces) Servlet non-Java EE (Java Platform, Enterprise Edition). Lorsque qu'une requête est initiée pour un nom de ServletContext qui n'est pas en cours d'exécution au sein du conteneur Web en cours, le composant RRD (remote request dispatcher) renvoie un objet ServletContext capable de localiser une ressource résidant à n'importe quel endroit d'un environnement WebSphere Application Server WebSphere Application Server, Network Deployment, à condition que cette ressource existe et que le répartiteur de requêtes soit activé pour cet objet ServletContext. Etudiez l'exemple suivant de fragment de framework afin de localiser des ressources dans deux contextes différents : les placements et la banque.

    /*
    Exemple de programmation faisant appel à un framework générique.
    La spécification du servlet fournit une API permettant, 
    en spécifiant un paramètre de contexte, d'obtenir
    dans la portée de la même demande un contexte de servlet
    différent du contexte de module Web en cours.
    
    Restriction de la spécification de servlet : ce module Web
    doit s'exécuter au sein de la même machine JVM que la ressource appelante.
    
    RRD étend cette fonctionnalité en permettant au module Web de résider
    dans la portée du groupe central du système WebSphere Application Server 
    en cours et non plus dans la seule portée de la machine 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/">);
    
    			//Inclut la ressource investmentSummary.jsp qui réside dans l'application Web
    			//avec la racine de contexte /investments.
    			RequestDispatcher rd = getRequestDispatcher ( context, "/investments", "/investmentSummary.jsp");
    			rd.include(request, response);
    
    			writer.write("<hr size=\"5/">);
    
    			//Inclut la ressource accountSummary.jsp qui réside dans l'application Web
    			//avec la racine de contexte /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);
    }

Résultats

Lorsque la répartition des inclusions distantes est activée sur au moins une application d'entreprise et le service des inclusions distantes est activé sur au moins une application d'entreprise, le répartiteur de requêtes distantes (RRD) est activé.

Que faire ensuite

Relancez les applications modifiées déjà installées ou lancez les nouvelles applications installées pour activer le répartiteur de requêtes distantes (RRD) sur chaque application.

Icône indiquant le type de rubrique Rubrique de tâche



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tweb_rrd_overview
Nom du fichier : tweb_rrd_overview.html