Post on 06-Mar-2016
description
1.1 Introducción
*Introducción a .Net
MCPD. C. Cecilia Wiesse 2
*Contenido
* Aplicaciones Web* ¿Cómo trabajan las aplicaciones Web?
* .Net Framework* Acceso a datos con ADO.NET* ASP .NET
* Aplicación Web ASP.NET* Code Inline* Code Behind * Configuración de ASP .NET
* IIS* LINQ* Mejoras de seguridad
MCPD. C. Cecilia Wiesse 3
*Aplicaciones Web
*Tradicionalmente las aplicaciones Web se han desarrollado siguiendo un modelo mixto que intercalaba código HTML y JavaScript propio de páginas Web (parte cliente), junto con código que se ejecutaría en el servidor (parte servidora). *Este modelo contrastaba por completo con
el modelo orientado a eventos seguido por las principales herramientas de desarrollo de aplicaciones de escritorio
MCPD. C. Cecilia Wiesse 4
*Aplicaciones WEB 2
*Cliente: Browsers, Internet Explorer, Netscape, Opera browser, (generalmente indeterminado)*Server: Las aplicaciones corren sobre el
servicio IIS, quien es el encargado de procesar los pedidos de los clientes mediante el protocolo HTTP
MCPD. C. Cecilia Wiesse 5
*Aplicaciones WEB 3
* La principal aportación de ASP.NET al mundo de la programación es que ha llevado a la Web el paradigma de la programación orientada a eventos propia de aplicaciones de escritorio, ofreciendo:* Separación entre diseño y lógica. * Componentes de interfaz de usuario, tanto estándar
como de terceras empresas o propios. * Diseñadores gráficos. * Eventos. * Estado. * Enlazado a datos desde la interfaz
MCPD. C. Cecilia Wiesse 6
*¿Como trabajan las aplicaciones
Web?
INTERNET
MCPD. C. Cecilia Wiesse 7
*.Net Framework
*Proporciona servicios comunes para la ejecución de aplicaciones .net.*Brinda soporte para programación OO
(clases, herencia, métodos, propiedades, eventos, polimorfismo, constructores, etc.)*Proporciona CLS (Command Language
Specification) base para compartir código con cualquier lenguaje.
MCPD. C. Cecilia Wiesse 8
*.Net Framework 2
*Componentes:*CLR*Framework Library*ADO .Net*ASP . Net*LINQ*Interfaz de usuario
MCPD. C. Cecilia Wiesse 9
*.Net Framework 3
*Versiones de Framework:
MCPD. C. Cecilia Wiesse 10
*.Net Framework 4
*Componentes incluidospor cada versión.
MCPD. C. Cecilia Wiesse 11
*Commond Languaje
Rumtime (CLR)
*El CLR es el encargado de dotar de una serie de servicios automáticos al código que se ejecuta.
MCPD. C. Cecilia Wiesse 12
*Commond Languaje
Rumtime (CLR) 2
* Componentes:* Cargador de clases (Class Loader) permite cargar las
clases de trabajo en memoria.* MSIL (Microsoft Intermediate Language) transforma
código intermedio de alto nivel independiente del hardware que lo ejecuta a código de máquina propio del dispositivo que lo ejecuta
* Administrador de código (Code Manager): coordina toda la operación de los distintos subsistemas del CLR.
* Recolector de basura (Garbage Collection) : elimina de la memoria objetos no utilizados.
* Gestor de seguridad (Security Engine): administra la seguridad del código que se ejecuta.
MCPD. C. Cecilia Wiesse 13
*Commond Languaje
Rumtime (CLR) 3
*Gestor de depuración (Debug Engine): permite hacer un seguimiento de la ejecución del código.
* Verificador de tipos (Type Checker): controla que las variables de la aplicación usen el área de memoria que tienen asignado.
* Administrador de excepciones (Exception Manager): gestiona los errores que se producen durante la ejecución del código de forma elegante e intuitiva
* Soporte hilos (Thread Support): Proporciona soporte multiproceso mediante threads o hilos que permite la ejecución simultánea de un mismo código.
*Referencias COM: coordina la comunicación con los componentes COM para que puedan ser usados por el .NET Framework.
MCPD. C. Cecilia Wiesse 14
*Framework Library
*Proporciona un conjunto de soluciones predefinidas para las necesidades típicas de la programación de aplicaciones para entornos web (cliente-servidor) como para aplicaciones de escritorio.*Namespace: Organización lógica de tipos y
clases base, además puede agrupar otros namespace.*System: Contiene definición de las clases
funcionales.
MCPD. C. Cecilia Wiesse 15
*Framework Library 2
*System:
MCPD. C. Cecilia Wiesse 16
*Acceso a datos con ADO.NET
*ADO.NET es un modelo de acceso mucho más orientado al trabajo desconectado de las fuentes de datos.
MCPD. C. Cecilia Wiesse 17
*Acceso a datos con ADO.NET 2
*El concepto más importante que hay que tener claro sobre ADO.NET es su modo de funcionar, que se revela claramente al analizar su arquitectura:
MCPD. C. Cecilia Wiesse 18
*Acceso a datos con ADO.NET 3
*Capa conectada * Contiene objetos especializados en la conexión
con los orígenes de datos. Así, la clase genérica Connection se utiliza para establecer conexiones a los orígenes de datos. * La clase Command se encarga de enviar comandos
de toda índole al origen de datos. * La clase DataReader está especializada en leer los
resultados de los comandos. * La clase DataAdapter hace uso de las tres
anteriores para actuar de puente entre la capa conectada y la desconectada.
MCPD. C. Cecilia Wiesse 19
*Acceso a datos con ADO.NET 4
*Capa desconectada* Una vez que ya se han recuperado los datos
desde cualquier origen de datos que requiera una conexión ésta ya no es necesaria.
* Motivo para emplear desconectado es para evitar los cuellos de botella.
* Otro motivo por el que es importante es la transferencia de información entre capas de una aplicación. Éstas pueden encontrarse distribuidas por diferentes equipos, e incluso en diferentes lugares del mundo gracias a Internet.
MCPD. C. Cecilia Wiesse 20
*ASP .NET
* Tecnología para generar páginas dinámicas en el servidor y enviarlas al cliente (navegador Web), ejecutando previamente el código que contienen y convirtiendo el resultado a código HTML, que es el único que puede interpretar adecuadamente el cliente.
* El componente fundamental de ASP.NET es el formulario Web Form.
* Un Web Form es una página dinámica que puede acceder a recursos del servidor.
*Web Form ASP.NET también puede ejecutar código en el lado servidor.
* Independiente del navegador y del lenguaje
MCPD. C. Cecilia Wiesse 21
*ASP.NET 2
*Aplicación Web ASP.NET*ASP.NET parte de la plataforma .NET que
permite el desarrollo y ejecución tanto de aplicaciones web como de servicios web. *ASP.NET se ejecuta en el servidor. *En ASP.NET, se suele desarrollar utilizando
formularios web (usando C# o Visual Basic .NET). *Se ejecutan sobre Internet Information
Server (IIS),
MCPD. C. Cecilia Wiesse 22
*ASP .NET 3Datos XML
Base de datos
Internet
Page1.aspx
Page2.aspx
ServiciosWeb
Componentes
Web Forms
Páginas código trasero
global.asax
Web.config
machine.configCa
ché
de S
alid
aClientes
Arquitectura Net
clásica
MCPD. C. Cecilia Wiesse 23
*ASP .NET 4
*Ciclo de procesamiento de solicitudes para un Web Forms
MCPD. C. Cecilia Wiesse 24
*Code Inline
*Contiene el código y diseño inmerso en el mismo archivo.*El código dinámico que se ejecuta en el
servidor puede ser colocado en una página dentro de un bloque <% -- código dinámico -- %> (similar a PHP, JSP y ASP).*Cuando se emplea Code-Inline el
manejador de eventos para la página se coloca en la misma página que contiene los controles de servidor.
MCPD. C. Cecilia Wiesse 25
*Code Inline 2
MCPD. C. Cecilia Wiesse 26
*Code Behind
*Modelo code-behind, o de respaldo, coloca el código en un archivo separado o en una etiqueta de script especialmente diseñada.
*Cuando usamos Code-Behind, el código que maneja los eventos se sitúa en un fichero que está separado físicamente de la página que contiene los controles de servidor y las marcas. Esta clara diferenciación entre código y contenido es útil cuando necesitamos mantener éstos separados (Diseño/Programa por ejemplo).
MCPD. C. Cecilia Wiesse 27
*Code Behind
*Al emplear Code-Behind se debe indicar en la página cual es el archivo que manejará los eventos mediante el atributo Inherits:* <%@ page language= "CS" CodeFile = "WebForm2.aspx.cs"
Inherits = "WebForm2.aspx" %>
WebForm2.aspx.cs
WebForm2.aspx
MCPD. C. Cecilia Wiesse 28
*Configuración de ASP .NET
*Para poder ejecutar páginas ASP .NET se necesita:* IIS (Internet Information Server): Dado que
ASP .NET es una tecnología de servidor, requiere un servidor Web en ejecución.
* SDK (Kit de Desarrollo de Software) de .NET Framework: está disponible para Windows NT con SP6a, Windows 2000, entre otros. Sin este componente, el servidor Web por sí mismo no es capaz de interpretar adecuadamente las páginas ASP .NET. La instalación de Visual Studio .NET conlleva automáticamente la del SDK de .NET Framework.
MCPD. C. Cecilia Wiesse 29
*Configuración de ASP .NET 2
*Las aplicaciones ASP.NET utilizan un sistema de configuración que le permite definir valores de configuración para su servidor Web, para un sitio Web o para aplicaciones individuales. *Los valores de configuración de ASP.NET se
almacenan en archivos basados en la tecnología XML. Estos archivos son archivos de texto ASCII y mas fácil de realizarles cambios.
*Configuración de ASP .NET 3
*Conceptos y Arquitectura*Archivo de configuración: web.config*Basado en XML, legible y modificable por
“humanos”*El archivo se mantiene en el mismo
directorio que la aplicación*Los cambios se detectan
automáticamente*Arquitectura de configuración jerárquica*Afecta el subdirectorio actual y todos los
dependientes
RootDir
SubDir1
SubDir2
web.config
MCPD. C. Cecilia Wiesse 31
*IIS
*Servidor Web*Es necesario cuando se quiere
alojar una aplicación en una ubicación centralizada y se quiera tener acceso desde muchos lugares. *El Servidor Web es responsable
de manejar todas las peticiones que vienen de los clientes, procesarlos y dar las respuestas
MCPD. C. Cecilia Wiesse 32
*IIS 3
*La aplicación web se guarda en una carpeta del servidor que por defecto es wwwroot en la unidad de instalación del sistema operativo.*Versiones:*Microsoft Windows Server 2003 trabaja con IIS 6, Microsoft
Windows Server 2008 con IIS 7. Existe un cambio importante entre las dos versiones.
*Con el Microsoft Windows Server 2008 R2 aparece una versión mejorada del 7. El IIS 7.5 tiene la novedad que junto a ASP.NET versión 4 del .Net Framework puedes programar el auto arranque de las aplicaciones web hospedadas en el IIS.
* Profesional incluye una versión limitada de IIS. Los servicios que ofrece son: FTP, SMTP, NNTP y HTTP/HTTPS.
MCPD. C. Cecilia Wiesse 33
*IIS 2
*Toda aplicación web ya sea estática o dinámica necesita de un servidor web para poder entregar las páginas. *El IIS es una serie de servicio Web para los
ordenadores que funcionan con Windows.*El IIS es el responsable de entregar las páginas
que se solicitan mediante una petición Http. En el caso de ASP.NET necesita la instalación del Framework para que el IIS sepa interpretar los archivos con extensión .aspx.
MCPD. C. Cecilia Wiesse 34
*IIS 4
*El IIS convierte un PC domestica que ejecuta Windows en un servidor para aplicaciones ASP.*Para verificar que IIS se encuentra activo
abrimos nuestro navegador y escribimos en la barra de direcciones http://localhost y debe cargarse un página similar a esta aplicación Web.
MCPD. C. Cecilia Wiesse 35
*LINQ
*LINQ es quizás una de las características más novedosas introducidas en Microsoft .NET Framework en los últimos años.Simplifica el código, acorta los tiempos de desarrollo, permite que el desarrollador desarrolle aplicaciones más productivas.*LINQ significa Language Integrated Query, o lo que es lo mismo, lenguaje integrado de consultas.
MCPD. C. Cecilia Wiesse 36
*Seguridad en ASP .Net
*ASP.NET, conjuntamente con Microsoft Internet Information Services (IIS), puede autenticar las credenciales del usuario como nombres y contraseñas mediante los métodos de autenticación siguientes:*Windows: básica, implícita, y Autenticación de
Windows integrada (NTLM o Kerberos).*Autenticación mediante formularios, con la que crea
una página de inicio de sesión y se administra la autenticación en la aplicación.
*Autenticación mediante certificados de clienteMSDN
MCPD. C. Cecilia Wiesse 37
*Seguridad en ASP .Net 2
*Bondades:*Autenticación integrada a Windows, passport y
basada en formularios.*ASP.NET trae incorporado un conjunto de clases
que permiten manejar los procesos de autenticación de una manera amigable y orientada a objetos.*Permite hacer impersonalizarían en aplicaciones
para que la aplicación pueda correr basado en las credenciales de algún usuario específico.*En ASP.NET las aplicaciones corren bajo un
usuario anónimo especificado en el IIS o bajo uno autenticado en Windows
MCPD. C. Cecilia Wiesse 38
*Seguridad en ASP .Net 3
*ASP.NET sigue trabajando en forma muy ligada con IIS y el Sistema Operativo para implementar la seguridad. Las configuraciones se pueden hacer con la consola de IIS o se pueden realizar directamente sobre el archivo Web.config
<?xml version="1.0" encoding="utf-8" ?><configuration> <system.web> <authentication mode="Windows" /> <authorization> <allow users="*" /> </authorization> </system.web></configuration>
MCPD. C. Cecilia Wiesse 39
*Cuestionario
1. ¿Qué es Framework?2. Defina el termino IIS y su funcionalidad.3. ¿Cuáles son los componentes de
Framework ?4. ¿A qué hacer referencia el termino
modo Conectado?5. ¿Características del modelo
desconectado y a que se aplican?6. Menciones 5 librerías dentro del System.
MCPD. C. Cecilia Wiesse 40
*Cuestionario
7. ¿Las PCs domesticas pueden hacer las veces de un Servidor Web? Justifique.
8. ¿Qué es LINQ?9. ¿Cuáles son los niveles de seguridad en
ASP .Net?10.¿Que es lo que permite la seguridad
con ASP .Net?
*Referencias
*Fundamental: Class Library en la sección Reference de .NET Framework SDK Documentation*Pro Csharp 2008 and the NET 3.5 Platform -
Fourth Edition - Andrew Troelsen*Pro WPF in C# 2008 Windows Presentation
Foundation with .NET 3.5 - Second Edition - Matthew MacDonald*Visual C# 2008 – John Shapp - Microsoft Press *ASP.NET 3.5 –Shepherd-Microsoft Press
MCPD. C. Cecilia Wiesse 42
*Links
* .Net Framework:* http://www.slideshare.net/dunbit/programacion-de-aplicaciones-web-con-
aspnet* http://www.softidsolutions.com/services/technology/net.html* http://en.wikipedia.org/wiki/.NET_Framework_version_history
* Framework Library:* http://www.adrformacion.com/cursos/visualc/leccion1/tutorial2.html* http://www.desarrolloweb.com/articulos/1328.php
* ASP .Net* http://elvex.ugr.es/decsai/csharp/web/asp.xml
* IIS* http://jparareda.wordpress.com/2013/10/16/aspectos-fundamentales-de-la-
programacion-asp-net-3era-parte/* Seguridad
* http://msdn.microsoft.com/es-es/library/330a99hc(v=vs.100).aspx* http://sisinfo.itc.mx/ITC-APIRGG/Fundamentos_ASPdotNet/capitulo14.htm