sábado, 6 de marzo de 2010

Introduccion a Asp MVC (parte 1)




De un año para acá Microsoft a desarrollado una alternativa a Web Forms para el desarrollo de páginas y aplicaciones web en el framework asp .Net, este nuevo Framework está basado en MVC (Modelo - Vista - Controlador), un patrón de ingeniería de software bastante utilizado en otras tecnologías webs como Ruby on Rails (construido totalmente en base a MVC) y frameworks para Java y PHP.

¿Porque este cambio de dirección por parte de Microsoft, y que beneficios puede traer la utilización de esta tecnología con respecto a Web Forms?.

Antes de entrar en detalle, repasemos un poco el funcionamiento de las paginas web



Http (Hypertext transfer protocol)


Es el protocolo utilizado para la transferencia de datos entre el cliente (el Browser en nuestro caso) y el servidor. La comunicación entre ambos se produce con dos objetos, el request que consiste en una petición del cliente, y el response, la respuesta que envía.


El request es la petición del cliente al servidor para que ejecute alguna accion, tipicamente pedir informacion o realizar cambios (guardar, actualizar o eliminar datos).


El request puede ser de varios tipos, de los cuales nos enfocaremos en el Get y Post


El Get es utilizado para la petición de recursos al servidor. Este tipo de peticiones no debe ser utilizado para peticiones que causen ningún tipo de cambio, como lo puede ser la eliminación de registros en una base de datos, esto debido a la facilidad con las que pueden ser realizadas estas peticiones. Por ejemplo, veamos la siguiente tabla:




El boton eliminar es un link < a > a un URL, cuando se realiza una petición a este URL se elimina el dato. Ahora, si esta pagina tiene acceso público, el robot de google podría ingresar a ella en cualquier momento y realizar peticiones a los links encontrados, eliminando los datos de la pagina sin que nos demos cuenta.


La petición de tipo Post permite enviar datos en el cuerpo del request para que sean procesados por el servidor, como lo es crear, actualizad o eliminar registros de una base de datos.





Html (Hypertext markup language)


Es el principal lenguaje utilizado para estructurar las paginas webs. Los navegadores interpretan los documentos Html para generar la vista a mostrar al usuario.


Los documentos Html pueden incluir adicionalmente documentos del tipo Css para agregar estilos a la pagina, y scrips, tipicamente en lenguaje JavaScript, que agregan funcionalidades a la pagina del lado del cliente.


Estas 3 tecnologías (html, css y javascript) son las tecnologías del lado del cliente mas utilizadas.





Http, Html y el navegador


Como vimos, las paginas Webs son usualmente documentos Html con Css y Javascripts, mostrados por un navegador, el cual se comunica con un servidor a través del protocolo Http.


Todas las peticiones del cliente al servidor son realizadas a un URL:


www.ejemplo.com/MiPeticion/1?queryString=2


Donde la primera parte (www.example.com) indica la dirección del servidor, y el resto es la petición es interpretada por este para determinar la respuesta o acción a tomar y retornar al cliente. 
En el caso de las peticiones Post, el servidor  recibe adicionalmente los datos enviados en el cuerpo del request. Esto campos son introducidos usualmente por el cliente en un formulario html (< form >).


En la siguiente parte veremos como funciona esto en Web Forms y las diferencia con Asp MVC.




No hay comentarios:

Publicar un comentario