SlideShare una empresa de Scribd logo
1 de 51
Descargar para leer sin conexión
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
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
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
Paradigmas de Programación
Funcionalidad




                        Windows
                          3.0



                                                   MFC
                                             COM
                       Win16             Win32
                1980              1990              2000




Lic. Marvin Romero, UGB, San Miguel
¿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
¿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
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
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
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
.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
¿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
¿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
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
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
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
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
           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
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
CLR – Proceso de Compilación



      Código                               Assembly
      Fuente                                (MSIL)
                              Compilador

   Cualquier                                Biblioteca
   lenguaje .NET                           o Ejecutable




Lic. Marvin Romero, UGB, San Miguel
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
    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
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
.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
.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
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
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
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
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
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
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
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
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
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
Application Domains - CLR Host

           CLR Host
           CLR
              AppDomain 1             AppDomain N

                 Código Manejado       Código Manejado




Lic. Marvin Romero, UGB, San Miguel
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
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
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
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
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
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
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
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.Data.OleDb)
      ODBC (System.Data.Odbc)
      Oracle (System.Data.OracleClient)
      Otros provistos por terceros (MySQL,
      PostgreSQL, DB2, etc..)


Lic. Marvin Romero, UGB, San Miguel
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
ADO.NET-
ADO.NET- DataSet

        DataSet                        DataTable


                                      DataColumn

        DataTable
                                        DataRow


     Relaciones
   Esquema XML                        Restricciones


Lic. Marvin Romero, UGB, San Miguel
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 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
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
ADO.NET - Soporte a XML

                       <XML>           DocumentNavigator

  XmlTextWriter


                                       XmlDocument
                     XmlReader




XmlTextReaderUGB,XmlValidatingReader
Lic. Marvin Romero, San Miguel           XmlNodeReader
Windows Forms

      System.WinForms
          Design                      ComponentModel



      System.Drawing
          Drawing2D                   Printing
          Imaging                     Text

Lic. Marvin Romero, UGB, San Miguel
Aplicaciones Web: ASP.NET

    System.Web
        Services                      UI
         Description                  HtmlControls
         Discovery                    WebControls
         Protocols
        Caching                       Security
        Configuration                 SessionState

Lic. Marvin Romero, UGB, San Miguel

Más contenido relacionado

La actualidad más candente

Aplicaciones java
Aplicaciones javaAplicaciones java
Aplicaciones javaArnel Gomez
 
Fundamentos u3 v1
Fundamentos u3 v1Fundamentos u3 v1
Fundamentos u3 v1Lubas Pc
 
Clase2
Clase2Clase2
Clase2rilara
 
Desarrollo.de.aplicaciones.con.java
Desarrollo.de.aplicaciones.con.javaDesarrollo.de.aplicaciones.con.java
Desarrollo.de.aplicaciones.con.javaSantiago Sora
 
Trabajo java
Trabajo javaTrabajo java
Trabajo javaamec0612
 
Compiladores (python)
Compiladores (python)Compiladores (python)
Compiladores (python)Sertepeca
 
Java kaime conpre
Java kaime conpreJava kaime conpre
Java kaime conprejtk1
 
Java kaime con
Java kaime conJava kaime con
Java kaime conjtk1
 
Curso Java Avanzado 0 Conceptos Basicos
Curso Java Avanzado   0 Conceptos BasicosCurso Java Avanzado   0 Conceptos Basicos
Curso Java Avanzado 0 Conceptos BasicosEmilio Aviles Avila
 
Aprendiendo Java SCF
Aprendiendo Java SCFAprendiendo Java SCF
Aprendiendo Java SCFmikaelsorai
 
java,conceptos basicos
java,conceptos basicosjava,conceptos basicos
java,conceptos basicosMariano Galvez
 
Reporte de visual c#(jose gonzalo estrada lopez)
Reporte de visual c#(jose gonzalo estrada lopez)Reporte de visual c#(jose gonzalo estrada lopez)
Reporte de visual c#(jose gonzalo estrada lopez)josegonzalo130
 

La actualidad más candente (20)

michael ascanio
michael ascaniomichael ascanio
michael ascanio
 
Aplicaciones java
Aplicaciones javaAplicaciones java
Aplicaciones java
 
JAVA
JAVAJAVA
JAVA
 
Fundamentos u3 v1
Fundamentos u3 v1Fundamentos u3 v1
Fundamentos u3 v1
 
Clase2
Clase2Clase2
Clase2
 
Desarrollo.de.aplicaciones.con.java
Desarrollo.de.aplicaciones.con.javaDesarrollo.de.aplicaciones.con.java
Desarrollo.de.aplicaciones.con.java
 
Trabajo java
Trabajo javaTrabajo java
Trabajo java
 
Compiladores (python)
Compiladores (python)Compiladores (python)
Compiladores (python)
 
Taller no (1)
Taller no (1)Taller no (1)
Taller no (1)
 
Java basico
Java basicoJava basico
Java basico
 
Lenguaje java
Lenguaje javaLenguaje java
Lenguaje java
 
Java kaime conpre
Java kaime conpreJava kaime conpre
Java kaime conpre
 
Java kaime con
Java kaime conJava kaime con
Java kaime con
 
Java de erlin
Java de erlinJava de erlin
Java de erlin
 
Curso Java Avanzado 0 Conceptos Basicos
Curso Java Avanzado   0 Conceptos BasicosCurso Java Avanzado   0 Conceptos Basicos
Curso Java Avanzado 0 Conceptos Basicos
 
Aprendiendo Java SCF
Aprendiendo Java SCFAprendiendo Java SCF
Aprendiendo Java SCF
 
C1 java introduccion
C1 java introduccionC1 java introduccion
C1 java introduccion
 
C1 java introduccion
C1 java introduccionC1 java introduccion
C1 java introduccion
 
java,conceptos basicos
java,conceptos basicosjava,conceptos basicos
java,conceptos basicos
 
Reporte de visual c#(jose gonzalo estrada lopez)
Reporte de visual c#(jose gonzalo estrada lopez)Reporte de visual c#(jose gonzalo estrada lopez)
Reporte de visual c#(jose gonzalo estrada lopez)
 

Similar a Introduccion a visual studio.Net Part 2

Similar a Introduccion a visual studio.Net Part 2 (20)

Tecnologia microsoft .net
Tecnologia microsoft .netTecnologia microsoft .net
Tecnologia microsoft .net
 
Tecnologia microsoft .net
Tecnologia microsoft .netTecnologia microsoft .net
Tecnologia microsoft .net
 
Tecnologia Microsoft
Tecnologia  MicrosoftTecnologia  Microsoft
Tecnologia Microsoft
 
Introduccion Microsoft.net
Introduccion Microsoft.netIntroduccion Microsoft.net
Introduccion Microsoft.net
 
Introduccion microsoft.net
Introduccion microsoft.netIntroduccion microsoft.net
Introduccion microsoft.net
 
Dce1 introduccion microsoft.net
Dce1 introduccion microsoft.netDce1 introduccion microsoft.net
Dce1 introduccion microsoft.net
 
Entendiendo el .NET Framework
Entendiendo el .NET FrameworkEntendiendo el .NET Framework
Entendiendo el .NET Framework
 
1 Plataforma .Net
1 Plataforma .Net1 Plataforma .Net
1 Plataforma .Net
 
.Net Framework Introduction
.Net Framework Introduction.Net Framework Introduction
.Net Framework Introduction
 
Introduccion net
Introduccion netIntroduccion net
Introduccion net
 
Programación.NET
Programación.NETProgramación.NET
Programación.NET
 
Introduccion a Visual Studio .NET
Introduccion a Visual Studio .NETIntroduccion a Visual Studio .NET
Introduccion a Visual Studio .NET
 
Introducción a net
Introducción a netIntroducción a net
Introducción a net
 
Introducción a net
Introducción a netIntroducción a net
Introducción a net
 
Clase iii
Clase iiiClase iii
Clase iii
 
Introduccion.net
Introduccion.net Introduccion.net
Introduccion.net
 
Introducción a la Plataforma .NET
Introducción a la Plataforma .NETIntroducción a la Plataforma .NET
Introducción a la Plataforma .NET
 
1 introduccion microsoft .net
1 introduccion microsoft .net1 introduccion microsoft .net
1 introduccion microsoft .net
 
Republica bolivariana de venezuela 2
Republica bolivariana de venezuela 2Republica bolivariana de venezuela 2
Republica bolivariana de venezuela 2
 
Presentacion de .net
Presentacion de .netPresentacion de .net
Presentacion de .net
 

Más de Marvin Romero

Procesos e Hilos, Sistemas Operativos
Procesos e Hilos, Sistemas OperativosProcesos e Hilos, Sistemas Operativos
Procesos e Hilos, Sistemas OperativosMarvin Romero
 
Gestion Procesos, Sistemas Operativos
Gestion Procesos, Sistemas OperativosGestion Procesos, Sistemas Operativos
Gestion Procesos, Sistemas OperativosMarvin Romero
 
Guía de Ejercicios de Fundamentos de Programación
Guía de Ejercicios de Fundamentos de ProgramaciónGuía de Ejercicios de Fundamentos de Programación
Guía de Ejercicios de Fundamentos de ProgramaciónMarvin Romero
 
Guia de Ejercicios Fundamentos de Programacion
Guia de Ejercicios Fundamentos de ProgramacionGuia de Ejercicios Fundamentos de Programacion
Guia de Ejercicios Fundamentos de ProgramacionMarvin Romero
 
Todo sobre Sistemas Operativos
Todo sobre Sistemas OperativosTodo sobre Sistemas Operativos
Todo sobre Sistemas OperativosMarvin Romero
 
Estructuras (CAPAS) de un sistema operativo
Estructuras (CAPAS) de un sistema operativoEstructuras (CAPAS) de un sistema operativo
Estructuras (CAPAS) de un sistema operativoMarvin Romero
 
Clasificación de los Sistemas Operativos
Clasificación de los Sistemas OperativosClasificación de los Sistemas Operativos
Clasificación de los Sistemas OperativosMarvin Romero
 
Introducción a los Sistemas Operativos
Introducción a los Sistemas OperativosIntroducción a los Sistemas Operativos
Introducción a los Sistemas OperativosMarvin Romero
 
Importancia de los Sistemas Operativos
Importancia de los Sistemas OperativosImportancia de los Sistemas Operativos
Importancia de los Sistemas OperativosMarvin Romero
 
Máquina de von neumann
Máquina de von neumannMáquina de von neumann
Máquina de von neumannMarvin Romero
 
Estructuras de Control en Lenguaje C
Estructuras de Control en Lenguaje CEstructuras de Control en Lenguaje C
Estructuras de Control en Lenguaje CMarvin Romero
 
Variables, Constantes y Tipos de datos en C
Variables, Constantes y Tipos de datos en CVariables, Constantes y Tipos de datos en C
Variables, Constantes y Tipos de datos en CMarvin Romero
 
Importancia de la programación estructurada opt
Importancia de la programación estructurada optImportancia de la programación estructurada opt
Importancia de la programación estructurada optMarvin Romero
 
Historia y caracteristicas del lenguaje c opt
Historia y caracteristicas del lenguaje c optHistoria y caracteristicas del lenguaje c opt
Historia y caracteristicas del lenguaje c optMarvin Romero
 
Jornalizacion Sistemas Operativos I-2012
Jornalizacion Sistemas Operativos I-2012Jornalizacion Sistemas Operativos I-2012
Jornalizacion Sistemas Operativos I-2012Marvin Romero
 
Jornalizacion Fundamentos de Programación I-2012
Jornalizacion Fundamentos de Programación I-2012Jornalizacion Fundamentos de Programación I-2012
Jornalizacion Fundamentos de Programación I-2012Marvin Romero
 
Metodologías y Técnicas de Diseño de Software
Metodologías y Técnicas de Diseño de SoftwareMetodologías y Técnicas de Diseño de Software
Metodologías y Técnicas de Diseño de SoftwareMarvin Romero
 
Especificación de requerimientos, Ingenieria de Software
Especificación de requerimientos, Ingenieria de SoftwareEspecificación de requerimientos, Ingenieria de Software
Especificación de requerimientos, Ingenieria de SoftwareMarvin Romero
 
Planificacion y gestion de proyectos primera parte
Planificacion y gestion de proyectos primera partePlanificacion y gestion de proyectos primera parte
Planificacion y gestion de proyectos primera parteMarvin Romero
 

Más de Marvin Romero (20)

Procesos e Hilos, Sistemas Operativos
Procesos e Hilos, Sistemas OperativosProcesos e Hilos, Sistemas Operativos
Procesos e Hilos, Sistemas Operativos
 
Gestion Procesos, Sistemas Operativos
Gestion Procesos, Sistemas OperativosGestion Procesos, Sistemas Operativos
Gestion Procesos, Sistemas Operativos
 
Guía de Ejercicios de Fundamentos de Programación
Guía de Ejercicios de Fundamentos de ProgramaciónGuía de Ejercicios de Fundamentos de Programación
Guía de Ejercicios de Fundamentos de Programación
 
Guia de Ejercicios Fundamentos de Programacion
Guia de Ejercicios Fundamentos de ProgramacionGuia de Ejercicios Fundamentos de Programacion
Guia de Ejercicios Fundamentos de Programacion
 
Todo sobre Sistemas Operativos
Todo sobre Sistemas OperativosTodo sobre Sistemas Operativos
Todo sobre Sistemas Operativos
 
Estructuras (CAPAS) de un sistema operativo
Estructuras (CAPAS) de un sistema operativoEstructuras (CAPAS) de un sistema operativo
Estructuras (CAPAS) de un sistema operativo
 
Clasificación de los Sistemas Operativos
Clasificación de los Sistemas OperativosClasificación de los Sistemas Operativos
Clasificación de los Sistemas Operativos
 
Introducción a los Sistemas Operativos
Introducción a los Sistemas OperativosIntroducción a los Sistemas Operativos
Introducción a los Sistemas Operativos
 
Importancia de los Sistemas Operativos
Importancia de los Sistemas OperativosImportancia de los Sistemas Operativos
Importancia de los Sistemas Operativos
 
Máquina de von neumann
Máquina de von neumannMáquina de von neumann
Máquina de von neumann
 
Estructuras de Control en Lenguaje C
Estructuras de Control en Lenguaje CEstructuras de Control en Lenguaje C
Estructuras de Control en Lenguaje C
 
Variables, Constantes y Tipos de datos en C
Variables, Constantes y Tipos de datos en CVariables, Constantes y Tipos de datos en C
Variables, Constantes y Tipos de datos en C
 
Importancia de la programación estructurada opt
Importancia de la programación estructurada optImportancia de la programación estructurada opt
Importancia de la programación estructurada opt
 
Historia y caracteristicas del lenguaje c opt
Historia y caracteristicas del lenguaje c optHistoria y caracteristicas del lenguaje c opt
Historia y caracteristicas del lenguaje c opt
 
Jornalizacion Sistemas Operativos I-2012
Jornalizacion Sistemas Operativos I-2012Jornalizacion Sistemas Operativos I-2012
Jornalizacion Sistemas Operativos I-2012
 
Jornalizacion Fundamentos de Programación I-2012
Jornalizacion Fundamentos de Programación I-2012Jornalizacion Fundamentos de Programación I-2012
Jornalizacion Fundamentos de Programación I-2012
 
Metodologías y Técnicas de Diseño de Software
Metodologías y Técnicas de Diseño de SoftwareMetodologías y Técnicas de Diseño de Software
Metodologías y Técnicas de Diseño de Software
 
Especificación de requerimientos, Ingenieria de Software
Especificación de requerimientos, Ingenieria de SoftwareEspecificación de requerimientos, Ingenieria de Software
Especificación de requerimientos, Ingenieria de Software
 
Cocomo ejemplo
Cocomo ejemploCocomo ejemplo
Cocomo ejemplo
 
Planificacion y gestion de proyectos primera parte
Planificacion y gestion de proyectos primera partePlanificacion y gestion de proyectos primera parte
Planificacion y gestion de proyectos primera parte
 

Último

Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 

Último (16)

Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 

Introduccion a visual studio.Net Part 2

  • 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. 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. 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. Paradigmas de Programación Funcionalidad Windows 3.0 MFC COM Win16 Win32 1980 1990 2000 Lic. Marvin Romero, UGB, San Miguel
  • 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. ¿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. 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. 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. 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. .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. ¿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. ¿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. 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. 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. 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. CLR - Arquitecturas de Ejecución de Aplicaciones Lic. Marvin Romero, UGB, San Miguel
  • 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. 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. CLR – Proceso de Compilación Código Assembly Fuente (MSIL) Compilador Cualquier Biblioteca lenguaje .NET o Ejecutable Lic. Marvin Romero, UGB, San Miguel
  • 20. CLR - MSIL Lic. Marvin Romero, UGB, San Miguel
  • 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. 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. .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. .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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Application Domains - CLR Host CLR Host CLR AppDomain 1 AppDomain N Código Manejado Código Manejado Lic. Marvin Romero, UGB, San Miguel
  • 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. 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. 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. 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. 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. 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. 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. ADO.NET - Arquitectura Lic. Marvin Romero, UGB, San Miguel
  • 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. 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. ADO.NET- ADO.NET- DataSet DataSet DataTable DataColumn DataTable DataRow Relaciones Esquema XML Restricciones Lic. Marvin Romero, UGB, San Miguel
  • 46. ADO.NET vs. ADO Lic. Marvin Romero, UGB, San Miguel
  • 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. 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. ADO.NET - Soporte a XML <XML> DocumentNavigator XmlTextWriter XmlDocument XmlReader XmlTextReaderUGB,XmlValidatingReader Lic. Marvin Romero, San Miguel XmlNodeReader
  • 50. Windows Forms System.WinForms Design ComponentModel System.Drawing Drawing2D Printing Imaging Text Lic. Marvin Romero, UGB, San Miguel
  • 51. Aplicaciones Web: ASP.NET System.Web Services UI Description HtmlControls Discovery WebControls Protocols Caching Security Configuration SessionState Lic. Marvin Romero, UGB, San Miguel