Glue servlet engine, what is a glue web ?

Glue is a master servlet front end service that glue in parallel all resources coming from server group in cluster architecture.

Glue allow you to make fast and easily dynamic web site (in jsp/servlet, php, cgi or all that can be call by url), cobranding existing web application, make a bridge to web application or create simply your web portal, all that with the robustness of cluster architecture.

Glue accept http or https, interaction with Html form and cookie.

Use external Api HTTPClient Version 0.3-3 under LGPL V2.1
http://www.innovation.ch/java/HTTPClient/

See cluster architecture with Glue :

Call easily a component servlet engine in JSP :


<%@ page language="java" session="false" autoFlush="false" buffer="96kb" contentType="text/html;charset=iso-8859-1"%>
<%@ page extends="com.jservlet.servlet.JspUtils"%>
<%-- call internal method in jsp... --%>
<%@ include file="portefeuille_m.jsp" %>

<%-- Bean porperties, config client --%>
<jsp:useBean id="client_URL_PAGES" class="java.util.Properties" scope="application" />

<%
    // prepare to call component URL
    getCompPortefeuille(request, response, out, client_URL_PAGES, true, false);
%>

<div id="service">
    <script src="js/ptf.js"></script>
    <%=getCompPortefeuille(request, response, out, client_URL_PAGES, false, false)%>
</div>


Call method to servlet engine component URL (include jsp) :


<%@ page import="java.util.*"%>
<%@ page import="com.jservlet.stream.server.ComponentCallAsync" %>

<%!

    // Method getCompPortefeuille
    private String getCompPortefeuille(HttpServletRequest request, HttpServletResponse response, JspWriter out, Properties property, boolean bCallOnly, boolean bDebug)
    {
        // uri
        String urlAction = "?pageid=portefeuille";
       
        // url call ?
        String urlcall = (String) request.getParameter("urlcall");
        urlcall = (urlcall == null) ? "" : urlcall;
       
        String url            = property.getProperty("jportefeuille_client");           
        String urlServeur     = property.getProperty("jportefeuille");
       

        // hash others parameters
        Hashtable hash_param = getParametresStandard(request);
        hash_param.put("urlAction", urlAction);
        hash_param.put("urlcall", urlcall);
       
        // build final url
        String call_service = buildUrl(url, urlServeur, urlAction, hash_param);
       
        System.out.println("call_service : "+call_service);
        System.out.println("parametres : "+getParametresStandard(request));
              
        // objet call component           
        ComponentCallAsync comp = new ComponentCallAsync( call_service, "", request, response, out , false, false, true );
       
        // debug mode ?
        try { comp.setDebug(bDebug); }
        catch (Exception e) { }
       
        // get html
        if (!bCallOnly) return comp.getHTML();
        else return "";
    }
   
%>


Build easily web information system in JSP (master.jsp, menu.jsp, header.jsp, footer.jsp)  :


<%@ page language="java" %>
<%@ page session="false"%>
<%@ page import="java.util.*"%>
<%@ page autoFlush ="false" %>
<%@ page buffer = "96kb" %>

<%
    // détermine le type de sortie.
    response.setContentType("text/html;charset=iso-8859-1");

    // option pas de cache !
    response.setHeader("Pragma", "no-cache");
    response.setHeader("Cache-Control", "no-cache");
    response.setDateHeader("Expires", 0);
   
    // page jsp appelée
    String jspPage = (String) request.getAttribute("jspPage");
    jspPage = (jspPage == null) ? "main" : jspPage;
   
%>

<html>
<head>
    <title>My web portal</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <link rel="stylesheet" href="styles/client.css" type="text/css">
</head>

<body>

<table width="100%" border="1">
  <tr>
    <td colspan="2"><jsp:include page="header.jsp" /></td>
  </tr>
  <tr>
    <td width="10%" valign="top">
        <jsp:include page="menu.jsp" flush="false">
              <jsp:param name="jspPage" value="<%=jspPage%>"/>
        </jsp:include>
    </td>
    <td width="90%">
        <jsp:include page="<%= jspPage+".jsp" %>" flush="false">
            <jsp:param name="jspPage" value="<%=jspPage%>"/>
        </jsp:include>
    </td>
  </tr>
  <tr>
    <td colspan="2"><jsp:include page="footer.jsp" /></td>
  </tr>
</table>

</body>
</html>

Config client :

#
# Fichier global de description de la configuration du client
#

http_root=http://client.jservlet.com/

# url java & graph
java_url=http://blaster.jservlet.grp:83/
graph_url=http://blaster.jservlet.grp:84/

# local service
java_root=http://localhost:83/
graph_root=http://localhost:84/

# nom du client
service_client=client

# url portefeuille
jportefeuille=http://blaster.jservlet.grp:83/portefeuille
jportefeuille_client=http://blaster.jservlet.grp:83/portefeuille/PortefeuilleClient


Interested by my java Glue write me a comment...