Applications Blocks for 'NET - PowerPoint PPT Presentation

1 / 35
About This Presentation
Title:

Applications Blocks for 'NET

Description:

Data Acces Application Block. Exception Management ... Conservatives. Skeptics. Visionaries. Technology Enthusiasts. Current Version. V.Next. Product Dev ... – PowerPoint PPT presentation

Number of Views:111
Avg rating:3.0/5.0
Slides: 36
Provided by: francoa9
Category:

less

Transcript and Presenter's Notes

Title: Applications Blocks for 'NET


1
Applications Blocks for .NET
  • Franco A. Ceruti
  • MCT MCSD MCP
  • VBNext
  • endor_at_fibertel.com.ar

2
Agenda
  • Application Blocks for .NET
  • Idea
  • Momento en el Tiempo
  • Migración
  • Desarrollo
  • Bloques actuales
  • Data Acces Application Block
  • Exception Management Application Block
  • Bloques a Futuro
  • Office Reporting Application Block
  • Feedback
  • Preguntas

3
Agenda
  • Application Blocks for .NET como idea
  • Momento en el tiempo
  • Migracion
  • Desarrollo
  • Bloques actuales
  • Data Acces Application Block
  • Exception Management Application Block
  • Bloques a Futuro
  • Office Reporting Application Block
  • Feedback
  • Preguntas

4
Application Blocks como Idea
  • Ayudar a los Desarrolladores
  • Adopcion temprana
  • Reduccion de errores
  • Producir
  • Lo que los desarrolladores necesitan.
  • Arquitectura abierta.
  • Promover Best Practices
  • Alinear el desarrollo actual con el desarrollo a
    futuro.

5
Problemas de los Arquitectos de Software
6
Momento en el Tiempo (Ciclo de Adopción)
Late Majority
Early Majority
Early Adopters
Laggards
Innovators
Technology Enthusiasts
Conservatives
Pragmatists
Visionaries
Skeptics
Current Version
V.Next
Product Dev
Product Dev
Product Dev
7
Escenario
Custom Biz Logic
Custom Data Layer
Custom UIs
Internationalization
6
  • Objetivo
  • Acelerar la adopción de la tecnología .NET y
    generar código testeado, confiable y documentado
    que se pueda consumir desde las aplicaciones.
  • Ayudar a los arquitectos a la adopción temprana
    de .NET.

Security
4
User Interface
Monitoring Exception Handling
State Management
LifecycleGuidance
Data Access
7
2
Human and computer interfaces
1
3
5
8
Blocks y Guias
Canonical Architecture
Operational Management
Security
Communication
Dialogs
Dialog Flow
Business Flow layer
EMAB
Business / Service Objects
Data Access
Lifecycle
9
Migracion y Desarrollo
  • Migración
  • Reemplazar algunos componentes con los
    propuestos.
  • Desarrollo
  • Desarrollar para incorporar la funcionalidad
    propuesta.
  • Implica una tendencia hacia Best Practices

10
Interrelación Escenario ICliente - Servidor
11
Interrelación Escenario IIModelo en Capas
12
Interrelación Escenario IIIModelo en Capas
Componentizado
13
Balance
  • Reducción de código
  • Reducción de errores
  • Alineación y Próxima versión
  • Arquitectura recomendada por MS
  • Reducción de tiempos
  • Focalización
  • ?
  • Feedback

14
Data Access Application Block
  • Nile Case Study
  • Nile is a common ecommerce industry benchmark
    application
  • 34 Custom Code Reduction
  • 0 Performance Loss
  • IBuySpy Case Study

Potential Feature
Attributes Pre/Post
Monitoring Component E.g. Perfmon
Data Access Accel
Monitoring
66 Code
Routing (Coyote)
Data Access AB
Potential Features
  • Data Access Application Block
  • Provide Roadmap from other RDBMSs to SQL Server
  • Performance, Availability and Scalability
  • Multiple Output Formats
  • Sprocs, SQL statements, BLOBs, indexing tables
  • Single point to modify for special features
  • Opportunity for monitoring interception point
  • Opportunity for SQL Scale-out routing
  • Opportunity for Method-Sproc mapping

15
Data Access Application Block
  • El Data Access Application Block
  • Componente que expone clases con metodos para
    ejecutar comandos sobre un SQL server de una
    manera robusta y eficiente.
  • Incorpora las mejores practicas de ADO.NET (Best
    Practices).
  • Managed Code
  • Static

16
Interfase Básica
17
Overload - Sobrecarga
  • Como identificar
  • Método que necesito ejecutar
  • El overload es abrumador
  • Clasificar primero por el formato de respuesta
    que necesito.
  • Int cuando ejecuto me devuelve el numero de
    registros afectados.
  • DataSet el transporte de datos en .NET
  • SQLDataReader datos de solo lectura.
  • Object puede devolverme un valor solamente.
  • XMLReader los datos en formato XML para ser
    consumidos.

18
Como Elegir el método
  • Luego decidir el tipo de Conexión
  • String de Conexión
  • SQLConnection
  • SQLConnection SQLTransaction
  • Por ultimo decidir si pasamos Parámetros
  • No parámetros
  • Array de SQLParameters
  • Array de values
  • Primero elegir el formato de respuesta
  • Int
  • DataSet
  • SQLDataReader
  • Object
  • XMLReader

SqlHelper.ExecuteDataset( tuconnectionstring,S
ystem.Data.CommandType.StoredProcedure ,Select
from XXX)
SqlHelper
SqlHelper.ExecuteDataset(
SqlHelper.ExecuteDataset(tuconnectionstring,Sel
ect from XXX)
SqlHelper.ExecuteDataset(tuconnectionstring,
19
Métodos Principales
  • ExecutenonQuery devuelve un integer con el
    numero de registros afectados.
  • ExecuteDataSet devuelve un dataset con una o mas
    tablas.
  • ExecuteReader devuelve un SQLDataReader.
  • ExecuteScalar devuelve un object que contiene un
    simple valor.
  • ExecuteXMLReader devuelve un objeto XMLReader.

20
Reduce la complejidad
21
Detalles
  • DataReader no cierra la conexión hasta cerrado el
    datareader.
  • SQLCommand debe setearsele la Transaccion.
  • Nombrar las tablas subsecuentes
  • Engloba las llamadas en una

22
Ahora vos lo vas a usar
  • Qué le cambiarias?
  • Nombres de las Tablas?
  • Multiples Tablas en Dataset?
  • De multiples Fuentes?
  • Manejo de string de conexión?
  • Qué mas?

23
Preguntas sobre DAAB?
24
Links Importantes I
  • Guias
  • Authentication in ASP.NET .NET Security Guidance
  • http//msdn.microsoft.com/library/en-us/dnbda/htm
    l/authaspdotnet.asp
  • Exception Management in .NET
  • http//msdn.microsoft.com/library/en-us/dnbda/htm
    l/exceptdotnet.asp
  • Microsoft .NET/COM Migration and Interoperability
  • http//msdn.microsoft.com/library/en-us/dnbda/html
    /cominterop.asp
  • Monitoring in .NET Distributed Application Design
  • http//msdn.microsoft.com/library/en-us/dnbda/html
    /monitordotnet.asp

25
Exception Management Application Block(EMAB)
  • Es un framework de manejo de excepciones
  • Flexible
  • Extensible
  • Consistente

26
EMAB
27
Interfaces
  • BaseApplicationException debe ser usada como
    base de las clases de manejo de error definidas
    por el desarrollador.
  • ExceptionManagerSectionHandler encargada de la
    configuracion.
  • ExceptionManager Invoca publishers para publicar
    el error.
  • DefaultPublisher publicador de errores por
    default, utiliza el event log.
  • IPublishException y IPublishXMLException solo
    son interfaces para implemetar las rutinas de
    publicacion de errores propias.

28
Lo Importante
  • Crear tu propia clase de errores para grabar en
  • SQL?
  • Email?
  • Log Files?
  • Log Files con formato XML?

29
Que cambiarias?
  • Que agregarías?
  • Usarías esto en tus aplicaciones?

30
Office Reporting Application Block(ORAB en
desarrollo)
31
Links Importantes I
  • Authentication in ASP.NET .NET Security Guidance
  • http//msdn.microsoft.com/library/en-us/dnbda/htm
    l/authaspdotnet.asp
  • Exception Management in .NET
  • http//msdn.microsoft.com/library/en-us/dnbda/htm
    l/exceptdotnet.asp
  • Microsoft .NET/COM Migration and Interoperability
  • http//msdn.microsoft.com/library/en-us/dnbda/html
    /cominterop.asp
  • Monitoring in .NET Distributed Application Design
  • http//msdn.microsoft.com/library/en-us/dnbda/html
    /monitordotnet.asp

32
Links Importantes II
  • Application Blocks for .NET
  • Data Access http//msdn.microsoft.com/library/?ur
    l/library/en-us/dnbda/html/daab-rm.asp?frametrue
  • Exception Mgmt http//msdn.microsoft.com/library/
    ?url/library/en-us/dnbda/html/emab-rm.asp?framet
    rue

33
Links Importantes III
  • Newsgroup Web-Based Reader
  • http//msdn.microsoft.com/newsgroups/loadframes.as
    p?icpmsdnslcidusnewsgroupmicrosoft.public.dot
    net.distributed_apps
  • Newsgroup NNTP Reader
  • news//msnews.microsoft.com/microsoft.public.dotne
    t.distributed_apps

34
Preguntas ?
35
Muchas Gracias.
  • Franco A. Ceruti
  • VBNext endor_at_fibertel.com.ar
Write a Comment
User Comments (0)
About PowerShow.com