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.
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.
|