ASP.NET Daniel A. Seara Director Regional MSDN Buenos Aires – ARGENTINA NDSoft.

Slides:



Advertisements
Presentaciones similares
Presentación de Visual Web Developer 2005 Express Edition Alfonso Goyeneche Torres Presidencia Nacional Comunidad Académica Microsoft Junta Directiva Nacional.
Advertisements

Mónica Acosta Yeison Ceballos Carlos Rodallega
CUPS Configuración y Uso de Paquetes de Software
Conceptos fundamentales de ASP.NET
Estrella 2 Introducción al desarrollo de aplicaciones Web con ASP.NET
Componentes de ASP.NET Leonardo Diez Dolinski Servicios Profesionales Danysoft.
Implementación de SQL Server 2000 Reporting Services
Planificación y despliegue de Office Sharepoint Server 2007 Rubén Alonso Cebrián
Rossy Garita Componentes fundamentales de CLR y
Administración del estado
Introducción a Microsoft .NET
Crear un formulario Web Form con Microsoft ASP.NET
Introducción a ASP.NET.
Validación de la entrada de datos de usuario
Seguridad en aplicaciones Web con Microsoft ASP.NET
Módulo 2: Uso de Microsoft Visual Studio .NET
Agregar código a un formulario Web Form con Microsoft ASP.NET
Desarrollo de una Aplicación Web sobre tecnología Microsoft .NET
Agenda Conceptos Claves.
Modelando aplicaciones
Servidores Windows Http Ftp …
ActiveX.
Programación Visual de Sistemas
"java del lado del servidor" Servlet y JSP Java Server Pages.
JSP Copyright ISIPE – Instituto de Servicios Informáticos para Empresas – Universidad Siglo 21 – Cualquier copia u otro uso debe ser autorizado expresamente.
Seguridad en ASP.NET Daniel Laco
Daniel A. Seara Director Regional MSDN NDSoft
César de la Torre – Programas Técnicos para Partners División de Desarrollo y Plataforma – Microsoft Spain.
Planificación y despliegue de Office Sharepoint Server 2007 Rubén Alonso Cebrián
Carlos Walzer Vemn Sistemas Como crear un sitio con ASP.NET.
Módulo 1: Primeros Pasos
Intercambio de información Procesamiento Sin intervención del usuario Acelerando tiempos de respuesta Normalización Entre plataformas Entre lenguajes.
Introducción ASP .NET.
Java 2 Platform Enterprise Edition
Plataforma Microsoft.NET
Introducción a ASP.NET.
Sistema La Plata Módulo I INTRODUCCION A APLICACIONES WEB.
Interacción Persona Ordenador
Herramientas del desarrollador Experiencias del usuario
Universidad de La Coruña Escuela Universitaria Politécnica Control de Procesos por Computador Diego Cabaleiro 24 de Noviembre 2009.
Ing. CIP Fabián Silva Alvarado
HILOS Y COMUNICACIÓN ENTRE PROCESOS
Tecnologías para el desarrollo de aplicaciones Web
CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament d’Arquitectura de Computadors (Seminaris de CASO) Autors Microsoft.Net Toni Rivas Castaño Xavier Romero.
Programación e Ingeniería de Software III Informática UNIVERSIDAD AUTÓNOMA DE SINALOA Material Proporcionado por: MC. Gerardo Gálvez Gámez.
TALLER DE PROGRAMACIÓN III
Web Services Daniel Seara. Fundamentos Intercambio de información Procesamiento Sin intervención del usuario Acelerando tiempos de respuesta Normalización.
3 PROGRAMAR EN UN LENGUAJE DE HIPERTEXTO L.I. OSWALDO MARTINEZ C. EDPW.
INTRODUCCIÓN A LA PROGRAMACIÓN WEB
Programación e Ingeniería de Software III
InfoPath Ventajas y Uso.
SISTEMAS OPERATIVOS EN LOS QUE FUNCIONA
ASP.NET es una nueva y potente tecnología para escribir páginas web dinámica. Es una importante evolución respecto a las antiguas páginas ASP de Microsoft.
Contenido: 1- Que es el .Net Framework 2- Arquitectura en .Net
Lenguajes de programación Web
Lenguajes de programación para la web Lenguaje html Lenguaje java script Es un lenguaje estático para el desarrollo de sitios web Ventajas: Sencillo que.
Los ensamblados y el código IL Contenido Módulo ¿Qué es un Ensamblado? El código MSIL.
Lenguajes de Programación
David Salgado MVP C# David Salgado MVP C# Desarrollo Web con ASP.NET.
Clase 6 Curso Microsoft.NETCurso Microsoft.NET I.S.F.T. N° 182I.S.F.T. N° 182.
Introducción al Lenguaje. ¿ Qué es PHP ? O Hypertext Pre-processoes (PHP) es un lenguaje de "código abierto" interpretado, de alto nivel, embebido en.
Facilitador: Christian Alexander Martinez
Clase 5 Curso Microsoft.NETCurso Microsoft.NET I.S.F.T. N° 182I.S.F.T. N° 182.
Cristian Fonnegra Marin
Introducción a .NET Nombre : Ethel García-Simón Matachana
DISEÑO CURRICULAR Presentado por: Cesar Augusto Sáenz María Alejandra Hernández 1.contenidos curriculares de competencia.
Tecnologías Cliente / Servidor Capitulo II Richard Jiménez V. clienteserver.wordpress.com.
SEGURIDAD EN SERVIDORES WEB (APACHE).
Conociendo el modelo Cliente-Servidor
Conociendo el modelo Cliente-Servidor. Introducción En el mundo de TCP/IP las comunicaciones entre computadoras se rigen básicamente por lo que se llama.
Transcripción de la presentación:

ASP.NET Daniel A. Seara Director Regional MSDN Buenos Aires – ARGENTINA NDSoft

Objetivos Introducción a ASP.NET Conceptos y Arquitectura Características de ASP.NET ASP.NET Avanzado ASP.NET y el Microsoft® .Net Framework

Contenido Sección 1: Generalidades Sección 2: Arquitectura El .NET Famework y la configuración de ASP.NET Sección 3: Características de ASP.NET Administración de estado, Seguridad, y Modelo de Eventos Sección 4: ASP.NET Avanzado Web Forms Trabajando con Datos Migrando ASP a ASP.NET

Sección 1: Generalidades “Mirando atrás ...“ Conceptos centrales de ASP.NET

Mirando atrás: Active Server Pages ¿Que es ASP? Tecnología de scripting del lado del servidor Archivos conteniendo HTML y código de scripting Acceso a través de peticiones HTTP El código es interpretado en el servidor ¿Que se puede hacer con ASP? Creación rápida y fácil de aplicaciones Web simples Generar contenido Web dinámico Generar código de validación del lado del cliente Acceder a componentes COM para extender la funcionalidad Bases de datos

¿Y qué hay de malo? Mucha “mezcla” de código y HTML de presentación El código ASP se interpreta disminuyendo el rendimiento El código de scripting es poco específico Microsoft JScript® Microsoft Visual Basic® Scripting Edition (VBScript) Compatibilidad con los navegadores No hay administración real del estado No se puede compartir estados en una “granja de servidores” El estado se pierde cuando el IE falla Sólo se pueden actualizar archivos cuando el servidor no está en actividad

Conceptos centrales de ASP.NET Plataforma de desarrollo de Web Nuevo modelo de programación Cliente Web Sistema Operativo Aplicaciones ASP.NET IIS .NET Framework

Conceptos centrales de ASP.NET Separar presentación de lógica del negocio Usar servicios provistos por el .NET Framework El código es compilado la primera vez que se accede a una página Administración de estado Utilización de cualquier lenguaje Integración entre varios ¡Actualizar archivos mientras se está ejecutando la aplicación!

Sección 2: Arquitectura La Arquitectura del .NET Framework Modelo de Aplicación Web Configuración Jerarquía de Clases

El .NET Framework- Arquitectura ASP.NET Windows Forms Web Forms Servicios Web Marco de Servicios Base Datos Depuración ... Common Language Runtime Servicios del Sistema

Modelo de Aplicación Web Código no administrado HTTP Request Host (IIS, Internet Explorer) HTTP Runtime Código administrado Módulo HTTP Módulo HTTP Manejador de Requerimientos ...

HTTP Runtime Código administrado Permite 100% de disponibilidad Se ejecuta en un proceso no administrado Permite 100% de disponibilidad Procesa asincrónicamente todas las llamadas Multithreaded Reemplaza ISAPI Internet Server Application Programming Interface

Línea de ejecución de un módulo HTTP Clases administradas Cada módulo implementa una interfaz específica Ejemplos: Administración de Estado o Seguridad Todas las llamadas se reenvían a la misma línea de ejecución Se agregan módulos por el Config.web Manejador de requerimientos Múltiples manejadores para una aplicación Pero sólo uno por URL

Configuración 1/3 Conceptos y Arquitectura Arch. de configuración: Config.web 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 Root Dir Config.web Sub Dir1 Sub Dir2

Configuración 2/3 Ejemplo Config.web <configuration> <configsections> <add names=“httpmodules“ type=“System.Web.Config.httpModulesConfigHandler“/> <add names=“sessionstate“ type=“...“/> </configsections> <httpmodules> <!--- Subelementos de http --> </httpmodules> <sessionstate> <!--- Subelementos de estado de sesión --> </sessionstate> </configuration>

Configuración 3/3 Configuración por defecto y personalizada El Config.web por defecto está en %windir%\Microsoft.NET\Framework\Version Conjunto estándar de configuración Capacidades de los navegadores, mensajes de error personalizados, etc. Configuración personalizada Extiende el conjunto de las estándares Implementando la interfaz: System.Web.Configuration.IConfigurationSectionHandler

Jerarquía System.Object System.Web.UI.Control System.Web.UI. WebControls WebControl ListControl Table ListBox Button CheckBoxList TextBox ... ...

Sección 3: características Sintaxis y lenguajes soportados por ASP.NET Ejemplos Proceso de ejecución Assemblies Administración de Estado, Seguridad, y Manejo de Eventos

Presentación y lógica de negocios No hay más mezcla entre HTML y código ejecutable Mayor facilidad en el mantenimiento Separación completa entre la presentación y la lógica Sin código en los archivos HTML Archivos para diseñadores y Archivos para programadores Así y todo, todavía es posible mezclar HTML y código si es necesario .cs .aspx o .vb

Lenguajes soportados Visual Basic JScript C# C++ ¡VBScript es no administrado! JScript C# Nuevo lenguaje basado en componentes C++ Extensiones administradas para C++ Otros: Cobol, Smalltalk, ... Que respeten el Common Language Specification (CLS)

Introducción Diferentes archivos, distinguibles por su extensión Archivos ASP.NET estándar: .aspx o .ascx Servicios Web : .asmx Archivos de código: .cs, .vb, ... Configuración: Config.web Aplicaciones Web : Global.asax Son todos Archivos de texto La forma más rápida de comenzar Cambiar la extensión .asp por .aspx

Sintaxis de la página 1/3 Directivas Bloques de declaración de código <%@ Page language=“VB“%> Bloques de declaración de código <script runat=“server“ [language = ...]> [ líneas de código ] </script> Código de conversión (Render) <% [código en línea o expresión] %> Sintaxis de controles HTML <HTMLtag runat=“server“ [attribute = ...]> </HTMLtag>

Sintaxis de la página 2/3 Sintaxis de Controles Controles del Lado del servidor <ASP:TextBox id=“MyTb1“ runat=“server“> Propiedades del control del servidor <ASP:TextBox maxlength=“80“ runat=“server“> Sub propiedad (del lado del cliente) <ASP:Label font-size=“14“ runat=“server“> Vinculación a eventos del control <ASP:Button OnClick=“MyClick“ runat=“server“>

Sintaxis de la página 3/3 Expresión de vinculación a datos Marcadores de objetos del lado del servidor <object id=“id“ runat=“server“ identifier=“Nombre“> Directivas de inclusión en el servidor <!-- #include Tipo = Archivo --> Comentarios en el servidor <%-- Comentario --%>

Ejemplo ASP.NET 1/2 <html> <script language=“VB“ runat=server> Sub SubmitBtn_Click(Sender As Object, E As EventArgs) Message.Text = “Hi “ & Name.Text End Sub </script> <body> <form action=“thisfile.aspx“ method=post runat=server> <h3> Name: <asp:textbox id=“Name“ runat=server/> <asp:button type=submit text=“LookUp“ OnClick=“SubmitBtn_Click“ runat=server/> <p> <asp:label id=“Message“ runat=server/> </form> </body> </html>

Ejemplo ASP.NET 2/2

Ciclo de ejecución .aspx Cliente Servidor IIS Pide archivo aspx ASP.NET Runtime Analiza el .aspx Genera la clase Page Instancia los controles Respuesta

Proceso de ejecución Compilación, la primera vez que se pide una página Microsoft intermediate language (MSIL) Lenguaje de estilo Assembly Independiente de la CPU Provee una capa de independencia del hardware MSIL es ejecutado por el Motor Común de ejecución (common language runtime) Motor de ejecución común Compilador “justo en el momento” (JIT) Código administrado

Administración de estados 1/2 Estado de una Aplicación Que es una “aplicación”? Archivos, páginas, módulos, y código ejecutable Un subdirectorio virtual y sus dependientes Variables de estado de la Aplicación Información global Reglas de Implementación Utilización de recursos del sistema Bloqueo y desbloqueo de la información global En entornos de múltiples hilos (“multithreaded”) se debe tener cuidado Se pierde el estado cuando el cliente se cierra No hay estado a través de una Granja de servidores

Administración de estado 2/2 Estado de sesión ¿Que es una sesión? Restringida a una aplicación lógica Contexto en el cual un cliente se conecta con un servidor Funcionalidad Solicitud de identificación y calificación Almacenar Datos entre llamadas Eventos de Sesión Liberación de los datos de Sesión Proceso de estado en el Servidor .NET

Seguridad 1/3 Motivos Configuración de Seguridad Prevenir el acceso a áreas del Servidor Web Registrar y almacenar información relevante de los usuarios Configuración de Seguridad Tag <Security> en el archivo Config.web Autenticación, Autorización, Impersonalización Seguridad de acceso al código ¿es éste realmente el código original del servidor? Proteger el servidor de “código malicioso”

Seguridad 2/3 Autenticación Autorización Validar credenciales del usuario Utilizar identidades de autenticación Tipos de Autenticación Windows, integrada con IE 5.0 Passport, servicios centralizados provistos por Microsoft Cookie, adjunto en el requerimiento Autorización Determinar cuando es permitido un requerimiento Autorización por Archivo y por URL

Seguridad 3/3 Impersonalización Seguridad de Acceso al código IE autentica al “usuario” Se pasa un “token” a la aplicación ASP.NET ASP.NET lo impersona El acceso se permite de acuerdo a las asignaciones por NTFS Seguridad de Acceso al código Característica del .NET Famework Verifica la identidad del código y su origen Especifica las operaciones que el código tiene permitido ejecutar

Modelo de Eventos 1/2 Manejo de eventos a nivel de la Aplicación Web Forms Modelo de delegados Conecta un manejador de evento con un receptor Delegados simples y múltiples Los Delegados de eventos son “Multicast” Enlace de Evento Registra un manejador con el que envía el evento

Modelo de Eventos 2/2 Evento disparado en el cliente, pero controlado en el servidor mensaje Server Cliente Web evento Analiza el mensaje Llama al manejador apropiado manejador respuesta

Ejemplos Ejemplo Eventos en C# System.Web.UI.WebControls Clase Button, evento público Click System.Web.UI Clase Page, evento público Load Eventos en C# ASP.NET C# <asp:ImageButton id=btnNext runat=“server“ imageurl=“...“ onclick=“btnNext_Click“/> protected void btnNext_Click(Object S, ImageClickEventArgs E) { [ ... do something ... ] }

Sección 4: ASP.NET Avanzado Web Forms Controles del Servidor Trabajando con Datos Aplicaciones Web Migrando de ASP a ASP.NET

Generalidades de Web Forms 1/2 thisfile.cs thisfile.aspx ... <asp:Button id=“LookUp“ OnClick=„SubmitBtn_Click“ /> ... SubmitBtn_Click() { ...

Generalidades de Web Forms 2/2 Crear páginas Web Programables Usando cualquier lenguaje .NET Provee un rico conjunto de controles del lado del servidor Modelo de Eventos de los Web Forms Corren en cualquier navegador Partes visuales y lógicas de la Aplicación System.Web.UI.WebControls

Ejemplos Web Forms thisfile.cs: thisfile.aspx: Protected void SubmitBtn_Click(Object S, EventArgs E) Message.Text=“Hi “ & Name.Text End Sub <%@ Page Language=“C#“ Codebehind=“thisfile.cs“ ... %> <body> <form action=“thisfile.aspx“ method=post runat=server> <h3> Name: <asp:textbox id=“Name“ runat=“server“ /> <asp:button type=submit text=“LookUp“ id=“LookUp“ OnClick=“SubmitBtn_Click“ runat=“server“ /> <br> <asp:label id=“Message“ runat=“server“ /> </form> </body> </html>

Controles del Servidor Generalidades Web Forms Familias HTML ASP.NET Validación Usuario Móvil Vinculación a Datos Clase Page Reunión de código y contenido

Familias 1/2 HTML ASP.NET Vinculados directamente con elementos HTML Atributos HTML Ejemplos: HtmlAnchor (<a>), HtmlTable (<table>) ASP.NET Controles abstractos No hay una relación “uno a uno” con HTML Modelo de objetos predefinido Detección automática del navegador Conjunto rico Ejemplo: TextBox (<asp:textbox>)

Familias 2/2 Validación Pagelets (Definidos por el usuario) Controla los ingresos del usuario Diferentes tipos Ingreso requerido Comparación, rango, patrón Definidos por el usuario Pagelets (Definidos por el usuario) Permite reutilizar funcionalidad Extensión .ascx Soporte a un modelo de objetos Controles “Mobile”

Sintaxis Enfocado a ASP.NET Nombre atributos <asp:Nombre atributos /> Nombre TextBox, DropDownList, etc. atributos Id=IDdelControl runat=server

Ejemplo de Control del Servidor Controlado.aspx: Controlado.cs: <asp:TextBox id=txtAddress runat=server MaxLength=255> <asp:RequiredFieldValidator id=RFV1 runat=server ...> foreach (Ivalidator val in Page.Validators) { val.Validate(); }

Caché Mejora el rendimiento de la aplicación Web Caché de salida Almacena y obtiene páginas y objetos Caché de página Caché de fragmentos Reglas de expiración APIs Permite personalizar las acciones del Caché

Aplicaciones Web ASP.NET define una aplicación Web como la “suma de todos los Archivos, páginas, manejadores (de eventos), módulos, y código ejecutable que pueden ser invocados o ejecutados en el entorno de un directorio virtual dado, en un Servidor Web” Aplicaciones distribuidas Presentación Capa de Negocio Base de Datos Internet Web Form Servicio Web

Migración de ASP a ASP.NET ASP y ASP.NET pueden coexistir en el mismo servidor Puede usar características de ASP.NET Al migrar, los archivos ASP deben ser modificados Rendimiento Código administrado vs. no administrado Vinculación temprana vs. tardía

Temas de Migración Estructura Seguridad Lenguajes Acceso a Datos Bloques de código y directivas Seguridad Seguridad ASP.NET como se describió antes Lenguajes C#, Visual Basic.NET Acceso a Datos ADO a ADO.NET

Resumen Elementos importantes de ASP.NET Configuración Web Forms y Servicios Web Seguridad Administración de estados Acceso a Datos Aplicaciones Web Migración