Desde su aparición a principios de los 90, Internet ha crecido de forma imparable. En los aspectos cuantitativos el cambio ha resultado extraordinario. Así, un crecimiento sostenido, que nadie ha dudado en calificar de explosión, ha sido la tónica durante años.
Sin embargo, desde el punto de vista cualitativo, la estructura, durante estos años, se ha mantenido básicamente similar a la inicial. Más allá de la mayor velocidad de las redes, las páginas Web se han conservado fieles al paradigma original: lenguaje de marcas, un protocolo orientado a páginas y usos con baja interactividad.
La masificación de Internet ha dado lugar a un gran número de nuevos usuarios y nuevas necesidades. Los crecientes requerimientos han empujado a los desarrolladores y a los técnicos a buscar soluciones distintas.
Hoy asistimos al nacimiento de un conjunto de nuevos desarrollos y de nuevas ideas que están dando lugar a una forma también nueva de entender y usar Internet.
El término Web 2.0 intenta expresar el conjunto de ideas y tecnologías que están comprometidas con este salto.
Si bien no son los únicos, se distinguen dos ejes principales en la iniciativa Web 2.0. De un lado, conseguir que las páginas Web sean más personales, más ajustadas a las necesidades o a los gustos de los usuarios y, por lo tanto, fácilmente configurables por el usuario.
Y como consecuencia, conseguir una mayor interacción que supere el viejo esquema de diálogo por pantallas.
Java, el lenguaje de programación desarrollado por SUN en la década de los 90, ha creado a su alrededor un fenómeno que ha transformado la manera de entender el software.
Con una gran actividad, las versiones de Java se han sucedido rápidamente, siguiendo una nomenclatura específica.
Después de un largo periodo donde el conjunto de elementos que constituyen el estándar se ha denominado J2EE (Java 2 Enterprise Edition) éste ha cambiado de nombre con la incorporación de las últimas máquinas virtuales (a las que ahora SUN tiende a denominar plataformas).
Hoy existen tres versiones o ediciones: Java ME, Java SE y Java EE. Estas siglas corresponden a Java Micro, Standard y Enterprise Edition.
La diferencia principal entre Java EE y Java SE es que representan tecnologías para montar aplicaciones en el servidor o en aplicaciones en el cliente, respectivamente.
Las versiones actuales de cada una de ellas son: Java SE 6 y Java EE 5. Java ME por su parte, no numera su versión.
Inicialmente, se trataba de un nuevo tipo de diseño de Webs, donde la participación y la colaboración eran el eje principal.
De estos criterios ha nacido un conjunto de técnicas orientadas a hacer de las páginas Web un instrumento más cómodo y fácilmente personalizable por cada usuario, mejorando su uso.
Hoy, Web 2.0 se refiere a una segunda generación de servicios disponibles
en la World Wide Web, resultado tanto de nuevos criterios de diseño
como de nuevas tecnologías, y que permiten a los usuarios colaborar
y compartir información online, optimizando tiempos y recursos.
Considera a Internet no como una red informática de comunicación
que se apoya en distintas plataformas, sino como una plataforma en sí misma.
En Web 2.0 las Webs (máquinas + programas) son capaces de intercambiar información, consultarla y combinarla, obteniendo el máximo beneficio.
Este concepto ha extremado la necesidad de una relación fuertemente interactiva entre el usuario y la aplicación Web.
Es un mecanismo por el que dentro de una página Web se establece una comunicación con el servidor limitada a una parte de aquélla. La parte afectada se modifica, mientras el resto permanece inalterada. El resultado es una mejor interfaz, más ágil y atractiva.
AJAX
es el acrónimo de Asynchronous JavaScript And XML. En concreto,
AJAX implica la posibilidad de que una determinada Web se comunique con
el servidor en segundo plano, respondiendo a eventos sin tener que recargar
la página. Las páginas Web se parecen, por tanto, mucho más
a aplicaciones de escritorio. Son más ágiles y mucho más
"dinámicas".
En la página cliente un objeto JavaScript activa la comunicación a través de XML, ésta llega al servidor, quien la atiende. La parte modificada en el navegador es recargada de manera automática.
Hibernate permite ocultar en gran medida la complejidad de las estructuras de datos sobre las que se apoyan las aplicaciones.
Hibernate es una herramienta según la especificación JPA,
que ha conseguido en un tiempo récord una excelente reputación
en la comunidad de desarrollo, posicionándose claramente como el
producto OpenSource líder en este campo gracias a sus prestaciones,
buena documentación y estabilidad.
Hibernate parte de una filosofía de mapear objetos Java "normales", también conocidos en la comunidad como "POJOs" (Plain Old Java Objects).
Por su especial importancia conviene destacar una característica de la filosofía de diseño de Hibernate: puede utilizar los objetos Java definidos por el usuario tal cual, es decir, no utiliza técnicas como generación de código a partir de descriptores del modelo de datos o manipulación de bytecodes en tiempo de compilación, ni obliga a implementar interfaces determinadas, ni heredar de una superclase. En lugar de ello emplea el mecanismo de reflexión de Java.
Esta tecnología está orientada a ordenar y simplificar la construcción de interfaces complejas en las aplicaciones Web.
Lo
primero que se puede decir sobre JavaServer Faces es que no es una implementación,
sino una especificación (JSR 127) aprobada por el Java Community
Process (JCP) para construir interfaces de usuario para las aplicaciones
que corren en un servidor. Esto quiere decir que es un estándar,
pudiendo existir varias implementaciones mientras cumplan con lo exigido
por la especificación.
JSF es un framework que posee un controlador central (FrontControler) que se encarga de manejar todas las peticiones del cliente y gestionar su ciclo de vida. Está basado en un modelo de componentes para la interfaz de usuario. Un componente JSF es un elemento reusable y configurable que se puede utilizar en la interfaz de usuario. Los componentes se pueden anidar.
Desarrollar con JSF permite:
Eclipse es un IDE (entorno de desarrollo integrado) Java de código libre y que hoy constituye el entorno estándar de facto.
Eclipse
apareció en el año 2001 como una iniciativa de IBM para modernizar
VisualAge. Su éxito resultó inmediato y desde 2003 existe
una fundación independiente que gestiona el desarrollo en código
libre.
Su versión actual, 3.3, incorpora múltiples herramientas para facilitar el trabajo de los equipos de desarrollo y garantizar la calidad del software. .
Se
trata de una ayuda en la verificación y despliegue de aplicaciones
en arquitectura Web.
El adaptador de servidor de la plataforma de herramientas Web (WTP) de Eclipse es una herramienta para desplegar y probar activos J2EE en un servidor, pudiendo elegir entre: Apache Tomcat, WebSphere, JBoss, Bea WebLogic u Oracle OCJ4, entre otros.
Es un "plugin" para Eclipse que gestiona listados e informes. Su alcance va aun más allá, constituyendo una completa herramienta de explotación de datos y de Business Intelligence.
Su
nombre viene de Business Intelligence and Report Tool. Forma parte de la última
hornada de tecnologías de Eclipse (denominadas Calixto) y ya se
ha convertido en el estándar de facto para la gestión de
informes en J2EE.