Professional Documents
Culture Documents
Formularios
Un formulario es un dilogo que forma parte de una pgina Web. Este dilogo est
construdo con un conjunto de elementos como:
Algunos de estos elementos tienen un nombre. Este nombre indica que el valor
actual del elemento debe ser codificado y enviado al servidor en el momento del
envo del formulario. Ms informacin en WDVL - Forms.
Estas preguntas tienen toda una respuesta afirmativa, es decir, siempre hay
solucin. Pero contestar eso es lo mismo que decirle a alguien que es perfectamente
posible hacer un programa que simplifique expresiones de algebra simblica
usando mquinas de Turing: se necesita en la prctica una forma de ms alto nivel
de describir el problema.
Lo extrao de todo esto es que normalmente no se busca tal forma, sino que
simplemente se intenta parchar con las herramientas disponibles. Veremos una
situacin intermedia en que la aplicacin es complementada por ciertos mdulos de
nivel medio.
Sesiones
El problema de la persistencia es central al comenzar a pensar en este problema en
un nivel un poco ms alto. Por persistente significa que la aplicacin requiere del
envo y respuesta de mltiples formularios, y que esta secuencia de envos y
recepciones requiere cierta coherencia.
Esta coherencia se logra permitiendo que en algn nivel los programas trabajen con
los datos como si el proceso de enviar y recibir datos fuera algo continuo. Por lo
mismo, en algn nivel inferior la aplicacin debe transformar los envos de datos de
formulario entre browser y servidor en alguna estructura ms coherente. Estos
envos de datos constituirn una sesin.
La solucin consiste en mantener en el lado del servidor un conjunto de datos
correspondientes al cliente. Estos datos van ms all de su identificador como
usuario, sino que pueden involucrar tambin sus respuestas en formularios
anteriores, patrones navigacionales, etc. Estos datos son almacenados
normalmente en una base de datos relacional o en un rea de datos compartida
entre los procesos de atencin del servidor web.
Para conectar estos datos con el usuario, se utiliza por lo general una cookie. Esta
cookie incluye un identificador de sesin (session-id) generado aleatoriamente y que
por motivos de seguridad puede codificar entre otras cosas la IP del browser, fecha
hora actual, etc.
Las sesiones se pueden implementar tanto a nivel del servidor como de la
aplicacin, con o sin bases de datos y con o sin cookies (a veces se emplean URLs
codificadas y mtodos de reinterpretacin de URLs en el lado del servidor).
Persistencia de datos
Prcticamente todos los sistemas transaccionales en Internet tienen alguna forma
de guardar lo realizado durante la sesin, esto es, de hacer los cambios
permanentes. Lo tpico es utilizar algn SABD y comunicarse con l en SQL.
Secundariamente se realizan modificaciones a archivos en el filesystem o
conecciones a otros servidores.
Una buena idea es utilizar algn tipo de puente objeto-relacional en este caso. Esto
es, la aplicacin se construye en algn lenguaje con soporte para objetos
persistentes.
virtual class Persistent_Object { public result_code store(); public static
Persistent_Object Retrieve(query); // puede ser SQL, QBE, by_oid, etc. }
La implementacin de la clase base Persistent_Object excede el mbito de este
documento, pero pueden consultar ms informacin en ODMG - Object Data
Managment Group.
Seguridad
Confidencialidad
Las caractersticas de Internet que le son ms propias son las mismas que generan
una serie de problemas al momento de crear una aplicacin en el Web. Un paquete
de informacin puede pasar por varias manos antes de llegar a destino por lo que
no es fcil asegurar que no sea examinado o modificado.
Para conseguirlo normalmente se utilizan sistemas de llaves asimtricas, siendo lo
ms comn HTTPS que es HTTP sobre SSL.
SSL (secure socket layer) es un estndar desarrollado por Netscape que permite
una transmisin segura de datos.
Como en todo sistema de llaves pblicas, es deseable que existan entidades
certificadoras que permiten crear un web of trust apropiado.
Autentificacin
La autentificacin puede llevarse a cabo con o sin SSL. Sin SSL es imposible
asegurar demasiada seguridad, siempre alguien podr suplantar a menos que se
use un esquema de tipo challenge en que el servidor genera un token que debe ser
transformado por el cliente antes de responder.
Sin embargo a la larga esto ya es suficientemente complicado como para que sea
preferible usar SSL, que adems de autentificacin provee de confidencialidad.
Todo en un archivo
Varios archivos, uno por cada accin (tpico)
Varios archivos, uno por cada clase
Archivos de interfaz y bibliotecas por cada grupo de acciones