dce1 introduccion microsoft.net

89
Estrella 1 Estrella 1 Introducción a Introducción a Microsoft .NET Microsoft .NET Programa Microsoft Programa Microsoft Desarrollador Cinco Desarrollador Cinco Estrellas Estrellas

Upload: navane

Post on 24-May-2015

811 views

Category:

Education


0 download

DESCRIPTION

Conceptos sobre .NET Framework

TRANSCRIPT

  • 1. Estrella 1 Introduccin a Microsoft .NETPrograma Microsoft Desarrollador Cinco Estrellas

2. Objetivo

  • Presentar una introduccin a la plataforma de desarrollo Microsoft .NET, describiendo sus principios bsicos de funcionamiento, su arquitectura de componentes y sus principales bibliotecas reutilizables, mostrando adems las novedades introducidas en la ltima versin de la misma.

3. Prerrequisitos

  • Poseer los conocimientos proporcionados por la Estrella 0 del programa
  • Haber aprobado el examen correspondiente a la Estrella 0 del programa
  • Conocimientos fundamentales de bases de datos relacionales, incluyendo
    • Modelo Relacional
    • Protocolos de Acceso (ODBC/OLEDB)
    • Lenguaje SQL

4. Temas a Tratar

  • Introduccin a Microsoft .NET
  • Componentes Fundamentales
  • Funcionamiento Interno del CLR
  • Bibliotecas Principales
  • Ventajas de .NET
  • Herramientas de Desarrollo .NET
  • Novedades en .NET 2.0

5. Temas a Tratar

  • Introduccin a Microsoft .NET
    • Qu no es .NET?
    • Qu es .NET?
    • .NET Como evolucin de COM

6. Paradigmas de Programacin 1980 1990 2000 Funcionalidad Win16 Win32 COM MFC Componentes Servicios APIs Windows 3.0 7. Qu NO es .NET?

  • .NET no es un Sistema Operativo
  • .NET no es un Lenguaje de Programacin
  • .NET no es un Entorno de Desarrollo
  • .NET no es un Servidor de Aplicaciones
  • .NET no es un producto empaquetado que se pueda comprar como tal

8. Qu es .NET?

  • Plataforma de Desarrollo compuesta de
    • Entorno de Ejecucin (Runtime)
    • Bibliotecas de Funcionalidad (Class Library)
    • Lenguajes de Programacin
    • Compiladores
    • Herramientas de Desarrollo (IDE & Tools)
    • Guas de Arquitectura
  • La evolucin de la plataforma COM

9. Caractersticas de .NET (1/2)

  • Plataforma de ejecucin intermedia
  • 100% Orientada a Objetos
  • Multilenguaje
  • Plataforma Empresarial de Misin Crtica

10. Caractersticas de .NET (2/2)

  • Modelo de Programacin nico para todo tipo de aplicaciones y dispositivos de hardware
  • Se integra fcilmente con aplicaciones existentes desarrolladas en plataformas Microsoft
  • Se integra fcilmente con aplicaciones desarrolladas en otras plataformas

11. Plataforma de Ejecucin Intermedia Microsoft .NET Entorno de Desarrollo Libreras de Funcionalidad Lenguajes de Programacin Entorno de Ejecucin Sistema Operativo (Familia Windows) Aplicacin .NET 12. .NET como evolucin de COM

  • Entorno de Ejecucin (Runtime)
    • COM: Windows
    • .NET: Common Language Runtime
  • Libreras de Funcionalidad
    • COM: Algunas (ADO, FSO, etc.)
    • .NET: Muy extensa (.NET Framework Class Library)
  • Lenguajes de Programacin
    • COM: VB, C++, VFP, ASP, J++
    • .NET: Common Language Specification
  • Entorno de Desarrollo (IDE)
    • COM: Uno para cada lenguaje
    • .NET: Uno independiente del lenguaje (VS.NET)

13. Qu es el .NET Framework?

  • Paquete de software fundamental de la plataforma .NET. Incluye:
    • Entorno de Ejecucin (Runtime)
    • Bibliotecas de Funcionalidad (Class Library)
  • Se distribuye en forma libre y gratuita
  • Existen tres variantes principales:
    • .NET Framework Redistributable Package
    • .NET Framework SDK
    • .NET Compact Framework
  • Est instalado por defecto en Windows 2003 Server o superior

14. Dnde instalar el .NET Framework? .NET Compact Framework * * Aplicacin Mvil Aplicacin de Consola Aplicacin Web Aplicacin deEscritorio Servidor Cliente * Slo si la aplicacin es distribuda 15. Lnea del tiempo de .NET Visual Studio 6.0 Visual Basic VBA Visual FoxPro VBScript C++ J++ JScript ASP Visual Studio .NET 2003 .NET Framework 1.1 .NET Compact Framework J# Visual Studio Orcas .NET Framework Orcas .NET Compact Framework Orcas 2000200120022003200420052006 y ms Visual Studio 2005 (Whidbey) .NET Framework 2.0 (Whidbey) .NET Compact Framework 2.0 (Whidbey) Visual Studio .NET 2002 .NET Framework 1.0 Visual Basic .NET C# 16. Temas a Tratar

  • Introduccin a Microsoft .NET
  • Componentes Fundamentales
    • Arquitectura
    • Common Language Runtime (CLR)
    • Microsoft Intermediate Language
    • Assemblies
    • .NET Class Library
    • Common Language Specification (CLS)

17. Arquitectura del .NET Framework Windows COM+ Services Common Language Runtime Base Class Library ADO.NET y XML ASP.NET Windows Forms Common Language Specification VB C++ C# J# .NET Framework Redistributable .NET Framework SDK .NET FrameworkClass Library 18. CLR - Arquitecturas de Ejecucin de Aplicaciones 19. CLR Common Language Runtime

  • El CLR es el motor de ejecucin (runtime) de .NET
  • Caractersticas
    • Compilacin Just-In-Time (JIT)
    • Gestin automtica de memoria (Garbage Collector)
    • Gestin de errores consistente (Excepciones)
    • Ejecucin basada en componentes (Assemblies)
    • Gestin de Seguridad
    • Multithreading

20. CLR Componentes Internos 21. CLR Proceso de Compilacin CdigoFuente Cualquier lenguaje .NET Compilador Assembly (MSIL) Biblioteca o Ejecutable 22. CLR - MSIL .method private hidebysig static void Main ( string [] args)cil managed{.entrypoint maxstack 8L_0000: ldstr "Hola Mundo" L_0005: call void[ mscorlib ] System.Console :: WriteLine ( string )L_000a: ret} 23. Qu es un Assembly?

  • Un Assembly es la unidad mnima de ejecucin, distribucin, instalacin y versionado de aplicaciones .NET

Metadata Cdigo Compilado MSIL Recursos MiBiblioteca.DLL Descripcin de Tipos Clases Clases Base Interfaces Implementadas Atributos de las Clases Mtodos de las Clases Nombre Versin Cultura Manifiesto del Assembly Otros Assemblies Permisos de Seguridad Tipos Externos 24. Assemblies - Aplicaciones .NET

  • Uno o ms Assemblies
  • Al ejecutar una aplicacin, cmo ubico los assemblies necesarios?
      • El Class Loader busca en el directorio local (preferido)
      • Global Assembly Cache (GAC)
  • Diferentes aplicaciones pueden usar diferentes versiones
    • Actualizaciones ms simples
    • Desinstalacin ms simple

25. .NET Framework Class Library

  • Conjunto de Tipos bsicos (clases, interfaces, etc.) que vienen includos en el .NET Framework
  • Los tipos estn organizados en jerarquas lgicas de nombres, denominados NAMESPACES
  • Los tipos son INDEPENDIENTES del lenguaje de desarrollo
  • Es extensible y totalmente orientada a objetos

26. .NET Framework Class Library

  • El namespace raz esSYSTEM

SystemSystem.Data System.Xml System.Web Globalization Diagnostics Configuration Collections Resources Reflection Net IO Threading Text ServiceProcess Security Common OleDb SqlClient Odbc XPath XSLT Runtime InteropServices Remoting Serialization Serialization Configuration SessionState Caching Security Services Description Discovery Protocols UI HtmlControls WebControls System.Drawing Imaging Drawing2D Text Printing System.Windows.Forms Design ComponentModel 27. Common Language Specification (CLS)

  • Especificacin que estandariza una serie de caractersticas soportadas por el CLR
  • Contrato entre diseadores de lenguajes de programacin y autores de bibliotecas
  • Permite la interoperabilidad entre lenguajes
  • Microsoft provee implementaciones de 4 lenguajes, todos compatibles con CLS
    • Microsoft Visual Basic .NET
    • Microsoft Visual C# .NET
    • Microsoft Visual J#.NET
    • Microsoft Visual C++.NET

28. Common Language Specification (CLS)

  • El resto de la industria y el sector acadmico han desarrollado ms de 20 lenguajes compatibles con la especificacin CLS

Cobol Eiffel Fortran Pascal Perl C++.NET C# Haskell Java JavaScript Visual Basic.NET Mercury ML PHP Objective Caml Oberon Smalltalk Scheme J# RPG Mondrian APL Delphi Python LISP Prolog 29. CLS - Eleccin del lenguaje

  • .NET posee un nico runtime (el CLR) y un nico conjunto de bibliotecas para todos los lenguajes
  • No hay diferencias notorias de performance entre los lenguajes provistos por Microsoft
  • El lenguaje a utilizar, en gral., depender de su experiencia previa con otros lenguajes o de gustos personales
    • Si conoce Java, Delphi, C++, etc.C#
    • Si conoce Visual Basic o VBScriptVB.NET
  • Los tipos de aplicaciones .NET son INDEPENDIENTES del lenguaje que elija

30. Temas a Tratar

  • Introduccin a Microsoft .NET
  • Componentes Fundamentales
  • Funcionamiento Interno del CLR
    • Especificacin CLI
    • Modelo de Ejecucin
    • Application Domains
    • Common Type System

31. Infraestructura de Lenguaje Comn (CLI)

  • Especificacin patrocinada por Microsoft, Intel, HP y estandarizada por ECMA (2001) e ISO (2003) que describe:
    • Entorno de Ejecucin de Aplicaciones
    • Conjunto de Libreras Bsicas (BCL)
    • Tipos de Datos Comunes (CTS)
  • El .NET Framework y el .NET Compact Framework son implementaciones de la especificacin CLI

32. Sub-Especificaciones de CLI 33. Modelo de Ejecucin del CLR VB.NET Cdigo Fuente CompiladorVB.NET C++.NET C# Assembly Cdigo MSIL Sistema Operativo (Windows) Common Language Runtime Compilador JIT Cdigo Nativo CdigoManejado Componente No Manejado Compilador C# Compilador C++ .NET Assembly Cdigo MSIL Assembly Cdigo MSIL 34. Modelo de Ejecucin del CLR Instalacin Ejecucin Policy Procesos virtuales dentro del CLR

    • Se ejecutan dentro de un proceso del Sistema Operativo
    • Un proceso del sistema operativo puede contener varios AppDomains
    • Ms eficiente que mltiples procesos del sistema operativo
    • Ms eficiente en el intercambio de contexto de ejecucin
  • Un Assembly y sus tipos son siempre cargados dentro de un AppDomain
  • Provee una frontera para: Fallos, Tipos, Seguridad

36. Application Domains - CLR Host Cdigo Manejado CLR CLR Host AppDomain 1 Cdigo Manejado AppDomain N 37. CTS (Common Type System)

  • Define un conjunto comn de tipos de datos orientados a objetos
  • Todo lenguaje de programacin .NET debe implementar los tipos definidos por el CTS
  • Todo tipo hereda directa o indirectamente del tipo System.Object
  • Define Tipos de VALOR y de REFERENCIA

38. La Memoria y los Tipos de Datos

  • El CLR administra dos segmentos de memoria:Stack (Pila)yHeap (Montn)
  • ElStackes liberado automticamente y elHeapes administrado por elGC( Garbage Collector )
  • Los tiposVALORse almacenan en el Stack
  • Los tiposREFERENCIAse almacenan en el Heap

39. Temas a Tratar

  • Introduccin a Microsoft .NET
  • Componentes Fundamentales
  • Funcionamiento Interno del CLR
  • Bibliotecas Principales
    • Base Class Library (BCL)
    • ADO.NET
    • Windows Forms
    • ASP.NET

40. Base Class Library SystemGlobalization Diagnostics Configuration Collections Resources Reflection Net IO Threading Text ServiceProcess Security InteropServices Remoting Serialization 41. Acceso a Datos: ADO.NET System.Data OleDb SqlClient OracleClient Common Odbc SqlTypes System.Xml Serialization XPath XSLT Schema 42. Acceso a Bases de Datos Relacionales Escenario Conectado

  • Un entorno conectado es uno en el cual los usuarios estn constantemente conectados a la fuente de datos
  • Ventajas:
    • Mayor seguridad
    • Mejor control de concurrencia
    • Los datos se mantienen actualizados
  • Desventajas:
    • Se requiere una conexin constante (consume recursos del servidor)
    • Escalabilidad

43.

  • En un entorno desconectado, una parte de los datos del repositorio central se copia y modifica en forma local, para luego sincronizarse con ste.
  • Ventajas
    • Se puede trabajar en forma independiente
    • Mayor escalabilidad y performance
  • Desventajas
    • Los datos no estn sinconizados
    • Resolucin manual de conflictos

Acceso a Bases de Datos Relacionales Escenario Desconectado 44. ADO.NET - Arquitectura 45. ADO.NET- Proveedores de Acceso a Datos

  • SQL Server/Access (System.Data.SqlClient)
  • OLE DB (System.Data.OleDb)
  • ODBC (System.Data.Odbc)
  • Oracle (System.Data.OracleClient)
  • Otros provistos por terceros (MySQL, PostgreSQL, DB2, etc..)

46. ADO.NET- Clases ms comunes Base de Datos XxxConnection XxxCommand DataSet XxxDataReader XxxDataAdapter Maneja la coneccin a una base dedatos Ejecuta comandos contra una base de datos Copia local de datos relacionales Provee acceso a datosread-only, Forward-only Intercambia datos entre un dataset y una base de datos 47. ADO.NET- DataSet DataSet DataTable Relaciones Restricciones Esquema XMLDataTable DataRow DataColumn 48. ADO.NET vs. ADO 49. ADO.NET Accediendo a datos Conectado

  • En un escenario conectado, los recursos se mantienen en el servidor hasta que la conexin se cierra
  • 1) Abrir Conexin
  • 2) Ejecutar Comando
  • 3) Procesar Filas en DataReader
  • 4) Cerrar Reader
  • 5) Cerrar Conexin

50.

  • En un escenario desconectado, los recursos no se mantienen en el servidor mientras los datos se procesan
  • 1) Abrir Conexin
  • 2) Llenar DataSet mediante DataAdapter
  • 3) Cerrar Conexin
  • 4) Procesar DataSet
  • 5) Abrir Conexin
  • 6) Actualizar fuente de datos mediante DataAdapter
  • 7) Cerrar Conexin

ADO.NET Accediendo a datos Desconectado 51. ADO.NET - Soporte a XML XmlTextWriter XmlTextReader XmlDocument DocumentNavigator XmlReader XmlValidatingReader XmlNodeReader 52. Windows Forms System.Drawing Drawing2D Imaging Printing Text System.WinForms Design ComponentModel 53. Aplicaciones Web: ASP.NET System.Web Caching Configuration Services UI SessionState HtmlControls WebControls Description Discovery Security Protocols 54. Temas a Tratar

  • Introduccin a Microsoft .NET
  • Componentes Fundamentales
  • Funcionamiento Interno del CLR
  • Bibliotecas Principales
  • Ventajas de .NET

55. Ventajas de .NET

  • Unifica los modelos de programacin
  • Simplifica an ms el desarrollo
  • Provee un Entorno de Ejecucin robusto y seguro
  • Es independiente del lenguaje de programacin
  • Interoperabilidad con cdigo existente
  • Simplifica la instalacin y administracin de las aplicaciones
  • Es Extensible

56. Unificando los Modelos Windows API .NET Framework API consistente mas all del lenguajeo del modelo de programacin ASP Basado en Servidor, UI Embebido en el cdigo MFC/ATL (C++) OOP,Potencia, Acceso a bajo nivel Visual Basic Desarrollo Rapido, Componentes, Event Driven 57. Desarrollo Simplificado

  • Alto nivel de abstraccin
    • No mas accesos COM a bajo nivel
    • Orientado a Objetos desde el Ncleo
  • Sistema de tipos unificado (CTS)
    • Todo es un objeto, no mas variants
  • Componentes de Software
    • Propiedades, mtodos, eventos, y atributos incluidos en la construccin de clases
  • API organizada en forma Jerrquica

58. Entorno de Ejecucin Robusto y Seguro

  • Gestin automtica de la memoria
    • Todos los objetos son administrados por el Garbage Collector
  • Manejo de Excepciones
  • Fuertemente tipado
    • Solo casteos seguros
    • Inicializacin de variables obligatoria
  • Instalacin con Cero Impacto
    • No requiere registracin en la Registry

59. Independencia del lenguaje

  • Libertad en la eleccin del lenguaje
    • Todas las facilidades de la plataforma .NET estn disponibles a todos los lenguajes de programacin .NET
    • Los componentes de una aplicacin .NET pueden ser escritos en distintos lenguajes de alto nivel compatibles con la plataforma
  • Herramientas compartidas
    • Debuggers, profilers, analizadores de cdigo, y otras trabajan para todos los lenguajes

60. Instalacin y Administracin ms simples

  • Unidades de Ensamblado (Assemblies)
    • Mnima unidad de distribucin, versionado y administracin de seguridad de aplicaciones .NET
    • Auto-descriptas a travs de unmanifiesto (manifest)
  • Instalaciones Cero-impacto
    • Aplicaciones y componentes pueden ser compartidas o privadas
  • Versioning
    • Mltiples versiones del mismo componente pueden co-existir, an en el mismo proceso

61. Extensibilidad

  • El Framework no es una caja negra
  • Sus clases pueden ser extendidas a travs del mecanismo de herencia
    • A diferencia de COM, usamos y extendemos las clases en si mismas, no un wrapper
  • Herencia entre distintos lenguajes

62. Interoperabilidad C# C++ VB Otros... COM COM INTEROP .NET Framework Servicios Web XML .NET 63. Temas a Tratar

  • Introduccin a Microsoft .NET
  • Componentes fundamentales
  • Funcionamiento interno
  • Bibliotecas Principales
  • Ventajas de .NET
  • Herramientas de Desarrollo .NET
    • Visual Studio 2005
    • SQL Server 2005 Express

64. Visual Studio 2005 Novatos Entusiastas Estudiantes Hobbyists Part-Timers Profesionales Consultores Desarrolladores Arquitectos Testers VB6 Devs 65. Visual Studio 2005 Express Editions

  • Herramientas de desarrollo gratuitas
  • Muy livianas, fciles de usar y de aprender
  • Diseadas para entusiastas, estudiantes y desarrolladores principiantes
  • Hay varias ediciones, segn el tipo de aplicacin y el lenguaje
  • Tiene caractersticas avanzadas, por ejemplo:
    • Refactoring
    • Code Snippets
    • Diseadores WYSIWYG
    • Depuradores
    • Intellisense

66. SQL Server 2005 Express

  • La nueva versin de MSDE
  • Es gratuito
  • Preparado para trabajar integrado con .NET 2.0
  • Tamao mximo de base: 4 Gb
  • Max. Conexiones Concurrentes: no tiene
  • Incluye una interfaz de administracion y un editor de consultas
  • Mayor integracin con Visual Studio 2005

67. Temas a Tratar

  • Introduccin a Microsoft .NET
  • Componentes fundamentales
  • Funcionamiento interno
  • Bibliotecas Principales
  • Ventajas de .NET
  • Herramientas de Desarrollo .NET
  • Novedades en .NET 2.0

68. Temas a Tratar

  • Novedades en .NET 2.0
    • Generics
    • Soporte para 64 bits
    • Tipos Parciales
    • Nivel de Accesibilidad de Properties
    • Novedades en ADO.NET 2.0

69. Generics

  • Son tipos parametrizados soportados por el CLR
    • Un tipo parametrizado es aquel que puede definirse sin especificar los tipos de datos de sus parmetros en tiempo de compilacin.
  • Nos dan la posibilidad de declarar clases, estructuras, mtodos e interfaces que actuarn uniformemente sobre valores cuyos tipos se desconocen a priori y son recin especificados al momento de su utilizacin

70. Generics - Ejemplo

  • Definiendo una clase genrica en C#
  • Utilizando una clase genrica en C#

public class ClaseGenerica{ public T atributo; } C# ClaseGenerica g = new ClaseGenerica(); g.atributo = Un string"; g.atributo = 2;//Genera Error de Compilacin ClaseGenerica g2 = new ClaseGenerica(); g2.atributo = 2;//NO genera error de compilacin 71. Generics - Ejemplo

  • Definiendo una clase genrica en VB.NET
  • Utilizando una clase genrica en VB.NET

Public Class ClaseGenerica(Of T) Public atributo As T End Class Dim g As New ClaseGenerica(Of String)g.atributo = Un string" g.atributo = 2Genera error de compilacin Dim g2 As New ClaseGenerica(Of Integer)g2.atributo = 2 NO genera error de compilacin VB.NET 72. Generics - Colecciones

  • Colecciones Genricas Vs. Colecciones Tradicionales

System.Collections.Generic System.Collections Comparer Comparer DictionaryHashTable ListArrayList QueueQueue SortedDictionarySortedList StackStack ICollectionICollection IComparableSystem.IComparable IComparerIComparer IDictionaryIDictionaryIEnumerableIEnumerable IEnumeratorIEnumerator IKeyComparerIKeyComparer IListIList 73. Generics - Colecciones

  • Sin generics
  • Con generics

C# 74. Generics - Colecciones

  • Sin generics
  • Con generics

VB.NET 75. Soporte para 64 bits

  • El CLR 1.x slo tiene soporte para aplicaciones de 32 bits
    • No aprovechan las caractersticas de los sistemas operativos de 64 bits, ya que se ejecutan emuladas
  • El CLR 2.0 tiene una versin de 64 bits
    • Permite compilar aplicaciones para que hagan uso nativamente de las nuevas caractersticas de los sistemas operativos y procesadores de 64 bits

76. Tipos Parciales

  • Permiten la declaracin de un tipo en varios archivos fsicos
    • Vlido para clases y estructuras
    • Vlido para interfaces slo en C#
    • Utilizan la palabra clave partial en la declaracin
  • Su uso puede tener varias ventajas
    • Dividir implementaciones complejas en partes pequeas
    • Separacin de cdigo auto-generado
    • Mtiples desarrolladores pueden trabajar sobre distintas secciones del mismo tipo simultneamente
    • Puede facilitar el mantenimiento y el control de versiones de cdigo

77. Tipos Parciales - Ejemplo // Demo.Part1.cs using System; public partial class Demo { public Demo() { Console.Write( "P1" ); } } // Demo.Part2.cs public partial class Demo { private int i; } // Demo.Part3.cs // Error 1! public class Demo { // Error 2! private int i; // OK private int j; public void Test() { // Error 3! Console.Write( "P3" ); } } C# 78. Tipos Parciales - Ejemplo ' Demo.Part1.vb Imports System Partial Public Class Demo Public Sub New() Console.Write("P1") End Sub End Class ' Demo.Part2.vb Partial Public Class Demo Private i As Integer End Class ' Demo.Part3.vb ' OK en VB.NET Public Class Demo ' Error 2! Private i As Integer ' OK Private j As Integer Public Sub Test() ' OK en VB.NET Console.Write("P3") End Sub End Class VB.NET 79. Modificadores de acceso

  • El CLR 2.0 permite especificar diferentes modificadores de acceso para el get y el set de las propiedades e ndices
  • Permite solamente modificar uno de los dos elementos de acceso, mientras que el otro toma el nivel de acceso de la property
  • Puede especificar ms restricciones
  • Mejora el encapsulamiento de atributos

80. Modificadores de acceso -Ejemplos public class Customer{ private string id; public string CustomerId { public get { return id; } privateset { id = value; } } } Public Class Customer Private id As String Public Property CustomerId() As String Get Return Me.id End Get PrivateSet(ByVal value As String) Me.id = value End Set End Property End Class VB.NET C# 81. Novedades en ADO.NET 2.0

  • API independiente del proveedor ADO.NET
    • Modelada bajo el patrn Abstract Factory
  • Operaciones Asincrnicas
    • Permite ejecutar comandos contra la base de datos de manera asincrnica no bloqueante
  • Multiple Active Result Sets (MARS)
    • Permite tener mltiples DataReaders abiertos sobre la misma conexin

82. Novedades en ADO.NET 2.0

  • Integracin y aprovechamiento de caractersticas de SQL Server 2005
    • Notification Services
    • Service Broker
    • Tipo de dato XML
    • Soporte a Servicios Web
  • Mejoras en el DataSet y DataTable
    • Performance
    • Serializacin
    • Soporte a XML

83. ADO.NET 2.0 API Independiente

  • Namespace System.Data.Common

DbCommand DbCommandBuilder DbConnection DataAdapter DbDataAdapter DbDataReader DbParameter DbParameterCollection DbTransaction DbProviderFactory DbProviderFactories DbException 84. ADO.NET 2.0 API Independiente Interfaces IDb* (ej: IDbConnection) clases base abstractas Db* (ej: DbConnection) Implementa la clase base Db* Sql OleDb ODBC Oracle 3 rd Party 1 3 rd Party 2 Provider-Independiente del cdigo de la aplicacin en esta capa Provider-especfico en el cdigo de la aplicacin en esta capa 85. ADO.NET 2.0 - DataSet

  • Mejoras de performance
    • Mantienen indices internos de los registros de sus DataTables
  • Serializacin binaria del contenido
    • El DataSet 1.xes siempre serializado aXML
      • Bueno para integrar datos, malo en performance
    • El DataSet 2.0 soportaserializacin binaria
      • Rpido y compacto
      • DataSet.RemotingFormat = SerializationFormat.Binary

86. ADO.NET 2.0 - DataTable

  • Operaciones comunes delDataSettambin disponibles en elDataTable:
    • ReadXml, ReadXmlSchema, WriteXml, WriteXmlSchema, Clear, Clone, Copy, Merge, GetChanges
  • DataTable esauto-serializable :
    • Buen mecanismo para transmitir datos en una aplicacin distribuda

87. ADO.NET 2.0 - Tipo de dato XML en el DataSet

  • DataTableacepta columnas de tipoXML
    • System.Data.SqlTypes.SqlXml
  • Expuestas como una instancia deXPathDocument
  • Pueden accederse vaXmlReader
  • Facilidades para trabajar con documentos XML como un conjunto de valores

88. ADO.NET 2.0 - ActualizacionesBatch

  • ADO.NET 2.0 permite ejecutar mltiples instrucciones SQL sobre una base de datos de forma batch, usando el sp_executesql
  • Reduce trfico de red
  • DataAdapter.UpdateBatchSize = batch_size
  • Trabaja con transacciones
  • Trabaja conlos proveedores para SQL Server y Oracle

89. 2006 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.