Comparación Servlet, PHP y Cgi
Comparación Servlet, PHP y Cgi
Comparación Servlet, PHP y Cgi
Introduccin
En este trabajo la comparacin se centra en 3 tecnologas diferentes para sistemas basados en arquitectura cliente servidor, que es la predominante hoy dia en Internet. En este caso veremos tecnologa ms bien del lado del servidor, concretamente compararemos los servlets, PHP y CGI.
Servlet
La palabra servlet deriva de otra anterior, applet, que se refera a pequeos programas escritos en Java que se ejecutan en el contexto de un navegador web. Por contraposicin, un servlet es un programa que se ejecuta en un servidor. El uso ms comn de los servlets es generar pginas web de forma dinmica a partir de los parmetros de la peticin que enve el navegador web. Es una tecnologa java, desarrollada por SUN. Un servlet implementa la interfaz javax.servlet.Servlet o hereda alguna de las clases ms convenientes para un protocolo especfico (ej: javax.servlet.HttpServlet). Al implementar esta interfaz el servlet es capaz de interpretar los objetos de tipo HttpServletRequest y HttpServletResponse quienes contienen la informacin de la pgina que invoc al servlet. El ciclo de vida de un Servlet se divide en los siguiente puntos: 1. El cliente solicita una peticin a un servidor va URL. 2. El servidor recibe la peticin. 1. Si es la primera, se utiliza el motor de Servlets para cargarlo y se llama al mtodo init(). 2. Si ya est iniciado, cualquier peticin se convierte en un nuevo hilo. Un Servlet puede manejar mltiples peticiones de clientes. 3. Se llama al mtodo service() para procesar la peticin devolviendo el resultado al cliente. 4. Cuando se apaga el motor de un Servlet se llama al mtodo destroy(), que lo destruye y libera los recursos abiertos.
Bsicamente en esto consiste un servlet, la comparacin la haremos ms adelante cuando hayamos descrito PHP y CGI.
Comparacin
De las tres tecnologas anteriores, debemos decir que la peor sin duda es CGI, ya que es con la que menos rendimiento se obtiene. Esto es debido a que cada acceso al servidor crea un nuevo proceso, luego varios accesos a un mismo recurso crea varios procesos.
De PHP destacar su facilidad de sintaxis, muy similar a C, y su constante evolucin, siendo utilizado por una amplsima cantidad de usuarios web. Respecto a los servlets, es la solucin que aporta java al problema de los procesos de CGI, empleando threads en vez de procesos. Entre PHP y servlets decir que PHP tiene a su favor ser 100% gratuito, fcil, rpido, gran cantidad de usuarios por todo el mundo y constantes evoluciones. Servlets por su parte lo avala Java, es propiedad de SUN pero es portable y muy seguro. Tambien necesita un servidor ms potente para ejecutar servlets.