SlideShare una empresa de Scribd logo
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

PPT
Dce1 introduccion microsoft.net
PPT
Tecnologia Microsoft .Net - [Asp .Net - Parte 1]
PPT
Net Framework
PPT
Dce1 introduccion microsoft.net
DOCX
Conceptos de programación orientada a objeto
 
PDF
Conceptos Fundamentales de POO
PPTX
Lenguaje Java
PPT
Visual studio.net
Dce1 introduccion microsoft.net
Tecnologia Microsoft .Net - [Asp .Net - Parte 1]
Net Framework
Dce1 introduccion microsoft.net
Conceptos de programación orientada a objeto
 
Conceptos Fundamentales de POO
Lenguaje Java
Visual studio.net

La actualidad más candente (20)

DOCX
michael ascanio
PPTX
Aplicaciones java
PPT
JAVA
PPT
Fundamentos u3 v1
PPT
Clase2
PDF
Desarrollo.de.aplicaciones.con.java
POT
Trabajo java
PPTX
Compiladores (python)
DOCX
Taller no (1)
PDF
Java basico
PDF
Lenguaje java
PDF
Java kaime conpre
PDF
Java kaime con
PPTX
PPT
Curso Java Avanzado 0 Conceptos Basicos
DOCX
Aprendiendo Java SCF
PPT
C1 java introduccion
PPT
C1 java introduccion
PDF
java,conceptos basicos
PDF
Reporte de visual c#(jose gonzalo estrada lopez)
michael ascanio
Aplicaciones java
JAVA
Fundamentos u3 v1
Clase2
Desarrollo.de.aplicaciones.con.java
Trabajo java
Compiladores (python)
Taller no (1)
Java basico
Lenguaje java
Java kaime conpre
Java kaime con
Curso Java Avanzado 0 Conceptos Basicos
Aprendiendo Java SCF
C1 java introduccion
C1 java introduccion
java,conceptos basicos
Reporte de visual c#(jose gonzalo estrada lopez)
Publicidad

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

PDF
Introduccion a Visual Studio .NET
PDF
Sesion 3 . introduccionavisualstudio.net
PDF
Sesion3 introduccionavisualstudio-net-100721180800-phpapp02
PDF
Introduccion a Visual Studio .NET
PDF
Entendiendo el .NET Framework
PPT
Introduccion microsoft.net
PPT
Dce1 introduccion microsoft.net
PPT
Introduccion Microsoft.net
PPTX
Tecnologia Microsoft
PPTX
Tecnologia microsoft .net
PPTX
Tecnologia microsoft .net
PPT
1 introduccion microsoft .net
PPTX
PPTX
Introducción a net
PPT
Introducción-a-Microsoft.NET-[parte2]
PPT
Curso c sharp
PDF
Sesion 2 . tecnologia microsoft-net-marvin romero
PDF
Curso.de.introducción.net.con.visual.basic.2010
PDF
Curso.de.introducción.net.con.visual.basic.2010
Introduccion a Visual Studio .NET
Sesion 3 . introduccionavisualstudio.net
Sesion3 introduccionavisualstudio-net-100721180800-phpapp02
Introduccion a Visual Studio .NET
Entendiendo el .NET Framework
Introduccion microsoft.net
Dce1 introduccion microsoft.net
Introduccion Microsoft.net
Tecnologia Microsoft
Tecnologia microsoft .net
Tecnologia microsoft .net
1 introduccion microsoft .net
Introducción a net
Introducción-a-Microsoft.NET-[parte2]
Curso c sharp
Sesion 2 . tecnologia microsoft-net-marvin romero
Curso.de.introducción.net.con.visual.basic.2010
Curso.de.introducción.net.con.visual.basic.2010
Publicidad

Más de Marvin Romero (20)

PDF
Procesos e Hilos, Sistemas Operativos
PPTX
Gestion Procesos, Sistemas Operativos
PDF
Guía de Ejercicios de Fundamentos de Programación
PDF
Guia de Ejercicios Fundamentos de Programacion
PPS
Todo sobre Sistemas Operativos
PPT
Estructuras (CAPAS) de un sistema operativo
PPTX
Clasificación de los Sistemas Operativos
PPTX
Introducción a los Sistemas Operativos
PPTX
Importancia de los Sistemas Operativos
PPTX
Máquina de von neumann
PDF
Estructuras de Control en Lenguaje C
PDF
Variables, Constantes y Tipos de datos en C
PDF
Importancia de la programación estructurada opt
PDF
Historia y caracteristicas del lenguaje c opt
PDF
Jornalizacion Sistemas Operativos I-2012
PDF
Jornalizacion Fundamentos de Programación I-2012
PDF
Metodologías y Técnicas de Diseño de Software
PDF
Especificación de requerimientos, Ingenieria de Software
PDF
Cocomo ejemplo
PDF
Planificacion y gestion de proyectos primera parte
Procesos e Hilos, Sistemas Operativos
Gestion Procesos, Sistemas Operativos
Guía de Ejercicios de Fundamentos de Programación
Guia de Ejercicios Fundamentos de Programacion
Todo sobre Sistemas Operativos
Estructuras (CAPAS) de un sistema operativo
Clasificación de los Sistemas Operativos
Introducción a los Sistemas Operativos
Importancia de los Sistemas Operativos
Máquina de von neumann
Estructuras de Control en Lenguaje C
Variables, Constantes y Tipos de datos en C
Importancia de la programación estructurada opt
Historia y caracteristicas del lenguaje c opt
Jornalizacion Sistemas Operativos I-2012
Jornalizacion Fundamentos de Programación I-2012
Metodologías y Técnicas de Diseño de Software
Especificación de requerimientos, Ingenieria de Software
Cocomo ejemplo
Planificacion y gestion de proyectos primera parte

Último (20)

PDF
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
PDF
SAP Transportation Management para LSP, TM140 Col18
PPTX
historia_web de la creacion de un navegador_presentacion.pptx
PDF
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
PPTX
IA de Cine - Como MuleSoft y los Agentes estan redefiniendo la realidad
PPTX
REDES INFORMATICAS REDES INFORMATICAS.pptx
PDF
Estrategia de apoyo tecnología grado 9-3
PPTX
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
PPTX
Propuesta BKP servidores con Acronis1.pptx
PDF
Plantilla para Diseño de Narrativas Transmedia.pdf
PPTX
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
PPTX
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
PDF
Calidad desde el Docente y la mejora continua .pdf
DOCX
Zarate Quispe Alex aldayir aplicaciones de internet .docx
PPTX
Presentación PASANTIAS AuditorioOO..pptx
PDF
MÓDULO DE CALOR DE GRADO DE MEDIO DE FORMACIÓN PROFESIONAL
PDF
Estrategia de apoyo tecnología miguel angel solis
PPTX
Presentación de Redes de Datos modelo osi
PPTX
Power Point Nicolás Carrasco (disertación Roblox).pptx
PDF
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
SAP Transportation Management para LSP, TM140 Col18
historia_web de la creacion de un navegador_presentacion.pptx
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
IA de Cine - Como MuleSoft y los Agentes estan redefiniendo la realidad
REDES INFORMATICAS REDES INFORMATICAS.pptx
Estrategia de apoyo tecnología grado 9-3
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
Propuesta BKP servidores con Acronis1.pptx
Plantilla para Diseño de Narrativas Transmedia.pdf
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
Calidad desde el Docente y la mejora continua .pdf
Zarate Quispe Alex aldayir aplicaciones de internet .docx
Presentación PASANTIAS AuditorioOO..pptx
MÓDULO DE CALOR DE GRADO DE MEDIO DE FORMACIÓN PROFESIONAL
Estrategia de apoyo tecnología miguel angel solis
Presentación de Redes de Datos modelo osi
Power Point Nicolás Carrasco (disertación Roblox).pptx
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.

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