Introducción a las Java Server Pages

Las páginas de servidor activas de Java se están convirtiendo en tecnología líder en la publicación dinámica de sitios web. Este método, que se basa en el uso de un lenguaje que se está imponiendo como estándar para Internet, provee la facilidad de uso que se necesita para hacer disponibles páginas html dinámicamente en sitios web.

Un poco de historia

Desde que se gestó la revolución de Internet, la misma atacó varios frentes y cautivó a muchos en el mundo cibernético. Asimismo, el mundo de los desarrolladores encontró campo fértil en la creación de aplicaciones cien por cien portables y de fácil modificación.

Mientras que en el clásico modelo cliente-servidor cada modificación al código del programa significaba una nueva versión del lado del cliente, esta nueva propuesta implicaba que solamente se tocara código en un programa dentro del servidor y al instante ese cambio impactaría en los accesos de todos los usuarios.

Por otra parte, en lo que respecta a los accesos en sí, el diseño a través del web permite de por sí que potencialmente no haya límites en la cantidad de usuarios conectados a la aplicación.

Ahora, no todo fue color de rosa, como se suele decir. Hubo problemas relacionados a lo estático del modelo inicial que presentaba el uso de HTML en las páginas. En función de ello, se comenzaron a implementar soluciones que tenían que ver con el uso de una interfaz que se creó al respecto, denominada: CGI.

Mediante el uso de la interfaz de gateway común (Common Gateway Interface), los desarrolladores pudieron acceder a un mundo nuevo, en el cual podían crear aplicaciones del lado del servidor, las cuales eran accedidas a través del navegador

El gran problema que surgió en cuanto a que la performance de los servidores se veía gravemente afectada debido a que cada acceso creaba un nuevo proceso en el sistema, y por tanto se generaba un desaprovechamiento de los recursos. Es decir, dos usuarios accedían a un mismo recurso en dos procesos diferentes

Sepamos entender que fue una opción válida inicialmente, y que aún hoy en día muchos sitios consideran el uso de la interfaz CGI como una opción viable

Las opciones

Microsoft lanzó en el año 1997 una nueva propuesta para resolver esta situación. La propuesta se basaba en la creación dinámica de código HTML a través de un concepto llamado ASP (Active Server Pages). La idea básicamente es la misma que se aplica a las páginas JSP, con la salvedad que siempre caracteriza a Microsoft, que tiene que ver con que solamente funciona bajo plataformas Microsoft

Otras opciones vinieron de la mano de JAVA con los Servlet. A esa altura los scripts del lado del cliente ya eran populares (JScript y VBScript), pero brindaban una solución de un lado solo.

La propuesta de los Servlets pasa por la creación de aplicaciones del lado del servidor y la recepción desde el browser de información para generar páginas en forma dinámica. Los Servlets son algo así como aplicaciones tipo CGI pero con la salvedad que son realizadas en JAVA y aprovechando los recursos de mejor forma que los anteriores.

JSP – Lo nuevo

Esta nueva propuesta tiene que ver con la codificación dentro de la propia página. Una vez que se accede a la misma, se ejecuta el código contenido, y la información desplegada en el cliente pasa a ser HTML puro generado en el momento de la consulta.

Características de ASP

  • Separación de la presentación y el contenido.

Con JSP se programa dentro de las páginas con código de JAVA, pero encerrando el código en un conjunto de marcas que sólo se interpretan en el servidor, al momento de ejecutar la aplicación.

Este sistema hace que quede bien delimitado dónde empieza el trabajo de los desarrolladores y dónde termina. El diseñador no se preocupa por ese contenido sino sólo por el diseño.

  • Reuso de componentes.

El modelo de uso de JSP se basa en la reutilización de componentes Java Beans. El uso de los mismos hace que se optimice considerablemente la utilización de recursos en el servidor. La consigna es: en las páginas se codifica dentro de tags o marcas y para resolver tareas complejas se accede a componentes beans reutilizables por todos.

  • Uso de XML dentro de los scripts.

Es una realidad que los programadores de páginas web, no siempre están familiarizados con todos los lenguajes de programación. Por tanto, este nuevo acercamiento les brinda la posibilidad de embeber lenguaje de marcas más complejos como XML para acceder a diferentes componentes o para levantar applets en los clientes.

¿Cómo luce el código?

Pues bien, veamos en esta sección cómo luce el código JSP dentro de una página. El siguiente ejemplo llama a un archivo externo, instancia un bean y tras evaluar una condición genera o no un mensaje de bienvenida dentro de la página. Ejemplo:

<HTML>
<%@ page language=="java" imports=="com.wombat.JSP.*" % >
<H1>Welcome</H1>
<P>Today is</P>
<jsp:useBean id=="clock" class=="calendar.jspCalendar" />
<UL>
<LI><Day: <%==clock.getDayOfMonth() %>
<LI><Year: <%==clock.getYear() %>
</UL>
<% if (Calendar.getInstance().get(Calendar.AM_PM) ==== Calendar.AM) { %>
Good Morning
<% } else { %>
Good Afternoon
<% } %>
<%@ include file=="copyright.html" %>
</HTML>

Respecto a la forma en que el servidor resuelve el uso de JSP, es muy sencillo. El esquema de manejo básicamente emula lo que sucedía con un CGI, pero el aprovechamiento de recursos del lado del servidor es notoria. Asimismo, la diferencia mayor se denota en el uso de componentes y la inclusión de código de scripting dentro de las páginas.

Conclusión

JSP para ser quien aporte la portabilidad deseada en ASP de Microsoft y eventualmente se torne tan popular como éste. Asimismo, desde ya se está notando un uso incremental de JSP por parte de diferentes empresas que necesitan dinamismo y velocidad en sus sitios, sin tener que depender de un solo proveedor.

Deja un comentario