viernes, 19 de noviembre de 2010

Programacion JSP(Semana 9)

Hola compañeros aqui les dejo algo de informacion para complementar lo que vimos en clase con respecto a Java Server Page y  Servlets.


¿Qué son los Servlets Java?

Los Servlets son las respuesta de la tecnología Java a la programación CGI. Son programas que se ejecutan en un servidor Web y construyen páginas Web. Construir páginas Web al vuelo es útil (y comunmente usado) por un número de razones:
  • La página Web está basada en datos envíados por el usuario. Por ejemplo, las páginas de resultados de los motores de búsqueda se generan de esta forma, y los programas que procesan pedidos desde sites de comercio electrónico también.
  • Los datos cambian frecuentemente. Por ejemplo, un informe sobre el tiempo o páginas de cabeceras de noticias podrían construir la página dinámicamente, quizás devolviendo una página previamente construida y luego actualizandola.
  • Las páginas Web que usan información desde bases de datos corporativas u otras fuentes. Por ejemplo, usaríamos esto para hacer una página Web en una tienda on-line que liste los precios actuales y el número de artículos en stock.

  • ¿Cuáles son las Ventajas de los Servlets sobre el CGI "Tradicional"?
  • Los Servlets Java son más eficientes, fáciles de usar, más poderosos, más portables, y más baratos que el CGI tradicional y otras muchas tecnologías del tipo CGI. (y lo que es más importante, los desarrolladores de servlets cobran más que los programadores de Perl :-).
    • Eficiencia. Con CGI tradicional, se arranca un nuevo proceso para cada solicitud HTTP. Si el programa CGI hace una operación relativamente rápida, la sobrecarga del proceso de arrancada puede dominar el tiempo de ejecución. Con los Servlets, la máquina Virtual Java permanece arrancada, y cada petición es manejada por un thread Java de peso ligero, no un pesado proceso del sistema operativo.
    • Potencia. Los Servlets Java nos permiten fácilmente hacer muchas cosas que son difíciles o imposibles con CGI normal. Por algo, los servlets pueden hablar directamente con el servidor Web. Los Servlets también pueden compartir los datos entre ellos, haciendo las cosas útiles como almacenes de conexiones a bases de datos fáciles de implementar. 
    • Portable. Los Servlets están escritos en Java y siguen un API bien estándarizado. Consecuentemente, los servlets escritos, digamos en el servidor I-Planet Enterprise, se pueden ejecutar sin modificarse en Apache, Microsoft IIS, o WebStar. Los Servlets están soportados directamente o mediante plug-in en la mayoría de los servidores Web.
  • ¿Qué es JSP?

    Java Server Pages (JSP) es una tecnología que nos permite mezclar HTML estático con HTML generado dinámicamente. Muchas páginas Web que están construidas con programas CGI son casi estáticas, con la parte dinámica limitada a muy pocas localizaciones.
    ¿Cuáles son las Ventajas de JSP?
    • Contra Active Server Pages (ASP). ASP es una tecnología similar de Microsoft. Las ventajas de JSP estan duplicadas. Primero, la parte dinámica está escrita en Java, no en Visual Basic, otro lenguaje específico de MS, por eso es mucho más poderosa y fácil de usar. Segundo, es portable a otros sistemas operativos y servidores Web.
    • Contra los Servlets. JSP no nos da nada que no pudierámos en principio hacer con un servlet. Pero es mucho más conveniente escribir (y modificar!) HTML normal que tener que hacer un billón de sentencias println que generen HTML. Además, separando el formato del contenido podemos poner diferentes personas en diferentes tareas: nuestros expertos en diseño de páginas Web pueden construir el HTML, dejando espacio para que nuestros programadores de servlets inserten el contenido dinámico.
    • Contra Server-Side Includes (SSI). SSI es una tecnología ámpliamente soportada que incluye piezas definidas externamente dentro de una página Web estática. J
    • Contra JavaScript. JavaScript puede general HTML dinámicamente en el cliente. Este una capacidad útil, pero sólo maneja situaciones donde la información dinámica está basada en el entorno del cliente. Con la excepción de las cookies, el HTTP y el envió de formularios no están disponibles con JavaScript. Y, como se ejecuta en el cliente, JavaScript no puede acceder a los recursos en el lado del servidor, como bases de datos, catálogos, información de precios, etc.

  • FUENTE: http://www.programacion.com/articulo/servlets_y_jsp_82

Espero sea de utilidad. 
Un cordial saludo a todos :)

2 comentarios:

  1. Los Servlets Java son más eficientes, fáciles de usar, más poderosos, más portables, y más baratos que el CGI tradicional y otras muchas tecnologías del tipo CGI.

    Lo siento, Vanessa, pero ninguno de esos adjetivos es correcto: el CGI es un "protocolo" de comunicaciones, que es muy parecido a como los JSP lo resuelven: el usuario manda una solicitud y el servidor web delega la respuesta a un proceso externo. Más información sobre CGI, en la Wikipedia.

    En cuanto a los adjetivos... yo tengo una empresa de alojamiento Web, y desde hace diez años damos servicios CGI y Java (con el servidor de aplicaciones Tomcat). Después de esos diez años estos son los resultados:

    * Eficiencia: una aplicación Java consume casi 400 veces la memoria necesaria que un CGI escrito en Perl, ocupa en disco unas 200 veces más, y el consumo de CPU supera las 20 veces más.

    * Fáciles de usar: recientemente una empresa cliente desarrolló un sitio web muy complicado. Con la ayuda de 6 programadores se realizó todo, en Java para Tomcat. El resultado fue más de 90.000 ficheros distintos, de los cuales casi un 25% eran ficheros de "apoyo" XML necesarios para el Eclipse y NetBeans, es decir, ficheros que no intervienen directamente en la ejecución del sistema.

    * Más poderosos. Nos hemos visto en la necesidad de duplicar la memoria necesaria que Tomcat consume, ya que con 4Gb anda algo escaso.De hecho, nos hemos visto en la obligación de reiniciar el Tomcat todas las noches, de madrugada, para evitar agotamientos de memoria. Mientras, un CGI "tradicional" puede ejecutarse en la mayoría de los teléfono móviles.

    * Más portables: un CGI programado en C es mucho más portátil...

    * Más baratos: en otras palabras: los sueldos de los programadores de Java son más bajos que los de otros lenguajes :) Cuantos más programadores tiene una tecnología, más fácil y barato es desarrollar en esa tecnología. Por eso, también, los programadores de COBOL ahora están ganando fortunas.

    (y lo que es más importante, los desarrolladores de servlets cobran más que los programadores de Perl :-).

    ¿Puede darnos una referencia en alguna página web de sueldos donde se ratifique eso?

    ResponderEliminar
  2. Ese sí es un comentario :) ¿Porqué no comentan así mis alumnos? +3 para Vane

    ResponderEliminar