Productividad: Factor clave Productividad: Factor clave para ser un gran para ser un gran desarrollador en ASP .NET desarrollador en ASP .NET 2.02.0
Willy MarroquínWilly MarroquínBEA SOA J2EE ArchitechBEA SOA J2EE Architech
MCSD 6.0, MCSD .NET, MCTMCSD 6.0, MCSD .NET, MCT
MVP 2k3-2K4MVP 2k3-2K4
Borland C++ CertifiedBorland C++ Certified
www.WillyDev.NETwww.WillyDev.NET
AgendaAgendaMaster PagesMaster Pages
Controles Data SourceControles Data Source
RefactoringRefactoring
SnippetsSnippets
Enterprise Library 2.0Enterprise Library 2.0
RoadmapRoadmap
Nuevas caracteristicas de ASP.NET 2.0Nuevas caracteristicas de ASP.NET 2.0C
on
trole
sP
ag
eFra
mew
ork
Serv
icio
sy A
PIs
ControlesData
ControlesLogin
Web PartsOtros nuevos
controles
PaginasMaestras
Themesy Skins
MejoraScripting del
cliente
Compilacióny Localización
MembresíaAdministración
De RolesPerfiles Configuración
Mapas de Sitio MonitoreoOtros nuevos
servicios
Paginas MaestrasPaginas Maestras
Contenido HeredadoContenido Heredado
Pagina Maestra
Pagina Contenido
Como funcionan las paginas Como funcionan las paginas maestrasmaestrasLas paginas maestras definen el Las paginas maestras definen el
contenido común y el espacio contenido común y el espacio reservado para el contenido reservado para el contenido personalizadopersonalizado
Las paginas de contenido referencia Las paginas de contenido referencia a la maestra y rellenan el espacio a la maestra y rellenan el espacio reservado con el contenidoreservado con el contenidoSite.master default.aspx
Contenido
http://.../default.aspx
Reservado para
contenido
Page.MasterPage.Master
Nueva propiedad de Nueva propiedad de System.Web.UI.PageSystem.Web.UI.Page
Provee a las paginas de contenido Provee a las paginas de contenido con acceso programático a las con acceso programático a las paginas maestraspaginas maestras
Determina si una pagina tiene una Determina si una pagina tiene una maestramaestra
Accesa los controles definidos en la Accesa los controles definidos en la maestramaestra
Accesa los métodos y propiedades Accesa los métodos y propiedades publicas definidos en la maestrapublicas definidos en la maestra
Integración a nivel de código de las Integración a nivel de código de las paginas maestras y las paginas de paginas maestras y las paginas de contenidocontenido
Paginas MaestrasPaginas Maestras
<Inheritance><Inheritance>
Controles Data SourceControles Data Source
Enlace a Datos declarativo (“sin Enlace a Datos declarativo (“sin código")código")Sql-
DataSourceObject-
DataSourceAccess-
DataSourceXml-
DataSourceSiteMap-
DataSource
SQLDatabases
AnyData
AccessDatabases
XMLData
Site Maps
DataComponent
Site MapProvider
Controles de DatosControles de Datos
Nuevos controles de enlace a DatosNuevos controles de enlace a Datos
Soporte integrado para seleccionar, Soporte integrado para seleccionar, edición, paginación, ordenamiento y edición, paginación, ordenamiento y más más
Vista Grid Vista Detalle Vista Forma
Enlace a datos en 2 Enlace a datos en 2 sentidossentidos
Los controles de datos proveen las UIs Los controles de datos proveen las UIs de Ediciónde Edición
Propiedades AutoGenerateXxxButtonPropiedades AutoGenerateXxxButtonPropiedades Insert/EditRowStylePropiedades Insert/EditRowStyleEventos Inserting/ed, Updating/ed, Eventos Inserting/ed, Updating/ed, Deleting/ed Deleting/ed
Los controles de fuentes de datos Los controles de fuentes de datos proveen la lógicaproveen la lógica
Propiedades Propiedades Insert/Update/DeleteCommand Insert/Update/DeleteCommand Propiedades Propiedades Insert/Update/DeleteParametersInsert/Update/DeleteParametersEventos Inserting/ed, Updating/ed, Eventos Inserting/ed, Updating/ed, Deleting/edDeleting/ed
Visual Studio provee la uniónVisual Studio provee la unión
CachingCaching
Muchos de los controles de fuente de Muchos de los controles de fuente de Datos proveen soporte incorporado a Datos proveen soporte incorporado a cachingcaching
EnableCaching – Activa/Desactiva el cachingEnableCaching – Activa/Desactiva el caching
CacheDuration – Tiempo de duración CacheDuration – Tiempo de duración (segundos)(segundos)
Caching de datos sin código!Caching de datos sin código!
CacheSyncCacheSync
Dependencias de Cache SQLDependencias de Cache SQLConecta items en cache con entidades Conecta items en cache con entidades de la Base de Datosde la Base de Datos
Cambios en la data original elimina los Cambios en la data original elimina los items correspondientes en cacheitems correspondientes en cache
Trabaja con SQL Server 7, SQL Server Trabaja con SQL Server 7, SQL Server 2000 y SQL Server 20052000 y SQL Server 2005
Requiere preparacion en SQL Server 7 y Requiere preparacion en SQL Server 7 y SQL Server 2000 (Aspnet_regsql.exe)SQL Server 2000 (Aspnet_regsql.exe)
““Ya trabaja" con SQL Server 2005Ya trabaja" con SQL Server 2005
Fuentes de DatosFuentes de Datos
<Data Controls><Data Controls>
<Data Binding><Data Binding>
<Manager Cache><Manager Cache>
Refabricación VB 2005Refabricación VB 2005
Simplifica el código en Visual BasicSimplifica el código en Visual BasicPara ejecutar el método extraer, solo seleccione el Para ejecutar el método extraer, solo seleccione el bloque de código que desea extraer, y presione la opción bloque de código que desea extraer, y presione la opción Refactor Refactor Para reordenar parámetros, colocar el cursor en el tipo Para reordenar parámetros, colocar el cursor en el tipo de parámetro y presionar la opción Refactorde parámetro y presionar la opción RefactorPara crear un método sobrecargado, colocar el cursor al Para crear un método sobrecargado, colocar el cursor al inicio de la declaración del método y presionar la opción inicio de la declaración del método y presionar la opción RefactorRefactorPara reversar una condicional o condición anidada con Para reversar una condicional o condición anidada con una cláusula protegida, colocar el cursor en el "if" y una cláusula protegida, colocar el cursor en el "if" y presionar la opción Refactor presionar la opción Refactor
Refactoring C#Refactoring C#
Simplifica el código C# Simplifica el código C# Método Extraer Método Extraer Campo encapsuladoCampo encapsuladoExtraer InterfasesExtraer InterfasesReordenar ParámetrosReordenar ParámetrosEliminar ParámetrosEliminar ParámetrosRenombrarRenombrarPromover variables locales a ParámetrosPromover variables locales a Parámetros
RefactoringRefactoring
<Visual Basic 2005><Visual Basic 2005>
<C# 2005><C# 2005>
Snippets VB2005Snippets VB2005
Fragmentos de códigoFragmentos de código
Los fragmentos de código son reutilizables, bloques de Los fragmentos de código son reutilizables, bloques de código orientados a tareascódigo orientados a tareas
Visual Basic 2005 incluye mas de 500 fragmentos de Visual Basic 2005 incluye mas de 500 fragmentos de código en un rango que va desde la creación de errores código en un rango que va desde la creación de errores personalizados hasta el envío de correos, dibujo de personalizados hasta el envío de correos, dibujo de imágenes imágenes
En adición a las 500 piezas de código preescritas, la En adición a las 500 piezas de código preescritas, la biblioteca de fragmentos de código es extensible biblioteca de fragmentos de código es extensible
Fragmentos de CódigoFragmentos de Código
<<Creando y Usando fragmentos de códigoCreando y Usando fragmentos de código>>
Marco de Trabajo Web Marco de Trabajo Web PartsParts
Hay dos maneras básicas de crear un Web Part. Hay dos maneras básicas de crear un Web Part. Se puede tratar cualquier control Standard Se puede tratar cualquier control Standard ASP.NET como un Web Part o se puede construir ASP.NET como un Web Part o se puede construir un control personalizado que derive de la clase un control personalizado que derive de la clase WebPartWebPart..
No es necesario modificar los controles para ser usados No es necesario modificar los controles para ser usados como Web Partscomo Web PartsSe puede compartir información entre Web Parts en la Se puede compartir información entre Web Parts en la misma paginamisma paginaSe pueden importar o exportar los settings de los Web Se pueden importar o exportar los settings de los Web PartsParts
Construyendo Web Construyendo Web Parts en ASP .Net 2.0Parts en ASP .Net 2.0
<Creando un Web Parts simple><Creando un Web Parts simple>
<Personalizando Web Parts><Personalizando Web Parts>
<Creando un menú Web Part personalizado><Creando un menú Web Part personalizado>
<Importando y Exportando settings de Web Part><Importando y Exportando settings de Web Part>
patterns & practicespatterns & practices
Recomendaciones específicas Recomendaciones específicas sobre como diseñar, desarrollar, sobre como diseñar, desarrollar, implementar y operar soluciones implementar y operar soluciones en escenarios complejos.en escenarios complejos.
Para arquitectos y desarrolladores; arquitectura, Para arquitectos y desarrolladores; arquitectura, diseño, desarrollo, implementación y operaciones diseño, desarrollo, implementación y operaciones
de soluciones con .Netde soluciones con .Net
Platform Architecture Guidance (PAG) teamPlatform Architecture Guidance (PAG) team
Application PlatformApplication Platform
Para profesionales de IT; arquitectura, Para profesionales de IT; arquitectura, diseño, implementación, y operaciones diseño, implementación, y operaciones
de Infraestructurade Infraestructura
Core Infrastructure Solutions (CIS) teamCore Infrastructure Solutions (CIS) team
IT InfrastructureIT Infrastructure
http://www.microsoft.com/resources/practices/default.mspx
patterns & practicespatterns & practices: : característicascaracterísticas
ProbadasProbadasBasadas en experiencia de campo.Basadas en experiencia de campo.
AutorizadasAutorizadasOfrecen la mejor recomendación disponible.Ofrecen la mejor recomendación disponible.
VálidasVálidasTécnicamente validadas y probadas.Técnicamente validadas y probadas.
PrácticasPrácticasOfrecen pasos concretos.Ofrecen pasos concretos.
AplicablesAplicablesTratan problemas de escenarios reales de clientes.Tratan problemas de escenarios reales de clientes.
Revisadas y aprobadas por ingenieros de equipos de producto, Revisadas y aprobadas por ingenieros de equipos de producto, consultores y servicios de soporte de Microsoft, además de consultores y servicios de soporte de Microsoft, además de socios y clientes. socios y clientes.
ApplicationApplicationBlocksBlocks
Guía para servicios Guía para servicios comunes a nivel de comunes a nivel de
sub-sistemas.sub-sistemas.
Platform Architecture Guidance Platform Architecture Guidance (PAG)(PAG) ¿¿Qué ofrece?Qué ofrece?
ArquitecturasArquitecturasde Referenciade Referencia
Guía a nivel de sistemas Guía a nivel de sistemas para escenarios comunes.para escenarios comunes.
PatronesPatrones
Soluciones atómicas para Soluciones atómicas para problemáticas recurrentesproblemáticas recurrentes
Guías PrescriptivasGuías PrescriptivasGuía en principios de arquitectura y recomendaciones en Guía en principios de arquitectura y recomendaciones en
temas comunes como seguridad y performance.temas comunes como seguridad y performance.
Application BlocksApplication BlocksEl problemaEl problema
… … alguna vez se preguntó? alguna vez se preguntó? Muchas aplicaciones necesitan “algo Muchas aplicaciones necesitan “algo así”.así”.
Los desarrolladores han escrito “esto” Los desarrolladores han escrito “esto” cientos de veces.cientos de veces.
Desearía encontrar una solución para Desearía encontrar una solución para “esto” que pueda reutilizar.“esto” que pueda reutilizar.
¿Estaré resolviendo “esto” de la mejor ¿Estaré resolviendo “esto” de la mejor forma?forma?Ejemplo: manejo de configuraciones en Ejemplo: manejo de configuraciones en
una aplicaciónuna aplicación
Application BlocksApplication Blocks¿Qué son?¿Qué son?
““Piezas” de software reutilizables que Piezas” de software reutilizables que implementan servicios o mecanismos implementan servicios o mecanismos típicamente requeridos en las aplicacionestípicamente requeridos en las aplicaciones
Guías implementadas y entregadas en forma Guías implementadas y entregadas en forma de códigode código
Nos permiten:Nos permiten:Escribir aplicaciones más sencillas de Escribir aplicaciones más sencillas de mantener, escalables y eficientesmantener, escalables y eficientesEscribir (mantener y testear) menos códigoEscribir (mantener y testear) menos códigoEstandarizar de forma sencilla ciertos servicios Estandarizar de forma sencilla ciertos servicios para diferentes aplicacionespara diferentes aplicaciones
Una buena forma de aprenderUna buena forma de aprender
Application BlocksApplication Blocks¿Qué incluyen?¿Qué incluyen?
Código (VB, C#)Código (VB, C#)ModificablesModificables
Capacidad de extensión a través de Capacidad de extensión a través de la implementación de Providers en la implementación de Providers en puntos previstospuntos previstos
Implementación de patrones y Implementación de patrones y buenas prácticasbuenas prácticas
Buena documentación y ejemplosBuena documentación y ejemplos
Soporte en su uso por Microsoft y la Soporte en su uso por Microsoft y la comunidadcomunidad
Application Blocks disponiblesApplication Blocks disponibles
Se
rvic
ios
de
Ad
m.,
op
era
ció
n y
se
gu
rid
ad
Interfaz Windows
Hub de integración
Base de datos
Servicios del Negocio
Interfaz Web
Interfaz de servicios
Servicio deNegocios
Servicio deNegocios Interno
Interfaz de servicios
Servicio deNegocios
Interfaz de usuarios (multicanal)
Procesos de interfaz de usuario
Servicios de Acceso a información
Acceso a datos
Agentes deservicio
Conectores yagentes
Orquestación de procesos
ASP.NETASP.NETUser Interface Process
User Interface Process
Async. InvocationApplication BlockAsync. InvocationApplication Block
Smart Client Offline
Smart Client Offline
CachingCaching
ConfigurationManagement
ConfigurationManagement
Entity Agreg.Application Block
Entity Agreg.Application Block
AggregationAggregation
Asynchronous Invocation
Asynchronous Invocation
Data AccessData Access
Exception ManagementException
Management
LoggingLogging
UpdaterUpdater
Authorization & Profile
Authorization & Profile
Enterprise Library for .NET Framework Enterprise Library for .NET Framework 2.02.0
Nueva liberación mayor de la biblioteca Nueva liberación mayor de la biblioteca empresarialempresarial
Diseñada para el Framework 2.0Diseñada para el Framework 2.0Apalanca las nuevas capacidades ofrecidas Apalanca las nuevas capacidades ofrecidas por la plataformapor la plataforma
Ciertas características de la Enterprise Ciertas características de la Enterprise Library v1.x han sido desechadas a favor de Library v1.x han sido desechadas a favor de la plataformala plataforma
Cambios claves desde la Enterprise Library Cambios claves desde la Enterprise Library 1.x1.x
Configuración construida sobre System. ConfigurationConfiguración construida sobre System. ConfigurationNo existe el bloque de aplicación (Application Block)No existe el bloque de aplicación (Application Block)
Más facilidad de uso de los bloques con o sin archivos de Más facilidad de uso de los bloques con o sin archivos de configuraciónconfiguración
Instrumentación configurable y desactivada por Instrumentación configurable y desactivada por defectodefecto
Mejoras en el bloque de Aplicaciones de LoggingMejoras en el bloque de Aplicaciones de Logging Flexibilidad y RendimientoFlexibilidad y Rendimiento
Más simple y poderoso bloque de aplicación para Más simple y poderoso bloque de aplicación para acceso a Datosacceso a Datos
Usado con OLE-DB, ODBC o cualquier proveedorUsado con OLE-DB, ODBC o cualquier proveedor
La mayor parte del bloque de aplicación de seguridad La mayor parte del bloque de aplicación de seguridad ha sido eliminadoha sido eliminado
Descartado a favor de las nuevas características de .NET Descartado a favor de las nuevas características de .NET Membership y Profile Membership y Profile
CachingCaching
SecuritySecurity
Data Data AccessAccess LoggingLogging
ExceptionExceptionHandlingHandling
Enterprise Library para .NET Framework Enterprise Library para .NET Framework 2.02.0
Plug-inConfigConfig
Helpers Helpers & Design& Design
Instrumen-Instrumen-tationtation
ObjectObjectBuilderBuilder
CryptographyCryptography
Core
Block DependencyOptional ProviderDependency
CachingCaching
SecuritySecurity
Data Data AccessAccess LoggingLogging
ExceptionExceptionHandlingHandling
Enterprise Library para .NET Framework Enterprise Library para .NET Framework 2.02.0
Plug-inConfigConfig
Helpers Helpers & Design& Design
Instrumen-Instrumen-tationtation
ObjectObjectBuilderBuilder
CryptographyCryptography
Core
Block DependencyOptional ProviderDependency
Enterprise Library 2.0Enterprise Library 2.0
<Bloque de aplicación de Seguridad><Bloque de aplicación de Seguridad>
<Bloque de Aplicación de Acceso a Datos><Bloque de Aplicación de Acceso a Datos>
RecursosRecursos
www.WillyDEV.NETwww.WillyDEV.NET
Centro de Desarrollo ASP .NET Centro de Desarrollo ASP .NET http://msdn.microsoft.com/asp.net/reference/http://msdn.microsoft.com/asp.net/reference/ui/default.aspxui/default.aspx
http://msdn.microsoft.com/asp.net/reference/http://msdn.microsoft.com/asp.net/reference/design/design/
Bits, Forums, Quickstarts, Docs, UpdatesBits, Forums, Quickstarts, Docs, Updates
Sitio ASP .NET Sitio ASP .NET http://www.asp.nethttp://www.asp.net
http://weblogs.asp.net/scottguhttp://weblogs.asp.net/scottgu
http://weblogs.asp.net/bleroyhttp://weblogs.asp.net/bleroy
RecursosRecursos
Enterprise Library 2.0Enterprise Library 2.0http://msdn.microsoft.com/library/?url=/http://msdn.microsoft.com/library/?url=/library/en-us/dnpag2/html/EntLib2.asplibrary/en-us/dnpag2/html/EntLib2.asp
Bits, Forums, Quickstarts, Docs, UpdatesBits, Forums, Quickstarts, Docs, Updates
© 2006 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.