Académique Documents
Professionnel Documents
Culture Documents
Objetivo
Al finalizar el captulo, el alumno:
Temas
1.
IIS 8.0
2.
ASP.NET 4.5.1
3.
4.
5.
6.
7.
8.
9.
1.
IIS 8.0
IIS (Internet Information Services) es un servidor web para ASP.NET, que proporciona una
plataforma modular y extensible para sitios web, servicios y aplicaciones.
Algunas caractersticas del IIS 8.0:
Application Initialization
Permite a los administradores de sitios web mejorar la capacidad de respuesta de los
sitios Web mediante la carga de las aplicaciones antes de que llegue la primera
solicitud.
Consiste en, proactivamente, cargar e inicializar todas las dependencias, como las
conexiones de base de datos, compilacin de cdigo de ASP.NET, y la carga de
mdulos. De esta manera se puede asegurar que los sitios web estn listos para
atender las solicitudes de los clientes en todo momento, incluso si el application pool se
reinicia.
Mientras se inicializa una aplicacin, el IIS tambin puede ser configurado para devolver
una respuesta alternativa, tal como contenido esttico, hasta que una aplicacin ha
finalizado sus tareas de inicializacin.
CPU Throttling
En la versin 7 de IIS ya existen funciones para limitar el uso de CPU, que evitan que
determinados sitios web consuman ms de lo deseado. Pero el funcionamiento no es
del todo adecuado, ya que en caso de llegar a un lmite, solo se tiene la opcin de
detener el Application Pool.
Throttle Under Load: Permite a un sitio disponer de tanta CPU como necesite
mientras est disponible, pero limitar el uso si empiezan a aparecer otros sitios
web que necesiten capacidad de procesamiento. De este modo, se aade
flexibilidad porque puede limitar el uso de CPU sin detener procesos.
Dynamic IP Restrictions
La restriccin dinmica IP permite configurar al IIS para bloquear el acceso a
direcciones IP que excedan un determinado nmero de solicitudes en un perodo de
tiempo determinado, o cuando utilizan ms de un determinado nmero de peticiones
simultneas.
En el caso de que se tenga activado el servidor FTP de IIS, tambin se permite restringir
el acceso a usuarios que realizan un determinado nmero de fallos durante el inicio de
sesin FTP.
Recuerde
Un Application Pool permite aislar aplicaciones que se estn ejecutando en el
mismo servidor. De esta manera, si hay un error en una aplicacin, este no
afectar a otras, solo a las asociadas con el Application Pool.
2.
ASP.NET 4.5.1
1.2.1 MVC
ASP.NET MVC es un framework de aplicaciones web que implementa el patrn
modelo-vista-controlador. En marzo de 2009 se hizo pblica la primera versin de
ASP.NET MVC.
El patrn de arquitectura MVC (model-view-controller) no es nuevo (data de 1979)
ni es algo que haya inventado Microsoft. Existen muchos frameworks de desarrollo
web populares que utilizan MVC, como por ejemplo Ruby on Rails, Spring o Struts.
MVC es un patrn de arquitectura que ayuda a crear una separacin lgica entre
el modelo (la lgica de acceso a datos), la vista (la lgica de presentacin) y el
controlador (la lgica de negocio).
Uno de los pilares bsicos de ASP.NET MVC es el concepto de enrutamiento
(routing), lo que permite a las aplicaciones aceptar peticiones a URLs que no se
corresponden con ficheros fsicos en el servidor.
1.2.2 Web Pages
Una pgina web HTML simple es esttica, y su contenido est determinado por el
formato HTML fijo que est en la pgina.
ASP.NET Web Pages es un framework que se puede utilizar para crear pginas
web dinmicas. Permite crear y modificar el contenido de la pgina de forma
dinmica mediante el uso de cdigo.
El uso de pginas dinmicas permite hacer todo tipo de cosas, tal como pedir a un
usuario la entrada de datos por medio de un formulario y segn esto cambiar lo
que se muestra en la pgina. Tambin, puede tomar informacin de un usuario,
guardarla en una base de datos para utilizarla en alguna accin ms adelante,
entre otras muchas ms funcionalidades.
Para trabajar con ASP.NET Web Pages, puede crear pginas con un editor de
texto, y realizar las pruebas mediante el uso de un servidor web al que se tenga
acceso.
3.
Definicin de la arquitectura:
El diseo debe estar basado en funcin a un framework robusto y escalable, que se
encuentre alineado a un patrn sustentado para la construccin de Aplicaciones
Web. Esto implica seleccionar qu usar en cada capa de la aplicacin y seleccionar
el tipo de proyecto web a usar (Web Forms, MVC, etc.).
Debe tener una estructura que permita la extensibilidad de la aplicacin para la
gestin de cambios e implementacin de nuevas funcionalidades con el menor
esfuerzo posible.
Personalizacin:
Si se desea que la aplicacin pueda ser accedida y visualizada en diferentes idiomas
y respetando un formato establecido, se debe tener en cuenta los siguientes
criterios:
Configuracin:
Un aspecto importante en toda aplicacin es su despliegue en diferentes ambientes,
y que esto sea de manera configurable. Los ambientes pueden ser diferentes
servidores como por ejemplo, pruebas, desarrollo, produccin, entre otros. Para esto
se puede hacer uso por ejemplo del XDT (XML Data Transform) que permite generar
diferentes web.configs para diferentes ambientes.
4.
Modelos: son las partes de la aplicacin que implementan la lgica del dominio de
datos de la aplicacin. A menudo, recuperan y almacenan el estado del modelo en
una base de datos, por ejemplo, un objeto podra recuperar informacin de una base
de datos, trabajar con ella, y a continuacin escribir la informacin actualizada en
una tabla de base de datos.
10
Paso 3: El controlador interacta con el modelo segn sea necesario. Si hay datos
entrantes, ASP.NET MVC aplica el Model Binding para hacer que los datos de
entrada que provienen de la vista, se enlacen con los datos definidos en el
controlador.
Paso 4: En caso de que el modelo sea invocado, se recuperan o guardan los datos,
y se retorna al controlador.
Paso 5: Luego, el controlador solicita una vista con los datos del modelo (en caso se
haya usado), entrega la solicitud al motor de vistas que devuelve el resultado al
controlador. El controlador enva de vuelta el resultado como una parte de la
respuesta HTTP.
Se tiene un control preciso sobre el HTML generado, algo que no se tena con
ASP.NET Web Forms. Esto significa que las aplicaciones van a generar un cdigo
ms limpio, que siga los estndares y que se integre fcilmente con el cdigo
javascript.
Es extensible. Cada pieza que forma el framework ASP.NET MVC puede ser
alterada o modificada por una implementacin propia para cubrir las necesidades
especficas. Para cada componente del MVC Framework se tienen 3 opciones:
- Usar la implementacin que trae por defecto (normalmente suficiente para la
mayora de las aplicaciones).
- Crear una clase derivada y modificar el comportamiento deseado.
- Reemplazar el componente deseado por una nueva implementacin.
11
Potente sistema de ruteo (routing). ASP.NET Web Forms ya contaba con un sistema
de ruteo, pero ha sido con ASP.NET MVC en donde se explota al mximo para
aprovechar todas sus capacidades. Con ASP.NET MVC, una peticin HTTP no tiene
que estar necesariamente mapeada a un archivo, sino que se pueden crear URL's
elegantes, semnticas y user-friendly.
Funciona bien para las aplicaciones web en las que trabajan equipos de desarrollo
grandes y para los diseadores web que necesitan un alto grado de control sobre el
comportamiento de la aplicacin
12
Laboratorio 1.1
Crear un proyecto web de tipo MVC con Visual Studio 2013, que tenga autenticacin
"Individual User Account", y examinar la estructura de carpetas y archivos que se
generan, con la finalidad de que se vea cmo se organiza un proyecto Model-ViewController, y la convencin de nombres que implica.
5.
MVC2:
- WebForms View Engine (.aspx)
- TempData, ViewData
- <%=Html...code %>
- MasterPage
MVC3:
- Razor View Engine (.cshtml, .vbhtml)
- Nuevos controles: Chart, WebGrid, WebImage, WebMail.
- TempData, ViewData, ViewBag
- @Html...code
- LayoutPage
- Model Validation con Unobtrusive Javascript
MVC 4:
- ASP.NET Web API
- Mobile Project Template
- Display Modes
- Task Support for Asynchronous Controllers
- Bundling and Minification
- OAuth and OpenID
MVC 5:
- ASP.NET Web API 2
- One ASP.NET
- ASP.NET Identity
- Bootstrap
- Attribute Routing
- ASP.NET Razor 3
13
6.
14
15
16
7.
17
ASP.NET tuvo un gran impacto cuando fue lanzado, no solamente por ser una
plataforma multilenguaje, sino que llenaba el vaco existente entre las aplicaciones
Windows Forms, con estado y orientada a objetos, y las aplicaciones web orientadas a
HTML, intrnsecamente sin estado.
Con ASP.NET Web Forms, Microsoft intent ocultar tanto el protocolo HTTP (que es
intrnsecamente sin estado) as como el cdigo HTML generado (que en el momento no
era conocido por muchos desarrolladores), modelando una arquitectura de interfaz de
usuario que abstraa esos conceptos a un conjunto de controles. Cada control
gestionaba su propio estado, a travs de las diferentes llamadas al servidor, conectaba
los diferentes eventos de cliente y servidor, y se encargaba de generar el HTML
correspondiente. De esta manera, los desarrolladores no tenan que trabajar con una
serie de peticiones HTTP independientes y sus consiguientes respuestas. Aunque la
intencin fue buena al principio, la realidad result ser un poco ms complicada.
A lo largo de los aos ASP.NET Web Forms ha demostrado tener una serie de
debilidades:
18
Desde que ASP.NET Web forms fue lanzado, ha habido muchos progresos en la
industria del desarrollo web:
Es importante tener presente que a pesar que MVC es un patrn con muchos beneficios,
an Web Forms es una alternativa vlida para ciertos escenarios. Todava se usa Web
Forms en caso:
8.
19
9.
20
21
Get-Command *-Package: lista todos los comandos disponibles para trabajar con
Packages.
Library Package Manager: Es una interfaz grfica que permite realizar las mismas
operaciones que en la consola. Se divide en tres paneles:
-
22
23
Laboratorio 1.2
Instalar y/o mostrar los complementos para desarrollo de cada navegador: Internet
Explorer, Mozilla Firefox y Google Chrome.
Examinar los objetos HTML de un sitio web utilizando las diferentes herramientas y
complementos que brinda cada navegador.