Los servlets de Java garantizan una implantación segura
Canal21
La arquitectura de Canal21 está compuesta por un entorno mixto formado por plataforma Sun e Intel. La mayoría de los servidores y servicios principales están bajo arquitectura Sun, con unos 40 servidores. “Los dos servidores web Sun Ultra 3000 y 250 totalmente duplicados en sistema de alta disponibilidad”, comenta Bruno Rodríguez, responsable de tecnologías de Internet de Canal21. Ambas máquinas corren sobre NES (Netscape Enterprise Server) que ahora mismo es iPlanet. Y el motor de servlets sobre el que corren las aplicaciones Java del servidor es JRun, de la empresa Allaire. El portal también cuenta con dos servidores Sun Ultra 450 sobre NAS (Netscape Applications Server) de iPlanet que se encargan de ejecutar las aplicaciones aunque todavía no están operativos. “La idea es pasar lo que hay actualmente en JRun, a otro de NAS que también pasaría a hacer de motor de servlets”. Además del servidor web y de aplicaciones, en la plataforma Sun están los de publicidad, de Real Audio y Real Video, de IRC, dos servidores LDAP (donde están los datos de los usuarios), uno de transferencia de correo (MTA), un buscador, un sistema de backweb para la introducción de contenidos, un sistema de formularios para la gestión de callcenter y una base de datos Oracle. En los servidores LDAP Ultra 250 y 450, soportado por Netscape Directory Server, están contenidos los datos de los usuarios que se recogen a través del portal. En ellos se realiza toda la autentificación de usuarios y se apoyan el servicio de correo y las partes seguras que requieren autentificación, como el juego de ajedrez. Canal21 también dispone de servidores NT de Microsoft: en dos de ellos hay un Real Producer, un sistema de traducción de radio en tiempo real. La aplicación digitaliza la señal de radio y se la pasa a un servidor Sun donde está el Real Server y se transmite en tiempo real. “Se recurrió a Windows NT porque era más difícil encontrar servidores Sun con tarjeta de sonido”, explica.
Java en servidor
La mayoría de desarrollos de Canal21 están realizados en Java, lenguaje con el que se pueden escribir programas permitiendo diferenciar entre la ejecución en el cliente o en el servidor: si se ejecutan en el cliente es un applet Java; si lo hace en el servidor, un servlet. “En nuestro caso Java no se ejecuta nunca en el cliente, más que en algunos casos; siempre se ejecuta en el servidor con lo cual no depende de la plataforma o de la potencia del ordenador del cliente”. Las páginas de Canal21 son dinámicas así que cuando un usuario consulta una de ellas, un servlet que está en nuestro servidor de servlets, extrae de la base de datos Oracle los datos apoyada en una Sun Ultra 3000 y los presenta en HTML simple en pantalla a través del NES.
Según destaca Bruno Rodríguez, “éstas son las principales ventajas de Java, que en sí ya es independiente de la plataforma, pero sobre todo se evita la lentitud”. Si en algún momento se demora, “lo único que tenemos que hacer es expandir nuestras máquinas: ampliar los procesadores, subir la memoria, aumentar disco, poner otra máquina”, añade.
En 1999, fecha del lanzamiento de Canal21, la compañía se encontró con varias opciones de servidores web y de aplicaciones, aunque finalmente la elección se encaminó a las que ofrece Sun. Como explica Rodríguez, “por un lado estaba la tecnología ASP de Microsoft que se basaba en Internet Information Server; también había servidores Unix basados en sistemas compilados como CGI en C++ o CGI en C o en sistemas interpretados como CGI en Perl. PHP estaba en sus inicios y todavía no era una opción. Después estaba el sistema Sun con la plataforma Java”. “Las ventajas de Java son muchas -continúa Bruno Rodríguez-. Por ejemplo ahora que estamos migrando del servidor de aplicaciones JRun a NAS, el impacto y las horas de desarrollo van a ser prácticamente nulas. Vamos a migrar de una plataforma a otra y no vamos a tener que cambiar nada prácticamente de los servlets y algunos se hicieron hace dos años. Esto en otras plataformas es prácticamente impensable”. Incluso si se quisiera cambiar el contenido de la base de datos, bastaría con cambiar la base de datos si tocar una sola línea de código. Otras ventajas son la reutilización de código y la programación en lenguaje de alto nivel “ya que es un lenguaje mucho más flexible y orientado a objetos”. El único inconveniente que el director de tecnología Internet encuentra a este lenguaje es “que requiere mucha máquina. Aunque viendo como evoluciona la informática lo que requería mucha máquina hace dos años ahora no requiere tanta, ya que las máquinas se han hecho más potentes”. Canal21 soluciona este inconveniente ejecutándolo todo en los servidores “por lo que no es problema ampliar máquina”. Una de las principales razones para elegir Java es que está preparada para servicios futuros que se puedan ofrecer. “es una apuesta futuro y va a ser el que más se utilice porque es un lenguaje muy versátil y flexible. Ahora mismo no hay ningún proyecto que no se pueda hacer con Java”.
Ajedrez y PhoneNet
Todas los canales se han desarrollado con Java pero el que más destaca es Ajedrez “por la interactuación que permite al usuario”. El canal, además de este contenido dispone de una plataforma de juegos online para realizar partidas que puede soportar miles de usuarios jugando. El sistema de meteorología y el sistema de noticias también, y próximamente se lanzarán otros canales sobre cine y bolsa que también estarán basados en Java. Además piensan incluir juegos online utilizando Java o Flash. “Java es mucho más potente mientras que Flash es visual idóneo para proyectos sencillitos”. Canal21 también ofrece PhonoNet, un sistema programado en Java que permite a los usuarios acceder a su correo electrónico a través del teléfono. Además el programa interpreta su voz y les permite navegar a través de la voz en unos determinados sistemas. En este caso no es una aplicación web sino que “ataca directamente el servidor de correo y la base de datos Oracle pero no hay web de por medio”. Este sistema está en un servidor Intel “por la dificultad de encontrar uno Sun con tarjeta de sonido aunque todo el proceso de análisis de voz esté basado en Java”.