Comparación Servlet, PHP y Cgi

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 4

Comparacin entre: 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.

PHP (PHP Hypertext Pre-processor)


PHP es un lenguaje interpretado de propsito general ampliamente usado y que est diseado especialmente para desarrollo web y puede ser incrustado dentro de cdigo HTML. Generalmente se ejecuta en un servidor web, tomando el cdigo en PHP como su entrada y creando pginas web como salida. Puede ser desplegado en la mayora de los servidores web y en casi todos los sistemas operativos y plataformas sin costo alguno. Es el mdulo Apache ms popular entre las computadoras que utilizan Apache como servidor web. La versin ms reciente de PHP es la 5.2.9-1 (for Windows) del 10 de Marzo de 2009. El gran parecido que posee PHP con los lenguajes ms comunes de programacin estructurada, como C y Perl, permiten a la mayora de los programadores crear aplicaciones complejas con una curva de aprendizaje muy corta. Tambin les permite involucrarse con aplicaciones de contenido dinmico sin tener que aprender todo un nuevo grupo de funciones. Aunque todo en su diseo est orientado a facilitar la creacin de pgina web, es posible crear aplicaciones con una interfaz grfica para el usuario, utilizando la extensin PHP-Qt o PHP-GTK. Tambin Interface). Cuando el cliente hace una peticin al servidor para que le enve una pgina web, el servidor ejecuta el intrprete de PHP. ste procesa el script solicitado que generar el contenido de manera dinmica (por ejemplo obteniendo informacin de una base de datos). El resultado es enviado por el intrprete al servidor, quien a su vez se lo enva al cliente. Mediante extensiones es tambin posible la generacin de archivos PDF, Flash, as como imgenes en diferentes formatos. Permite la conexin a diferentes tipos de servidores de bases de datos tales como MySQL, Postgres, Oracle, ODBC, DB2, Microsoft SQL Server, Firebird y SQLite. Ms adelante veremos la comparacin de PHP con servlet y CGI. puede ser usado desde la lnea de rdenes, de la misma manera como Perl o Python pueden hacerlo, a esta versin de PHP se la llama PHP CLI (Command Line

CGI (Common Gateway Interface)


CGI fue una de las primeras tecnologas que surgi para crear contenido Web dinmico. Permite a un cliente (explorador web) solicitar datos de un programa ejecutado en un servidor web. CGI especifica un estndar para transferir datos entre el cliente y el programa. Es un mecanismo de comunicacin entre el servidor web y una aplicacin externa cuyo resultado final de la ejecucin son objetos MIME. Las aplicaciones que se ejecutan en el servidor reciben el nombre de CGIs. Un programa CGI puede ser escrito en cualquier lenguaje de programacin que produzca un fichero ejecutable. Entre los lenguajes ms habituales se encuentran: C, C++, Perl, Java, Visual Basic... No obstante, debido a que el CGI recibe los parmetros en forma de texto ser til un lenguaje que permita realizar manipulaciones de las cadenas de caracteres de una forma sencilla, como por ejemplo Perl. Perl es un lenguaje interpretado que permite manipulaciones sencillas de ficheros y textos, as como la extraccin y manipulacin de cadenas de caracteres, unidas a unas bsquedas rpidas y fciles. CGI de forma esquemtica: 1. En primera instancia, el servidor recibe una peticin (el cliente ha activado un URL que contiene el CGI), y comprueba si se trata de una invocacin de un CGI. 2. Posteriormente, el servidor prepara el entorno para ejecutar la aplicacin. Esta informacin procede mayoritariamente del cliente. 3. Seguidamente, el servidor ejecuta la aplicacin, capturando su salida estndar. 4. A continuacin, la aplicacin realiza su funcin: como consecuencia de su actividad se va generando un objeto MIME que la aplicacin escribe en su salida estndar. 5. Finalmente, cuando la aplicacin finaliza, el servidor enva la informacin producida, junto con informacin propia, al cliente, que se encontraba en estado de espera. Es responsabilidad de la aplicacin anunciar el tipo de objeto MIME que se genera (campo CONTENT_TYPE), pero el servidor calcular el tamao del objeto producido.

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.

También podría gustarte