Prerrequisitos
       Poseer los conocimientos proporcionados
       por la Estrella 0 del programa
       Haber aprobado ...
Temas a Tratar
     Introducción a Microsoft .NET
     Componentes Fundamentales
     Funcionamiento Interno del CLR
     ...
Temas a Tratar
     Introducción a Microsoft .NET
        ¿Qué no es .NET?
        ¿Qué es .NET?
        .NET Como evol...
Paradigmas de Programación
Funcionalidad




                        Windows
                          3.0



            ...
¿Qué NO es .NET?

      .NET no es un Sistema Operativo
      .NET no es un Lenguaje de Programación
      .NET no es un E...
¿Qué es .NET?
     Plataforma de Desarrollo compuesta de
        Entorno de Ejecución (Runtime)
        Bibliotecas de F...
Características de .NET (1/2)
   Plataforma de ejecución intermedia
   100% Orientada a Objetos
   Multilenguaje
   Plataf...
Características de .NET (2/2)
   Modelo de Programación único para todo tipo
   de aplicaciones y dispositivos de hardware...
Plataforma de Ejecución Intermedia


                                         Aplicación .NET

                           ...
.NET como evolución de COM
     Entorno de Ejecución (Runtime)
        COM: Windows
        .NET: Common Language Runtim...
¿Qué es el .NET Framework?
    Paquete de software fundamental de la
    plataforma .NET. Incluye:
       Entorno de Ejec...
¿Dónde instalar el .NET Framework?

                                Cliente             Servidor
       Aplicación de
    ...
Línea del tiempo de .NET
Visual Studio 6.0
Visual Basic
VBA
Visual FoxPro
                    Visual Studio .NET 2003     ...
Temas a Tratar
     Introducción a Microsoft .NET
     Componentes Fundamentales
        Arquitectura
        Common Lan...
Arquitectura del .NET Framework

                                       VB     C++     C#      J#      …
.NET Framework SD...
CLR - Arquitecturas de Ejecución de
 Aplicaciones




Lic. Marvin Romero, UGB, San Miguel
CLR – Common Language Runtime

    El CLR es el motor de ejecución (runtime)
    de .NET
    Características
           C...
CLR – Componentes Internos

                     Base Class Library Support

             Thread Support              COM ...
CLR – Proceso de Compilación



      Código                               Assembly
      Fuente                          ...
CLR - MSIL




Lic. Marvin Romero, UGB, San Miguel
¿Qué es un “Assembly”?
    Un Assembly es la unidad mínima de ejecución,
    distribución, instalación y versionado de
   ...
Assemblies - Aplicaciones .NET

      Uno o más Assemblies
      Al ejecutar una aplicación, ¿cómo ubico los
      assembl...
.NET Framework Class Library
      Conjunto de Tipos básicos (clases,
      interfaces, etc.) que vienen incluídos en el
 ...
.NET Framework Class Library
      El namespace raíz es SYSTEM

System.Web                              System.Windows.For...
Common Language Specification (CLS)
    Especificación que estandariza una serie de
    características soportadas por el ...
Common Language Specification (CLS)
    El resto de la industria y el sector académico
    han desarrollado más de 20 leng...
CLS - Elección del lenguaje
     .NET posee un único runtime (el CLR) y un
     único conjunto de bibliotecas para todos l...
Temas a Tratar
     Introducción a Microsoft .NET
     Componentes Fundamentales
     Funcionamiento Interno del CLR
     ...
Infraestructura de Lenguaje Común (CLI)
    Especificación patrocinada por
    Microsoft, Intel, HP y estandarizada
    po...
Sub-
Sub-Especificaciones de CLI
                       Lenguajes de Alto Nivel
                    se ajustan a las regla...
Modelo de Ejecución del CLR

 Código        VB.NET           C#              C++.NET
 Fuente
            Compilador      C...
Modelo de Ejecución del CLR
  Desarrollo                               Instalación
                                       ...
Application Domains
    Procesos virtuales dentro del CLR
       Se ejecutan dentro de un proceso del Sistema
        Ope...
Application Domains - CLR Host

           CLR Host
           CLR
              AppDomain 1             AppDomain N

    ...
CTS (Common Type System)
      Define un conjunto común de “tipos” de datos
      orientados a objetos
      Todo lenguaje...
La Memoria y los Tipos de Datos
      El CLR administra dos segmentos de memoria:
      Stack (Pila) y Heap (Montón)
     ...
Temas a Tratar
     Introducción a Microsoft .NET
     Componentes Fundamentales
     Funcionamiento Interno del CLR
     ...
Base Class Library

 System

  Collections        IO               Security         InteropServices
  Configuration      N...
Acceso a Datos: ADO.NET
      System.Data
         Common                       SqlClient
         OracleClient           ...
Acceso a Bases de Datos Relacionales
Escenario Conectado
      Un entorno conectado es uno en el cual los
      usuarios e...
Acceso a Bases de Datos Relacionales
 Escenario Desconectado
     En un entorno desconectado, una parte de
    los datos d...
ADO.NET - Arquitectura




Lic. Marvin Romero, UGB, San Miguel
ADO.NET-
 ADO.NET- Proveedores de Acceso
 a Datos
      SQL Server/Access (System.Data.SqlClient)
      OLE DB (System.Dat...
ADO.NET-
 ADO.NET- Clases más comunes

                                       Maneja la conección a una base de
          ...
ADO.NET-
ADO.NET- DataSet

        DataSet                        DataTable


                                      DataCo...
ADO.NET vs. ADO




Lic. Marvin Romero, UGB, San Miguel
ADO.NET – Accediendo a datos
Conectado
        En un escenario
        conectado, los recursos se
        mantienen en el ...
ADO.NET – Accediendo a datos
 Desconectado
      En un escenario desconectado, los
      recursos no se mantienen en el
  ...
ADO.NET - Soporte a XML

                       <XML>           DocumentNavigator

  XmlTextWriter


                     ...
Windows Forms

      System.WinForms
          Design                      ComponentModel



      System.Drawing
        ...
Aplicaciones Web: ASP.NET

    System.Web
        Services                      UI
         Description                  H...
Upcoming SlideShare
Loading in …5
×

Introduccion a visual studio.Net Part 2

3,951 views

Published on

Introduccion a visual studio.Net Part 2

Published in: Technology
8 Comments
1 Like
Statistics
Notes
  • elvis.....................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

  • buen dia ya descargue la presdentacion y la forma de impartir la clase es buena salu
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Se pudo!

    [Comment posted from http://ceminfosv.com/blog/?cat=5]
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • EzTa MuY LiNdDo Zu bLoG Mi LiC SoY zU aLuMnA cOnzEnTidDA JoSseLin yAnEt

    [Comment posted from http://ceminfosv.com/blog/?cat=5]
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here



  • [Comment posted from http://ceminfosv.com/blog/?cat=5]
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
3,951
On SlideShare
0
From Embeds
0
Number of Embeds
136
Actions
Shares
0
Downloads
256
Comments
8
Likes
1
Embeds 0
No embeds

No notes for slide

Introduccion a visual studio.Net Part 2

  1. 1. 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 Lic. Marvin Romero, UGB, San Miguel
  2. 2. Temas a Tratar Introducción a Microsoft .NET Componentes Fundamentales Funcionamiento Interno del CLR Bibliotecas Principales Ventajas de .NET Herramientas de Desarrollo .NET Novedades en .NET 2.0 Lic. Marvin Romero, UGB, San Miguel
  3. 3. Temas a Tratar Introducción a Microsoft .NET  ¿Qué no es .NET?  ¿Qué es .NET?  .NET Como evolución de COM Lic. Marvin Romero, UGB, San Miguel
  4. 4. Paradigmas de Programación Funcionalidad Windows 3.0 MFC COM Win16 Win32 1980 1990 2000 Lic. Marvin Romero, UGB, San Miguel
  5. 5. ¿Qué NO es .NET? .NET no es un Sistema Operativo .NET no es un Lenguaje de Programación .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 Lic. Marvin Romero, UGB, San Miguel
  6. 6. ¿Qué es .NET? Plataforma de Desarrollo compuesta de  Entorno de Ejecución (Runtime)  Bibliotecas de Funcionalidad (Class Library)  Lenguajes de Programación  Compiladores  Herramientas de Desarrollo (IDE & Tools)  Guías de Arquitectura La evolución de la plataforma COM Lic. Marvin Romero, UGB, San Miguel
  7. 7. Características de .NET (1/2) Plataforma de ejecución intermedia 100% Orientada a Objetos Multilenguaje Plataforma Empresarial de Misión Crítica Lic. Marvin Romero, UGB, San Miguel
  8. 8. Características de .NET (2/2) Modelo de Programación único para todo tipo de aplicaciones y dispositivos de hardware Se integra fácilmente con aplicaciones existentes desarrolladas en plataformas Microsoft Se integra fácilmente con aplicaciones desarrolladas en otras plataformas Lic. Marvin Romero, UGB, San Miguel
  9. 9. Plataforma de Ejecución Intermedia Aplicación .NET Lenguajes de Programación Microsoft .NET Entorno de Librerías de Funcionalidad Desarrollo Entorno de Ejecución Sistema Operativo (Familia Windows) Lic. Marvin Romero, UGB, San Miguel
  10. 10. .NET como evolución de COM Entorno de Ejecución (Runtime)  COM: Windows  .NET: Common Language Runtime Librerías de Funcionalidad  COM: Algunas (ADO, FSO, etc.)  .NET: Muy extensa (.NET Framework Class Library) Lenguajes de Programación  COM: VB, C++, VFP, ASP, J++  .NET: Common Language Specification Entorno de Desarrollo (IDE)  COM: Uno para cada lenguaje Lic. Marvin .NET: Uno independiente del lenguaje (VS.NET)  Romero, UGB, San Miguel
  11. 11. ¿Qué es el .NET Framework? Paquete de software fundamental de la plataforma .NET. Incluye:  Entorno de Ejecución (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 Lic. Marvin Romero, UGB, San Miguel
  12. 12. ¿Dónde instalar el .NET Framework? Cliente Servidor Aplicación de Escritorio  * Aplicación Web  Aplicación de Consola  * Aplicación .NET Compact Framework Móvil * Sólo si la aplicación es distribuída Lic. Marvin Romero, UGB, San Miguel
  13. 13. Línea del tiempo de .NET Visual Studio 6.0 Visual Basic VBA Visual FoxPro Visual Studio .NET 2003 Visual Studio “Orcas” VBScript .NET Framework 1.1 .NET Framework “Orcas” C++ .NET Compact Framework .NET Compact Framework “Orcas” J++ J# JScript ASP 2000 2001 2002 2003 2004 2005 2006 y más Visual Studio .NET 2002 Visual Studio 2005 (“Whidbey”) .NET Framework 1.0 .NET Framework 2.0 (“Whidbey”) Visual Basic .NET .NET Compact Framework 2.0 (“Whidbey”) C# Lic. Marvin Romero, UGB, San Miguel
  14. 14. Temas a Tratar Introducción a Microsoft .NET Componentes Fundamentales  Arquitectura  Common Language Runtime (CLR)  Microsoft Intermediate Language  Assemblies  .NET Class Library  Common Language Specification (CLS) Lic. Marvin Romero, UGB, San Miguel
  15. 15. Arquitectura del .NET Framework VB C++ C# J# … .NET Framework SDK Common Language Specification Class Library .NET Framework ASP.NET Windows Forms .NET Framework Redistributable ADO.NET y XML Base Class Library Common Language Runtime Windows COM+ Services Lic. Marvin Romero, UGB, San Miguel
  16. 16. CLR - Arquitecturas de Ejecución de Aplicaciones Lic. Marvin Romero, UGB, San Miguel
  17. 17. CLR – Common Language Runtime El CLR es el motor de ejecución (runtime) de .NET Características  Compilación Just-In-Time (JIT) Just-In-  Gestión automática de memoria (Garbage Collector)  Gestión de errores consistente (Excepciones)  Ejecución basada en componentes (Assemblies)  Gestión de Seguridad Lic. Marvin Multithreading  Romero, UGB, San Miguel
  18. 18. CLR – Componentes Internos Base Class Library Support Thread Support COM Marshaler Type Checker Exception Manager Security Engine Debug Engine IL to Native Code Garbage Compilers Manager Collector Class Loader Lic. Marvin Romero, UGB, San Miguel
  19. 19. CLR – Proceso de Compilación Código Assembly Fuente (MSIL) Compilador Cualquier Biblioteca lenguaje .NET o Ejecutable Lic. Marvin Romero, UGB, San Miguel
  20. 20. CLR - MSIL Lic. Marvin Romero, UGB, San Miguel
  21. 21. ¿Qué es un “Assembly”? Un Assembly es la unidad mínima de ejecución, distribución, instalación y versionado de aplicaciones .NET Descripción de Tipos Clases MiBiblioteca.DLL Clases Base Interfaces Implementadas Metadata Atributos de las Clases Métodos de las Clases Recursos Manifiesto del Assembly Nombre Código Compilado Versión MSIL Cultura Otros Assemblies Permisos de Seguridad Tipos Externos Lic. Marvin Romero, UGB, San Miguel
  22. 22. Assemblies - Aplicaciones .NET Uno o más Assemblies Al ejecutar una aplicación, ¿cómo ubico los assemblies necesarios?  El Class Loader busca en el directorio local (preferido)  Global Assembly Cache (GAC) Diferentes aplicaciones pueden usar diferentes versiones  Actualizaciones más simples  Desinstalación más simple Lic. Marvin Romero, UGB, San Miguel
  23. 23. .NET Framework Class Library Conjunto de Tipos básicos (clases, interfaces, etc.) que vienen incluídos en el .NET Framework Los tipos están organizados en jerarquías lógicas de nombres, denominados NAMESPACES Los tipos son INDEPENDIENTES del lenguaje de desarrollo Es extensible y totalmente orientada a objetos Lic. Marvin Romero, UGB, San Miguel
  24. 24. .NET Framework Class Library El namespace raíz es SYSTEM System.Web System.Windows.Forms Services UI Design ComponentModel Description HtmlControls Discovery WebControls Protocols System.Drawing Caching Security Drawing2D Printing Configuration SessionState Imaging Text System.Data System.Xml OleDb Odbc XSLT Serialization Common SqlClient XPath System Collections IO Security Runtime Configuration Net ServiceProcess InteropServices Diagnostics Reflection Text Remoting Globalization Resources Threading Serialization Lic. Marvin Romero, UGB, San Miguel
  25. 25. Common Language Specification (CLS) Especificación que estandariza una serie de características soportadas por el CLR Contrato entre diseñadores de lenguajes de programación 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 Lic. Marvin Romero, UGB, San Miguel
  26. 26. Common Language Specification (CLS) El resto de la industria y el sector académico han desarrollado más de 20 lenguajes compatibles con la especificación CLS C++.NET Visual Basic.NET C# J# Delphi Java PHP Perl Python JavaScript Pascal Haskell LISP Prolog RPG Oberon Mondrian Smalltalk Eiffel ML Scheme Cobol Fortran APL Objective Caml Mercury Lic. Marvin Romero, UGB, San Miguel
  27. 27. CLS - Elección 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 VBScript  VB.NET Los tipos de aplicaciones .NET son Lic. Marvin Romero, UGB, San Miguel del lenguaje que elija INDEPENDIENTES
  28. 28. Temas a Tratar Introducción a Microsoft .NET Componentes Fundamentales Funcionamiento Interno del CLR  Especificación CLI  Modelo de Ejecución  Application Domains  Common Type System Lic. Marvin Romero, UGB, San Miguel
  29. 29. Infraestructura de Lenguaje Común (CLI) Especificación patrocinada por Microsoft, Intel, HP y estandarizada por ECMA (2001) e ISO (2003) que describe:  Entorno de Ejecución de Aplicaciones  Conjunto de Librerías Básicas (BCL)  Tipos de Datos Comunes (CTS) El .NET Framework y el .NET Compact Framework son implementaciones de la especificación CLI Lic. Marvin Romero, UGB, San Miguel
  30. 30. Sub- Sub-Especificaciones de CLI Lenguajes de Alto Nivel se ajustan a las reglas de la… CLS (Common Language Specification) y utilizan las clases de la… BCL (Base Class Library) cuyos tipos básicos forman el… CTS (Common Type System) y se ejecutan bajo el control de y usan los servicios del… CLR (Common Language Runtime) que está acoplado al y utiliza los servicios del … Sistema Operativo Lic. Marvin Romero, UGB, San Miguel
  31. 31. Modelo de Ejecución del CLR Código VB.NET C# C++.NET Fuente Compilador Compilador Compilador Componente VB.NET C# C++ .NET No Manejado Código Assembly Assembly Assembly Manejado Código MSIL Código MSIL Código MSIL Common Language Runtime Compilador JIT Código Nativo Sistema Operativo (Windows) Lic. Marvin Romero, UGB, San Miguel
  32. 32. Modelo de Ejecución del CLR Desarrollo Instalación Assembly en Instalación la máquina Assembly destino Policy <?xml version="1.0" encoding="utf-8" ?> <configuration> <mscorlib> <security> <policy> <PolicyLevel version="1"> <CodeGroup class="UnionCodeGroup" version="1" PermissionSetName="Nothing" Name="All_Code" Description="Code group grants no permissio ns and forms the root of the code group tree."> <IMembershipCondition clas s="AllMembershipCondition" version="1"/> <CodeGroup class="UnionCodeGroup" version="1" PermissionSetName="FullTrust" Ejecución Compilador Class Assembly JIT Loader Seguridad Loader Garbage Collector .exe Nativo Code Manejador Excepciones + Manager Tabla GC Soporte MultiThread COM Interop Lic. Marvin Romero, UGB, SanEngine Debug Miguel
  33. 33. Application Domains Procesos virtuales dentro del CLR  Se ejecutan dentro de un proceso del Sistema Operativo  Un proceso del sistema operativo puede contener varios AppDomains  Más eficiente que múltiples procesos del sistema operativo  Más eficiente en el intercambio de contexto de ejecución Un Assembly y sus tipos son siempre cargados dentro de un AppDomain Provee una frontera para: Fallos, Tipos, Seguridad Lic. Marvin Romero, UGB, San Miguel
  34. 34. Application Domains - CLR Host CLR Host CLR AppDomain 1 AppDomain N Código Manejado Código Manejado Lic. Marvin Romero, UGB, San Miguel
  35. 35. CTS (Common Type System) Define un conjunto común de “tipos” de datos orientados a objetos Todo lenguaje de programación .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 Lic. Marvin Romero, UGB, San Miguel
  36. 36. La Memoria y los Tipos de Datos El CLR administra dos segmentos de memoria: Stack (Pila) y Heap (Montón) El Stack es liberado automáticamente y el Heap es administrado por el GC (Garbage Collector) Collector) Los tipos VALOR se almacenan en el Stack Los tipos REFERENCIA se almacenan en el Heap Lic. Marvin Romero, UGB, San Miguel
  37. 37. Temas a Tratar Introducción a Microsoft .NET Componentes Fundamentales Funcionamiento Interno del CLR Bibliotecas Principales  Base Class Library (BCL)  ADO.NET  Windows Forms  ASP.NET Lic. Marvin Romero, UGB, San Miguel
  38. 38. Base Class Library System Collections IO Security InteropServices Configuration Net ServiceProcess Remoting Diagnostics Reflection Text Serialization Globalization Resources Threading Lic. Marvin Romero, UGB, San Miguel
  39. 39. Acceso a Datos: ADO.NET System.Data Common SqlClient OracleClient OleDb Odbc SqlTypes System.Xml XSLT Serialization XPath Schema Lic. Marvin Romero, UGB, San Miguel
  40. 40. Acceso a Bases de Datos Relacionales Escenario Conectado Un entorno conectado es uno en el cual los usuarios están constantemente conectados a la fuente de datos Ventajas:  Mayor seguridad  Mejor control de concurrencia  Los datos se mantienen actualizados Desventajas:  Se requiere una conexión constante (consume recursos del servidor)  Escalabilidad Lic. Marvin Romero, UGB, San Miguel
  41. 41. Acceso a Bases de Datos Relacionales Escenario Desconectado 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 están sinconizados  Resolución manual de conflictos Lic. Marvin Romero, UGB, San Miguel
  42. 42. ADO.NET - Arquitectura Lic. Marvin Romero, UGB, San Miguel
  43. 43. ADO.NET- 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..) Lic. Marvin Romero, UGB, San Miguel
  44. 44. ADO.NET- ADO.NET- Clases más comunes Maneja la conección a una base de Base de Datos datos Ejecuta comandos contra una base de datos XxxConnection Intercambia datos entre un dataset y una base de datos XxxCommand Copia local de datos relacionales XxxDataAdapter Provee acceso a datos read-only, Forward-only DataSet XxxDataReader Lic. Marvin Romero, UGB, San Miguel
  45. 45. ADO.NET- ADO.NET- DataSet DataSet DataTable DataColumn DataTable DataRow Relaciones Esquema XML Restricciones Lic. Marvin Romero, UGB, San Miguel
  46. 46. ADO.NET vs. ADO Lic. Marvin Romero, UGB, San Miguel
  47. 47. ADO.NET – Accediendo a datos Conectado En un escenario conectado, los recursos se mantienen en el servidor hasta que la conexión se cierra 1) Abrir Conexión 2) Ejecutar Comando 3) Procesar Filas en DataReader 4) Cerrar Reader 5) Cerrar Conexión Lic. Marvin Romero, UGB, San Miguel
  48. 48. ADO.NET – Accediendo a datos Desconectado En un escenario desconectado, los recursos no se mantienen en el servidor mientras los datos se procesan 1) Abrir Conexión 2) Llenar DataSet mediante DataAdapter 3) Cerrar Conexión 4) Procesar DataSet 5) Abrir Conexión 6) Actualizar fuente de datos mediante DataAdapter 7) Cerrar Conexión Lic. Marvin Romero, UGB, San Miguel
  49. 49. ADO.NET - Soporte a XML <XML> DocumentNavigator XmlTextWriter XmlDocument XmlReader XmlTextReaderUGB,XmlValidatingReader Lic. Marvin Romero, San Miguel XmlNodeReader
  50. 50. Windows Forms System.WinForms Design ComponentModel System.Drawing Drawing2D Printing Imaging Text Lic. Marvin Romero, UGB, San Miguel
  51. 51. Aplicaciones Web: ASP.NET System.Web Services UI Description HtmlControls Discovery WebControls Protocols Caching Security Configuration SessionState Lic. Marvin Romero, UGB, San Miguel

×