Desarrollo de una Aplicacin Web con ASP'NET 2'0 - PowerPoint PPT Presentation

1 / 53
About This Presentation
Title:

Desarrollo de una Aplicacin Web con ASP'NET 2'0

Description:

No se dispone de un gran presupuesto para invertir en una gran infraestructura ... Static Code Analysis, Load Testing, Enterprise Source Control, Work Item Tracking ... – PowerPoint PPT presentation

Number of Views:645
Avg rating:3.0/5.0
Slides: 54
Provided by: ser7136
Category:

less

Transcript and Presenter's Notes

Title: Desarrollo de una Aplicacin Web con ASP'NET 2'0


1
Desarrollo de una Aplicación Web con ASP.NET 2.0
  • Sergio Tarrillo Lujan
  • starrillo_at_msJovenes.com
  • Analista y Desarrollador
  • 3Dev Business Consulting

2
Agenda
  • Aplicaciones Web?
  • Introducción a Visual Studio .NET 2005
  • ASP.NET 2.0 Page Framework
  • Presentación de una Aplicación Web
  • Acceso a Datos
  • Seguridad en una Aplicación Web

3
Aplicaciones Web?
4
Por qué una Aplicación Web?
  • No se dispone de un gran presupuesto para
    invertir en una gran infraestructura
  • La aplicación necesita ser constantemente
    actualizada
  • Ofrecer un servicio en Internet
  • Se necesita facilitar el trabajo a distancia y
    permanentemente
  • Se necesita un acceso único, y no se requiere
    distribuir la aplicación en todos los usuarios

5
Puntos Clave, de una Aplicación Web
  • La necesidad de una conexión permanente y rápida
    a Internet
  • La comunicación se realiza a través de un medio
    que no es seguro, que es lento, y con diferentes
    protocolos de comunicación.
  • Diferencia de presentación entre plataformas y
    navegadores
  • Hay que decidir qué recursos se aprovecharán del
    cliente y cuáles del servidor.

6
Introducción a Visual Studio .NET 2005
7
Visual Studio 2005
  • Herramienta para crear aplicaciones .NET
  • Soporta varios lenguajes (C, VB.Net, C, J, y
    más)
  • Varios tipos de Aplicaciones Aplicaciones
    Windows, Soluciones para Office, Aplicaciones
    Web, Aplicaciones Móviles, Servicios Windows,
    Servicios Web, entre otros.

8
Características
  • Document Outline
  • ToolStrip Designer
  • Smart Tags
  • SnapLines
  • ClickOnce
  • Client Configuration
  • Windows XP Visual Style Support
  • Mejora en el soporte a Acceso a Datos

9
Quiero empezar a desarrollar en .NET y no tengo
Visual Studio?
10
Expandiendo Visual Studio
11
(No Transcript)
12
Línea de Productos Express
  • Herramientas de desarrollo para Windows, Web, y
    base de datos
  • Incluye componentes opcionales
  • Express MSDN Library
  • SQL Server 2005 Express Edition


Client

Web/Web Services

Database
13
Visual Web Developer
  • Herramienta de desarrollo orientada para
    principiantes, entusiastas, y no profesionales
  • Las características incluyen
  • Intellisense en todas partes
  • Proceso de depuración simplificado
  • Superficie rica en diseño
  • Incluye Servidor Web
  • Soporte integrado para hosting
  • Preservación del 100 del HTML
  • Proyectos basados en el sistema de archivos

14
Características de Productividad
  • Interacción HTML
  • Editor de Tabla
  • Navegador de Tags
  • Tag Outlining
  • Validación
  • Formato
  • Separación de la UI y lógica
  • Web Parts

15
Características para ASP.NET
  • 50 nuevos controles
  • Soporte para 64Bits
  • Publicación desde VS
  • Soporte para Startert Kits
  • Mejoras en el manejo de Seguridad
  • ASP.NET Administration Tool
  • Soporte para proyectos Web vía FTP
  • Soporte para Dispositivos Móbiles

16
ASP.NET 2.0 Page Framework
17
Novedades en ASP.NET 2.0
Controles de Data
Controles de Login
Web Parts
Otros Nuevos Controles
Controles
Master Pages
Themes y Skins
Mejoras en Client Scripting
Compilación Localización
Page Framework
Membership
Role Management
Profiles
Configuration
Servicios y APIs
Site Maps
Health Monitoring
Otros Nuevos Servicios
18
Ejecución de ASP.NET
aspnet_wp.exe
generar
Motor ASPX
Analizar
1er Pedido
Archivo de clase de código subyacente
generar
Archivo ASPX (presentación)
Tempory ASP.NET File
expande
Archivo de clase de página generado
2do Pedido
clase de página
crear instancia, procesa y presenta
19
Master Pages
20
Introducción a Master PagesSoporte en diseño
Content PlaceHolders son editables
Página maestra
Página de contenido
MasterPage visible pero de solo lectura
21
Introducción a Master PagesFuncionamiento
site.master
header
placeholder
left pane
footer
default.aspx
page1.aspx
page2.aspx
page-specific content
page-specific content
page-specific content
22
Como trabajar con Master Pages
  • Master pages define un contenido común y
    contenedores placeholders
  • Content pages hace referencia a la master page y
    coloca en el su contenido en lugar del placeholder

Site.master
default.aspx
http//.../default.aspx


Content
Content-PlaceHolder
23
Introducción a Master PagesBases
  • Las páginas maestras definen contenido común y
    marcadores (ltaspContentPlaceHoldergt)
  • Las páginas de contenido referencian a las
    maestras y llenan los marcadores con contenido
    (ltaspContentgt)

lt!-- MasterPage.master --gt lt_at_ master
language"C" gt ltbodygt ltform runat"server"gt
lth1gtMy common headerlt/h1gt ltaspcontentplaceholde
r id"MainContentPlaceHolder" runat"server" /gt
...
lt!-- Page1.aspx --gt lt_at_ page language"C"
master"/MasterPage.master" gt ltaspcontent
id"Content1" contentplaceholderid"MainC
ontentPlaceHolder" runat"server"gt
ltaspbutton id"Button1" runat"server"
text"Button" /gt lt/aspcontentgt
24
La Propiedad Page.Master
  • Recupera una referencia a la página maestra
  • Instancia de la clase derivada de
    System.Web.UI.MasterPage
  • Nula si la página no tiene una página maestra
  • Usada para acceder programáticamente al contenido
    definido en la página maestra
  • Verificación de tipos débil método FindControl
  • Verificación de tipos fuerte (recomendada)
    propiedades públicas de la página maestra

25
DEMO 01
  • Usando Master Pages

26
Acceso a Datos en ASP.NET 2.0
27
Controles DataSource
  • Enlace a datos, en forma declarativa, sin código

Sql- DataSource
Object- DataSource
Access- DataSource
Xml- DataSource
SiteMap- DataSource
Componente Data
Site Map Provider
Bases de Datos SQL
Cualquier Data
Base de Datos Access
Datos XML
Site Maps
28
Controles DataSource (cont.)
  • Introducción
  • Representan distintas fuentes de datos base de
    datos, objetos de negocio, xml
  • Eliminan gran parte del código de enlace a data
  • Provee capacidades ricas sobre los datos
  • Ordenar, Paginar, Filtrar, actualizar etc.
  • Parametrizables (Controles, QueryString, etc)
  • Ejm SqlDataSource, ObjectDataSource,
    XmlDataSource, AccessDataSource, entre otros

29
Control SqlDataSource
  • Enlaza controles de forma declarativa a orígenes
    de base de datos
  • Cualquier servidor de base de datos a través de
    un proveedor administrado
  • Dos forma de enlazar
  • SelectCommand define semánticas de consultas
  • InsertCommand, UpdateCommand, and DeleteCommand
    definen semánticas de actualización
  • Caching opcional para resultados de consultas
  • Operaciones parametrizadas

30
Control SqlDataSourceEmpleando el SqlDataSource
ltaspSqlDataSource ID"Titles" Runat"server" Con
nectionString"serverlocalhostdatabasepubs in
tegrated securitytrue" SelectCommand"sele
ct title_id, title, price from titles"
/gt ltaspDataGrid DataSourceID"Titles"
Runat"server" /gt
31
Control SqlDataSourcePropiedades clave del
SqlDataSource
Nombre
Descripción
ConnectionString
Cadena de conexión usado para conectar a un orígen
SelectCommand
Comando usando para realizar consultas
InsertCommand
Comando usado para realizar inserciones
UpdateCommand
Comando usado para realizar actualizaciones
DeleteCommand
Comando usado para realizar eliminaciones
DataSourceMode
Especifica si se usará un DataSet o un
DataReader (por defecto es DataSet)
ProviderName
Especifica el proveedor (por defecto SQL Server
.NET provider)
32
Control XmlDataSourceIntroducción
  • A diferencia del control sqlDataSource, el
    control XmlDataSource es ideal para enlazar a
    documentos XML que no tienen una estructura
    similar a un DataSet
  • Ahora muchos sitios Web usan RSS, y tienen como
    salida un XML

33
Control XmlDataSourceUsando el control
lt?xml version"1.0" encoding"utf-8"
?gt ltxslstylesheet version"1.0"
xmlnsxsl"http//www.w3.org/1999/XSL/Transform"gt
ltxsltemplate match"libros3DEV"gt
ltlibros3DEVgt ltxslapply-templates
select"libro" /gt lt/libros3DEVgt
lt/xsltemplategt ltxsltemplate match"libro"gt
ltautorgt ltxslelement name"nombre"gt ltxslva
lue-of select"autor"/gt lt/xslelementgt
lt/autorgt lt/xsltemplategt lt/xslstylesheetgt
lt?xml version"1.0" encoding"utf-8"
?gt ltlibros3DEVgt ltlibro codigo"L105"gt
lttitulogtTips amp Tricks en ASP.NET
2.0lt/titulogt ltautorgtSergio Tarrillolt/autorgt
lt/librogt ltlibro codigo"L243"gt
lttitulogtPatrones con C 2.0lt/titulogt
ltautorgtJoel Francialt/autorgt lt/librogt lt/libros3DE
Vgt
ltaspXmlDataSource ID"XmlDataSource2"
runat"server" DataFile"/App_Data/L
ibros.xml" TransformFile"/App_Data/L
ibros.xsl" XPath"libros3DEV/autor"gt
lt/aspXmlDataSourcegt
34
Control ObjectDataSourceIntroducción
  • El ObjectDataSource es uno de los controles que
    mas se esperaba de los nuevos controles
    DataSource
  • Este da la oportunidad de enlazar controles
    List-Bound con objetos de negocios (Capa de
    Objetos del Negocio)

35
Caching en controles DataSourceSqlDataSource y
Caching
  • SqlDataSource soporta manejo de caching de forma
    declarativa para resultados, usando las
    siguientes propiedades

Nombre
Descripción
EnableCaching
Establece si se habilitará el caching (default
false)
CacheDuration
Establece el tiempo de vida en segundos para el
caching
CacheExpirationPolicy
Especifica si la duración es absoluta o extendida
CacheKeyDependency
Crea dependencias en determinados items del cache
SqlCacheDependency
Crea dependencias sobre entidades de base de datos
36
Controles List-Bound
  • Nuevos Controles data-bound
  • Incorporados con soporte para seleccionar,
    editar, paginar, ordenar, y más

GridView
DetailsView
FormView
37
Enlace Declarativo
Database
Data-bound Control
ltaspGridView DataSourceIdMySource
runatserver/gt
ltaspTreeView DataSourceIdMySource
runatservergt
Business Object
Data Source Control
ltaspSqlDataSource IdMySource
ConnectionString SelectCommandselect
id from authors runatserver /gt
ltaspObjectDataSource IdMySource
TypeNameCustomersDB SelectMethodGetCusto
mersByRegion runatserver /gt
ltaspXmlDataSource IdMySource
DataFileBookstore.xml XPath/bookstore/bo
ok_at_genrefiction runatserver /gt
XML Document
38
Usando el GridView
  • Mejora las características del control DataGrid
    control
  • Retorna conjunto de registros como tablas HTML
  • Implementa ordenamiento, paginación, selección,
    actualización, y eliminación
  • Soporta presentación para tipos de datos
    enriquecidos, incluyendo ImageFields y
    CheckBoxFields
  • Declarado en elementos ltColumnsgt
  • Alta personalización de la IU
  • Soporte construido para ordenación, paginación,
    selección, actualización y borrado.

39
Usando el GridViewPaginando y ordenando
ltaspGridView ID"GridView1" AllowSorting"true"
AllowPaging"true" runat"server"
DataSourceID"SqlDataSource1 /gt
40
Filtrando datos usando comandos parametrizados
  • Las propiedades XxxParameters permiten
    parametrizar comandos de base de datos
  • Ejemplo otener un valor para la cláusula WHERE
    de un SelectCommand desde un parámetro de
    QueryString o un item seleccionado de un
    dropdownlist
  • Ejemplo obtener un valor para la cláusula WHERE
    de un DeleteCommand desde un GridView
  • Los tipos en XxxParameter especifican el origen
    del valor del parámetro

41
Filtrando InformaciónTipos XxxParameter
Nombre
Descripción
Parameter
Enlaza un parámetro a un campo de datos
ControlParameter
Enlaza un parámetro a una propiedad de control
CookieParameter
Enlaza un parámetro a un valor de un cookie
FormParameter
Enlaza un parámetro a un campo de formulario
QueryStringParameter
Enlaza un parámetro a un valor de un QueryString
SessionParameter
Enlaza un parámetro a una variable de Sesión
42
DetailsView
  • Retorna registros individuales
  • A la par con el GridView para vistas
    maestro-detalle
  • O si el GridView para mostrar registros
    individuales
  • Incorpora paginación, inserción, actualización,
    eliminación
  • Usa los mismos tipos de campos como el GridView
  • Declarado en elementos ltFieldsgt
  • Alta personalización de la IU

43
FormView
  • Es un nuevo control incluido en ASP.NET
  • Tiene igual funcionamiento que el control
    DetailsView
  • Permite insertar, editar y eliminar
  • Pero este control requiere que el usuario defina
    la presentación de cada input usando
    ItemTtemplates.

44
Demo 02
  • Acceso a Datos en ASP.NET

45
Seguridad en ASP.NET
46
Servicio de Membership
  • Maneja usuarios y credenciales
  • Acceso declarativo vía la herramienta Web Site
    Administration
  • Acceso desde la programación vía la API de
    Membership
  • Simplifica enormemente la autenticación basada en
    formularios
  • Provee lógica para la validación de nombres de
    usuario y claves, creación de cuentas, y más
  • Proporciona almacenamiento de datos para guardar
    credenciales, direcciones de correo, y otros
    datos de membership
  • Basado en el Proveedor, para la flexibilidad del
    almacenamiento de los datos

47
Esquema Membership
Controles
Login
LoginStatus
LoginView
Otros
API Membership
Membership
MembershipUser
Proveedores Membership
SqlMembershipProvider
ActiveDirectory-MembershipProvider
Otros Proveedores
Datos de Membership
SQL Server
Active Directory
Otras Fuentes de Datos
48
Administración de Roles
  • Seguridad Basada en Roles en un cuadro
  • Acceso declarativo vía la herramienta Web Site
    Administration
  • Acceso desde la programación vía la API de Roles
  • Simplifica la adición de Seguridad basada en
    Roles para sitios que usan la autenticación
    basada en formularios
  • Usuarios mapeados por roles en cada pedido
  • Proporciona almacenamiento de datos para la
    información del Rol
  • Basado en Proveedor para la flexibilidad en el
    almacenamiento de los datos

49
Esquema de la Administración de Roles
Controles
Login
LoginStatus
LoginView
Otros
API Role
Roles
Proveedores Role
SqlRole-Provider
AuthorizationStore-RoleProvider
Otros Proveedores
WindowsToken-RoleProvider
Datos de Role
SQL Server
Authorization Manager ("AzMan")
Otras Fuentes De Datos
50
Controles Login
  • UI y lógica para las tareas relacionadas con la
    seguridad

Login
LoginStatus
LoginName
Membership Role Management
LoginView
CreateUser- Wizard
Password- Recovery
Change- Password
51
DEMO 03
  • Seguridad en ASP.NET

52
Referencias Web Sites (ESP)
  • Sergio Tarrillo starrillo_at_msJovenes.com (mail)
    supersergioman_at_hotmail.com (msn)
  • Mi Blog http//blogs.3devnet.com/blogs/starrillo/
    default.aspx
  • ASP.NET en ESPAÑOL http//www.asp.net/es
  • El Guille http//www.elguille.info/
  • WillyDev http//www.willydev.net
  • Foro .NET http//foros.solocodigo.com/index.php?s
    howforum169
  • Centro de Desarrollo ASP.NET http//www.microsoft
    .com/spanish/msdn/centro_recursos/asp_net/default.
    mspx
  • Blog Geeks.ms http//geeks.ms/blogs/default.aspx

53
Referencias Web Sites (ENG)
  • Blog de ASP.NET http//weblogs.asp.net/scottgu
  • Sitio Oficial de ASP.NET http//www.asp.net
  • Developer Center ASP.NET http//msdn.microsoft.co
    m/aspnet
  • 400 Diferencias de VS2005 http//www.400plusdiffe
    rences.com/
  • Visual Studio 2005 Guided Tour
    http//msdn.microsoft.com/vstudio/tour/vs2005_guid
    ed_tour/
  • Descargas de ASP.NET http//www.asp.net/downloads
    /default.aspx?tabid62
  • Descarga Visual Web Developer Express
    http//msdn.microsoft.com/vstudio/express/vwd/
Write a Comment
User Comments (0)
About PowerShow.com