sábado, 13 de octubre de 2012

¿Que es una Sesión?


Es uno de los sistemas más usados en PHP para el almacenamiento de variables a lo largo de la navegación por una página web son las sesiones.
Consisten básicamente en variables globales que mantienen su valor a pesar de cambiar de sección dentro de una misma web. 

Recordamos que existen tres formas de almacenar la información de las variables que más tarde querremos procesar:

*POST: Envía los datos de forma “oculta” en la cabecera de la página y requiere de un formulario para enviar las variables.
*
*GET: Envía la información en la URL. Tiene la ventaja de poder enlazar directamente con los valores de las variables. Limitación de capacidad y falta de confidencialidad.
*
*SESIONES: Gracias a las sesiones podremos almacenar el valor de variables cuyo contenido se preservará a lo largo de toda la visita.
*Un ejemplo de su gran potencial es, por ejemplo, cuando queremos almacenar el nombre de usuario y la contraseña de una persona a lo largo de su recorrido por la web. Podríamos ir enviando dichos valores mediante el método GET pero tanto el nombre de usuario y la contraseña saldrían visibles en la URL destino. Para asegurar confidencialidad y seguridad, se usan las sesiones.

Ejemplos de Sesiones:

      Regularmente cuando realizaba pequeños proyectos web y trabajaba con sesiones siempre todo lo manejaba en archivos JSP, pero esta vez decidí probar un servlet para el manejo de sesiones y mostrar lo facil que puede resultar. Lo que comúnmente hacemos es trabajar con el famoso cuadro de logueo, en donde colocamos el usuario y el password para luego ser validado y crear la sesión. Bueno lo primero que tenemos hacer es crear el proyecto dentro de NetBeans (ya saben como aplicativo web) y luego escribir algo de código básico HTML dentro del archivo “Login.jsp” creando el cuadro de logueo mas o menos quedando así:

El diseño queda a disposición de ustedes, ahora hay un sin fin de herramientas que permiten realizar este tipo de trabajo, esto es solo para uso didáctico. Obviamente esta tabla de logueo lo mantendremos dentro de un “form” dado que utilizaremos el método POST y en el action colocaremos el Servlet al cual llamaremos “Sesion”.

Una vez hecho esto, creamos el archivo “Principal.jsp” el cual nos servirá para mostrar el resultado luego de realizar el logueo.

Luego creamos nuestra clase que actuara como servlet. Hacemos click derecho sobre nuestro proyecto y elegimos New –> Servlet, le damos el nombre (Sesion.java) y se nos mostrara un cuadro en donde nos dice que este nombre del servlet será añadido al archivo de configuración “web.xml” el cual servirá para poder ubicarlo y luego le damos click en terminar


Una vez hecho esto solo quedaría agregar el código dentro del método “processRequest”, quedando algo como esto:

Podemos observar que estamos obteniendo los datos del formulario mediante el request para ser validado y así poder generar la sesión, para luego enviarnos a la pagina principal. Ahora esto no quedaría allí; en la pagina “Principal.jsp” que ha sido creada tendríamos que realizar también la validación de la sesión, dado que como sabemos las sesiones tienen un tiempo de vida, si sobrepasa este tiempo la sesión automáticamente se destruye (a no ser que personalice el tiempo de vida), entonces en la pagina “Principal.jsptendríamos algo como esto:

De esta forma validamos si la sesión persiste, en caso contrario te enviaría a la pagina de inicio para volver ha realizar el logueo.
Como verán es una forma practica de trabajar con sesiones mediante un servlet; obviamente esto tendría que mejorarse, pero esto puede ser un punto de partida para muchos.







jueves, 4 de octubre de 2012

¿Que son los Cookies?


  • Una cookie es un pequeño archivo que se genera cuando conectamos a una página web y que se guarda en nuestro. 
  • Este archivo contiene una serie de informaciones sobre la configuración de dicha página. Esta información puede ir desde contraseñas de acceso hasta configuraciones de visualización (en aquellas páginas que permiten configurar ésta), etc.
  • Parte de esta información también se puede guardar en la URL de la página o en su servidor, pero debido a la enorme cantidad de visitantes que puede tener una página esto no sería demasiado práctico, por lo que la inmensa mayoría de los sitios web recurren a guardar estos datos en una cookie en el ordenador del cliente. 
  • Fueron introducidas en la programación con servlets; en JSP es igual de simple su programación.
  • Las cookies se obtienen de la petición HTTP (objeto request) y se mandan a la respuesta HTTP (objeto response) siempre que el cliente acepte las cookies.
  • Una vez obtenida una cookie de la petición, ésta se puede leer, modificar y alterar su fecha de expiración (cambiando su edad máxima).
  • Además, en cualquier momento se puede agregar nuevas cookies a las ya existentes.

  • Por ejemplo cuando visitamos determinadas páginas, estas quedan guardadas en un historial o en cuanto a sus preferencias. De igual manera cuando ingresamos a diferentes cuentas de trabajo, siempre podrán notar que se nos aconseja el guardar nuestros datos (usuario y contraseña) para futuras visitas más eficientes, y es así como actúan, sin tratar de perjudicarnos en nada.
  • Ahora bien, si un ordenador es de uso personal si es conveniente utilizar estas ayudas, pero si estamos en un ordenador que lo utilizan muchas personas, no debemos de aceptar “guardar nuestros datos personales”, pues cualquiera podrá entrar en cualquier instante.



jueves, 13 de septiembre de 2012

¿Que es HTML 5.0?


Ahora convendría explicar qué es exactamente HTML 5, ya que no es simplemente una nueva versión del lenguaje de marcación HTML, sino una agrupación de diversas especificaciones concernientes a el desarrollo web. Es decir, HTML 5 no se limita sólo a crear nuevas etiquetas, atributos y eliminar aquellas marcas que están en desuso o se utilizan inadecuadamente, sino que va mucho más allá.

Así pues, HTML 5 es una nueva versión de diversas especificaciones, entre las que se encuentran:
  • HTML 4
  • XHTML 1
  • CSS Nivel 2
  • DOM Nivel 2 (DOM = Document Objetc Model)

Cuáles son las novedades de HTML 5
HTML 5 incluye novedades significativas en diversos ámbitos. Como decíamos, no sólo se trata de incorporar nuevas etiquetas o eliminar otras, sino que supone mejoras en áreas que hasta ahora quedaban fuera del lenguaje y para las que se necesitaba utilizar otras tecnologías.
  • Estructura del cuerpo: La mayoría de las webs tienen un formato común, formado por elementos como cabecera, pie, navegadores, etc. HTML 5 permite agrupar todas estas partes de una web en nuevas etiquetas que representarán cada uno de las partes típicas de una página.
  • Etiquetas para contenido específico: Hasta ahora se utilizaba una única etiqueta para incorporar diversos tipos de contenido enriquecido, como animaciones Flash o vídeo. Ahora se utilizarán etiquetas específicas para cada tipo de contenido en particular, como audio, vídeo, etc.
  • Canvas: Es un nuevo componente que permitirá dibujar, por medio de las funciones de un API, en la página todo tipo de formas, que podrán estar animadas y responder a interacción del usuario. Es algo así como las posibilidades que nos ofrece Flash, pero dentro de la especificación del HTML y sin la necesidad de tener instalado ningún plugin. 
  • Bases de datos locales: el navegador permitirá el uso de una base de datos local, con la que se podrá trabajar en una página web por medio del cliente y a través de un API. Es algo así como las Cookies, pero pensadas para almacenar grandes cantidades de información, lo que permitirá la creación de aplicaciones web que funcionen sin necesidad de estar conectados a Internet.
  • Web Workers: son procesos que requieren bastante tiempo de procesamiento por parte del navegador, pero que se podrán realizar en un segundo plano, para que el usuario no tenga que esperar que se terminen para empezar a usar la página. Para ello se dispondrá también de un API para el trabajo con los Web Workers.
  • Aplicaciones web Offline: Existirá otro API para el trabajo con aplicaciones web, que se podrán desarrollar de modo que funcionen también en local y sin estar conectados a Internet.
  • Geolocalización: Las páginas web se podrán localizar geográficamente por medio de un API que permita la Geolocalización.
  • Nuevas APIs para interfaz de usuario: temas tan utilizados como el "drag & drop" (arrastrar y soltar) en las interfaces de usuario de los programas convencionales, serán incorporadas al HTML 5 por medio de un API.
  • Fin de las etiquetas de presentación: todas las etiquetas que tienen que ver con la presentación del documento, es decir, que modifican estilos de la página, serán eliminadas. La responsabilidad de definir el aspecto de una web correrá a cargo únicamente de CSS.

¿Que es XHTML?


¿Que es XHTML?

XHTML es la versión XML de HTML, por lo que tiene, básicamente, las mismas funcionalidades.

Cumple las especificaciones más estrictas de XML.

XHTML serviría únicamente para transmitir la información contenida en un documento, dejando a las hojas de estilo y JavaScript el aspecto y el diseño para distintos medios.

Un sitio Web o un documento XHTML funcionan con todos los navegadores y al mismo tiempo en todos los dispositivos portátiles con soporte XML, como Laptops, TabletPcs, PDAs, Teléfonos WAP, WebPads, WebTV, etc.

XHTML es una vuelta hacia atrás, que intenta recuperar la línea marcada por los estándares, pero que trata de solucionar diversos casos de uso del HTML, a la vez que lo prepara para adaptarse a las nuevas necesidades y corrientes tecnológicas.


miércoles, 12 de septiembre de 2012

¿Que es XML?



¿Que es XML?

XML juega un papel importantísimo en este mundo actual, que tiende a la globalización y la compatibilidad entre los sistemas, ya que es la tecnología que permitirá compartir la información de una manera segura, fiable, fácil.

 Además, Permite al programador y los soportes dedicar sus esfuerzos a las tareas importantes cuando trabaja con los datos, ya que algunas tareas tediosas como la validación de estos o el recorrido de las estructuras corre a cargo del lenguaje y está especificado por el estándar, de modo que el programador no tiene que preocuparse por ello.


¿Para que Sirve?

  • Se pueden declarar Datos detallados con un formato parecido a HTML, .
  • Se usa para representar y estructurar datos.
  • Hoy en dia podrás ver que las aplicaciones tienen sus archivos de configuración en formato XML, apache es un caso de estos, y ahora con la tecnología .NET de Microsoft, la configuración de las aplicaciones se hace a través de XML.
  • Sirve para desacoplar las capas de una aplicación.


¿Que es HTML?


¿Que es HTML?

HTML es el lenguaje con el que se definen las páginas web. Básicamente se trata de un conjunto de etiquetas que sirven para definir el texto y otros elementos que compondrán una página web.

¿Para que Sirve?

  • Describir y Estructurar un Contenido.
  • Complementar el texto con Objetos
Podríamos decir que HTML sirve para crear páginas web, darles estructura y contenido. 

<html>
<body>
<p>Esto es un párrafo. Bienvenidos a esta página web.</p>
</body>
</html>


Como podemos observar cada una de las etiquetas debe acabar con su homóloga de cierre. En este caso la etiqueta <html> debe cerrarse con </html>, la etiqueta <body> con </body> y la etiqueta <p> con </p>.

Así conseguiremos un código HTML bien formado y que los navegadores puedan interpretar sin ambigüedad.

¿Que es un Servlet?

¿Que es un Servlet?


  • Los Servlets son módulos que extienden los servidores                orientados a petición-respuesta.
  • Son servidores web compatibles con Java.
        Por ejemplo:

  • Un Servlet podría ser responsable de tomar los datos de un formulario de entrada de pedidos en HTML
  • Aplicarle la lógica de negocios utilizada para actualizar la base de datos de pedidos de la compañía.

Que puede hacer un Servlet

*Leer los datos enviados por un usuario.
*Usualmente de formularios en páginas Web.
*Pueden venir de applets de Java o programas cliente HTTP.
*Buscar cualquier otra información sobre la petición que venga incluida en esta.
*Detalles de las capacidades del navegador, cookies, nombre del host del cliente, etc.
*Generar los resultados.
*Puede requerir consultas a Base de Datos, invocar a otras aplicaciones, computar directamente la respuesta, etc.
*Dar formato a los resultados en un documento.
*Incluir la información en una página HTML.
*Establecer los parámetros de la respuesta HTTP.
*Decirle al navegador el tipo de documento que se va a devolver, establecer las cookies, etc.
*Enviar el documento al Cliente.

Modo de Comunicación

 -  El primer paso en este proceso es que el cliente envía una petición  HTTP al servicio  HTTP.

   - El segundo paso es que el servicio HTTP transmite a los datos de la petición el Contenedor Web.

    En el tercer paso, el Contenedor Web  crea un objeto que encapsule los datos del request stream.  El Web Container además crea un objeto que encapsule el Stream Response.

     En el cuarto paso, el WebContainer ejecuta el método de servicio del servlet solicitado.  Los objetos de la petición y de la respuesta se pasan como argumentos a este método.  La ejecución del método de servicio ocurre en un hilo de  separado. 

     - Finalmente, el texto de la respuesta generada por el servlet se empaqueta en una HTTP responde Stream, que se envía al servicio HTTP y se remite al cliente