U1 1 introducción

42
1.1 Introducción * Introducción a .Net

description

Elementos y definiciones básicas de Visual Studio y ASP.Net

Transcript of U1 1 introducción

Page 1: U1 1 introducción

1.1 Introducción

*Introducción a .Net

Page 2: U1 1 introducción

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

Page 3: U1 1 introducción

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

Page 4: U1 1 introducción

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

Page 5: U1 1 introducción

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

Page 6: U1 1 introducción

MCPD. C. Cecilia Wiesse 6

*¿Como trabajan las aplicaciones

Web?

INTERNET

Page 7: U1 1 introducción

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.

Page 8: U1 1 introducción

MCPD. C. Cecilia Wiesse 8

*.Net Framework 2

*Componentes:*CLR*Framework Library*ADO .Net*ASP . Net*LINQ*Interfaz de usuario

Page 9: U1 1 introducción

MCPD. C. Cecilia Wiesse 9

*.Net Framework 3

*Versiones de Framework:

Page 10: U1 1 introducción

MCPD. C. Cecilia Wiesse 10

*.Net Framework 4

*Componentes incluidospor cada versión.

Page 11: U1 1 introducció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.

Page 12: U1 1 introducción

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.

Page 13: U1 1 introducción

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.

Page 14: U1 1 introducción

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.

Page 15: U1 1 introducción

MCPD. C. Cecilia Wiesse 15

*Framework Library 2

*System:

Page 16: U1 1 introducción

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.

Page 17: U1 1 introducción

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:

Page 18: U1 1 introducción

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.

Page 19: U1 1 introducción

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.

Page 20: U1 1 introducción

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

Page 21: U1 1 introducción

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),

Page 22: U1 1 introducción

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

Page 23: U1 1 introducción

MCPD. C. Cecilia Wiesse 23

*ASP .NET 4

*Ciclo de procesamiento de solicitudes para un Web Forms

Page 24: U1 1 introducción

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.

Page 25: U1 1 introducción

MCPD. C. Cecilia Wiesse 25

*Code Inline 2

Page 26: U1 1 introducción

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).

Page 27: U1 1 introducción

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

Page 28: U1 1 introducción

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.

Page 29: U1 1 introducción

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.

Page 30: U1 1 introducción

*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

Page 31: U1 1 introducción

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

Page 32: U1 1 introducción

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.

Page 33: U1 1 introducción

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.

Page 34: U1 1 introducción

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.

Page 35: U1 1 introducción

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.

Page 36: U1 1 introducción

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

Page 37: U1 1 introducción

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

Page 38: U1 1 introducción

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>

Page 39: U1 1 introducción

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.

Page 40: U1 1 introducción

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?

Page 41: U1 1 introducción

*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

Page 42: U1 1 introducción

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