Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Aprendiendo a Programar
Captulo V
El servidor web
El principal servicio que nos interesa que brinda un servidor,
es el de enviarle al usuario la pgina web que el mismo
requiere. Y esto lo hace de distintas maneras. Si la pgina es
simplemente un archivo esttico, que no cambia nunca,
directamente lo enva para su visualizacin.
En cambio, si lo que nuestra aplicacin necesita es mostrar
distinta informacin de acuerdo a lo que interacta el usuario
mientras navega, ah empezamos con lo que llamamos
programacin de pginas dinmicas
Pginas dinmicas
Un sitio web dinmico es uno que puede tener cambios frecuentes en la
informacin. Cuando el servidor web recibe una peticin para una
determinada pgina de un sitio web, la pgina se genera
automticamente por el software, como respuesta directa a la peticin de
la pgina.
Hablando de manera mas general el trmino "pgina web dinmica" lo
usamos para referirnos a alguna pgina especfica que es generada de
manera diferente para cada usuario, en cada recarga de la pgina o por
las acciones especficas que los usuarios realizan al navegarla
Navegacin condicionada
Las pginas dinmicas son el resultado de la ejecucin de un programa en
algn tipo de lenguaje de programacin en el servidor de la pgina web, el
cual genera la pgina antes de enviarla al cliente, o bien de la ejecucin en
nuestra PC de un cdigo que crea la pgina completa antes de que un
navegador la visualice.
De esto nace el concepto de Navegacin Condicionada, que se refiere a
cierta informacin o pantallas que se pueden mostrar o no en funcin
del valor de una condicin, que depende de las acciones del usuario. En
este captulo vamos a ver unos primeros ejemplos de cmo hacer esto en
.NET.
MVC
MVC en la informtica, significa sencillamente ModelViewController, o
en espaol Modelo-Vista-Controlador. Referirnos al patrn MVC,
sencillamente significa que es una forma de ordenar nuestros sistemas
que se repiten constantemente, y por ello se dice que es un patrn.
Este patrn lo que hace, es separar nuestro sistema en partes para que
sea mas sencillo de programar y de entender. Cmo separa el patrn
nuestro sistema? En tres partes principales: el Modelo (todo lo que tiene
que ver con la inteligencia de mi sistema y los datos), las Vistas (la interfaz
de usuario) y los Controladores (quizs lo mas difcil de entender, que es
quien reconoce las acciones de los usuarios y ejecuta acciones).
MVC
Para ponerlo mas fcil, piensen en una pgina web que estn navegando. Lo que
estn viendo, es la vista de la pantalla inicial o Index. En esa pantalla ustedes
tienen un men desplegable donde pueden seleccionar de que pas son. Una vez
que seleccionan su pas, el controlador le enviar la informacin al modelo, quien
a su vez, en base a lo que hayan programado, decidir que provincias o estados se
corresponden a ese pas, y le dir a la vista que muestre otro men con la
informacin que corresponde.
De esta manera, tengo 3 partes de mi aplicacin separadas, cada una ocupndose
de una parte distinta, y haciendo mas sencilla mi programacin. Esto nos va a
permitir tambin hacer mas fcil el testing de mi sistema y el mantenimiento,
porque cada parte es mas chica que el total.
Y en el about.cshtml pondremos:
Luego, en Visual Studio, presionamos F5 para ver en el navegador nuestra primera aplicacin funcionando.
Podemos clickear en Home o About para ver nuestras dos pantallas.
Seguir avanzando
Qu pasa si queremos hacer algo mas avanzado? Que
interacte de otras maneras con mis usuarios? Cmo hago si
quiero enviar un mail cuando un usuario se registra en mi
sitio, o si alguien me hace una consulta y yo quiero recibirla
en mi casilla de correo? O cmo hago para crear un chat y
divertirme con mis amigos?
Todo esto es posible de manera muy sencilla y lo veremos
mas adelante, pero primero debemos entender como es que
funcionan este tipo de mensajeras.
Mensajera
Tanto para enviar un correo electrnico como un mensaje de
un chat mi sistema debe conectarse de alguna manera con un
programa, o servidor, que se encarga de recibir el contenido
que quiero enviar, junto con mucha informacin que alguna
nosotros podemos ver y otra es invisible a nosotros como
usuarios. En el mensaje no solo envo texto, o el ttulo, sino
que tambin, a quin estoy dirigiendo el mensaje, el formato
del mismo (si es HTML, texto plano, emoticones, imgenes,
etc) y otros aspectos de los que podemos saber o no.
Mensajera
Una vez que mediante nuestra programacin nos conectamos con el
sistema correspondiente y les brindamos la informacin necesaria, se
resolver si la direccin de destino es correcta y se enviar el mensaje. Al
enviar el mensaje pueden ocurrir distintos inconvenientes por el cual la
informacin no llega a destino, ya sea en un mail o en un chat. El nico
problema no es que la direccin no exista. Podra ocurrir que quien va a
recibir el correo o mensaje de chat nos tenga bloqueados, o que no tenga
espacio para recibir la informacin. Y en esos casos el servidor de envo de
mensajes nos devolver algn tipo de cdigo de error que nuestro sistema
deber entender y traducirlo a un lenguaje para que los usuarios lo
entiendan.
Mensajera
La diferencia principal entre un correo electrnico y un chat es
que cuando abrimos el chat y seleccionamos con que usuario
queremos conversar, ya automticamente el programa tiene
guardada la direccin de adonde se debe entregar el mensaje,
y no hay posibilidad de error con ello. Lo nico que puede
ocurrir es que el receptor nos tenga bloqueados, o no se
encuentre conectado y no pueda recibir el mensaje. Pero
aparte de ello, ambos tipos de funcionalidades
Mensajera
Pero enviar un email en .NET puede ser tan sencillo como escribir:
try
{
// Send email
WebMail.Send(to:"someone@example.com", subject: "Email example" +
customerEmail, body: customerRequest );
}
catch (Exception ex )
{
<text>@ex</text>
}
Pero esto lo veremos mas adelante a medida que armemos nuestra aplicacin.