SlideShare una empresa de Scribd logo
1 de 66
Tecnología Microsoft.Net Bernardo Antonio Robelo Jirón Ingeniero en Sistemas
Antes de comenzar Presentación. Ocupación Actual. Experiencia con el uso de .NET y VB.NET Expectativas. Metodología del curso.
Objetivos del curso Tecnología .NET Net Framework 3.5 ASP.NET ADO.NET LINQ WCF Y WPF SilverLight 2.0 Lenguaje Visual Basic .NET
Agenda del Curso Introducción a .NET ( Estructuras del Lenguaje) SQL Server ( Transact – SQL ) Acceso a Datos ( ADO.NET) Acceso a Datos  (LINQ) ControlesAvanzados WPF Crystal Report ASP.NET
Elementos Adicionales XHTML JavaScript CSS XML XAML
Tecnología Microsoft .NET
Objetivo Presentar una introducción a la plataforma de desarrollo Microsoft .NET, describiendo sus principios básicos de funcionamiento, su arquitectura de componentes y sus principales bibliotecas reutilizables, mostrando además las novedades introducidas en la última versión de la misma.
Servicios Componentes Funcionalidad Windows3.0 MFC APIs COM Win32 Win16 1980 1990 2000 Paradigmas de Programación
Que tal un poquito de historia?
Primera GeneraciónTodos con las Mainframes Programación orientada a uso de terminales tontas, con cerebros un poco “más inteligentes”. Integrar aplicaciones era MUY difícil (procesos batch, importación-exportación, etc. etc.). Programación en lenguajes de “Primera” (Generación). COBOL, Fortran, Pascal, C, etc. No cualquiera podía escribir aplicaciones. 	No cualquiera tenía acceso a 	poder de cómputo. “Al final de los tiempos, 	solo sobrevivirán las 	cucarachas y COBOL” 	¿Será cierto?
Segunda Generación”Aquí se rompió una taza...” Después de años de pensar de manera centralizada, a “alguien” se le ocurrió dotar de poder para ser independientes a esas terminales tontas. Ahora ya el uso de cómputo no era privilegio de unos pocos. Compartiendo el poder de los equipos de computo con el poder de los equipos de escritorio, 	se tenían aplicaciones más potentes. Se podía tener aplicaciones en una sola 	computadora (stand alone). Se hizo extensivo el uso de 	lenguajes tipo Clipper, FoxPro COBOL seguía ¡vivito y coleando!
Tercera GeneraciónGeneración Internet... ¡Todos a la Red! Al surgir el “boom” de Internet, se sigue mezclando el poder de las maquinas de escritorio con el uso de servidores potentes para darles servicio. Aparecen nuevos lenguajes: Java,  	Visual Basic, etc. Aunque ya no es protagonista, 	COBOL continúa entre nosotros. En esta generación es la actual.
Que es .NET?
Tecnología .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
¿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) Visual Studio 2005. Visual Studio 2008. Visual Studio 2010. Guías de Arquitectura La evolución de la plataforma COM
Plataforma .NET
Experiencias Herramientas Clientes Servidores Servicios ¿Cuales son los Componentes de .NET? Experiencias .NET Clientes .NET Servicios .NET Servidores .NET Herramientas .NET
Características de .NET Plataforma de ejecución intermedia 100% Orientada a Objetos Multilenguaje Plataforma Empresarial de Misión Crítica 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
Aplicación .NET Entorno de Desarrollo Lenguajes de Programación Librerías de Funcionalidad Entorno de Ejecución Sistema Operativo (Familia Windows) Arquitectura .Net Microsoft .NET
.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 .NET: Uno independiente del lenguaje (VS.NET)
.NET Framework
Que es un Framework?
Un Framework es, básicamente, un conjunto de clases que interactúan en forma cooperativa para dar solución a una determinada necesidad.  .NET FrameworkQue es un Framework?
.NET FrameworkQue es un Framework? ¿Quedo claro?
.NET FrameworkQue es un Framework? Suponga que usted necesita construir un edificio…
.NET FrameworkQue es un Framework? Imagine que a usted le tocara construir cada una de las partes…
.NET FrameworkQue es un Framework? ¿Cuánto tiempo cree que tardaría en terminar?
Lo mismo sucede con el software, si cada vez tuviéramos que construir todos los componentes que lo conforman, tardaríamos mucho más tiempo… .NET FrameworkQue es un Framework?
¿Qué es un Framework? ,[object Object]
Puede estar compuesto por
Librerías de clases
Documentación
Ayuda
Ejemplos
Tutoriales
Etc.,[object Object]
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 RedistributablePackage .NET Framework SDK .NET Compact Framework  Está instalado por defecto en Windows 2003 Server o superior
¿Dónde instalar el .NET Framework? Servidor Cliente ü* ü Aplicación de  Escritorio ü Aplicación Web ü* ü Aplicación de Consola .NET Compact Framework Aplicación Móvil * Sólo si la aplicación es distribuida
Línea del tiempo de .NET Visual Studio 6.0 Visual Basic VBA Visual FoxPro VBScript C++ J++ JScript ASP Visual Studio .NET 2003 .NET Framework 1.1 .NET Compact Framework J# Visual Studio 2008 .NET Framework 3.0 – 3.5 .NET Compact Framework 2000         2001         2002         2003         2004    2005      2006 y más   2008      2010 Visual Studio .NET 2002 .NET Framework 1.0 Visual Basic .NET C# Visual Studio 2005 .NET Framework 2.0 .NET Compact Framework 2.0 Visual Studio 2010 .NET Framework 4.0
Evolucion del .NET Framework
Arquitectura del .NET Framework VB C++ C# J# … Common Language Specification ASP.NET Windows Forms .NET Framework SDK .NET Framework  Class Library .NET Framework Redistributable ADO.NET y XML Base Class Library Common Language Runtime Windows COM+ Services
Quees el .NET Framework 3.5 ?
2.0 .NET Framework 2.0 VB C# J# IronPhyton Ruby … 3.0 .NET Framework 3.0 CLS y CTS ASP.NET WPF WCS WF & WCF  Enhancements Dynamic Data ADO.NET LINQ Additional  Enhancements Entity  Framework WCF WF Add-in  Framework WindowsForms MVC Data Services Biblioteca de Clases Common Language Runtime (CLR) Windows 7, Windows Vista,Windows XP,Windows Server 2008 Microsoft .NET Framework 3.5
Common Language Runtime
CLR – Common Languaje RuntimeArquitecturas de Ejecución de Aplicaciones
CLR – Common Language Runtime El CLR es el motor de ejecución (runtime) de .NET Características Compilación Just-In-Time (JIT) Gestión automática de memoria (Garbage Collector) Gestión de errores consistente (Excepciones) Ejecución basada en componentes (Assemblies) Gestión de Seguridad Multithreading
CLR – Componentes Internos
Assembly  (MSIL) Compilador Bibliotecao Ejecutable CLR – Proceso de Compilación CódigoFuente Cualquier lenguaje .NET
Demo Primer vistazo a .Net Desarrollar nuestra aplicación “HelloWorld”
Microsoft Intermediately Language
Descripción de Tipos Clases Clases Base Interfaces Implementadas Atributos de las Clases Métodos de las Clases MiBiblioteca.DLL Metadata Manifiesto del Assembly Código CompiladoMSIL Nombre Versión Cultura Recursos Otros Assemblies Permisos de Seguridad Tipos Externos Assembly
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
.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
.NET Framework Class Library 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 InteropServices Configuration Net ServiceProcess Remoting Diagnostics Reflection Text Serialization Globalization Resources Threading
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
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# Visual Basic.NET J# C++.NET Perl Java JavaScript PHP Delphi Python Pascal Haskell RPG LISP Prolog Mondrian Eiffel ML Oberon Smalltalk Scheme Cobol Fortran Mercury Objective Caml APL
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 INDEPENDIENTES del lenguaje que elija
Modelo de Ejecución del CLR Código Fuente VB.NET C++.NET C# Componente No Manejado Compilador  VB.NET Compilador C# Compilador C++ .NET Código  Manejado Assembly Código MSIL Assembly Código MSIL Assembly Código MSIL Common Language Runtime Compilador JIT Código Nativo Sistema Operativo (Windows)
Desarrollo Assembly en  la máquina destino Instalación Assembly Class Loader Assembly Loader Compilador JIT Seguridad Garbage Collector .exe Nativo + Tabla GC  Code Manager Manejador Excepciones Soporte MultiThread COM Interop Debug Engine Instalación 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 permissions and forms the root of the code group tree.">                   <IMembershipCondition class="AllMembershipCondition"                                         version="1"/>                   <CodeGroup class="UnionCodeGroup"                              version="1"                              PermissionSetName="FullTrust" Ejecución Modelo de Ejecución del CLR
Ventajas de .NET Unifica los modelos de programación Simplifica aún más el desarrollo Provee un Entorno de Ejecución robusto y seguro Es independiente del lenguaje de programación Interoperabilidad con código existente Simplifica la instalación y administración de las aplicaciones Es Extensible
API consistente mas allá del lenguaje o del modelo de programación .NET Framework Basado en Servidor, UI Embebido en el código OOP,  Potencia, Acceso a bajo nivel Desarrollo Rapido, Componentes, Event Driven ASP MFC/ATL (C++) Visual Basic Windows API Unificando los Modelos
Desarrollo Simplificado Alto nivel de abstracción No mas accesos COM a bajo nivel Orientado a Objetos desde el Núcleo Sistema de tipos unificado (CTS) Todo es un objeto, no mas variants Componentes de Software Propiedades, métodos, eventos, y atributos incluidos en la construcción de clases API organizada en forma Jerárquica
Entorno de Ejecución Robusto y Seguro Gestión automática de la memoria Todos los objetos son administrados por el Garbage Collector Manejo de Excepciones Fuertemente tipado Solo casteos seguros Inicialización de variables obligatoria Instalación con Cero Impacto No requiere registración en la Registry
Independencia del lenguaje Libertad en la elección del lenguaje Todas las facilidades de la plataforma .NET están disponibles a todos los lenguajes de programación .NET Los componentes de una aplicación .NET pueden ser escritos en distintos lenguajes de alto nivel compatibles con la plataforma Herramientas compartidas Debuggers, profilers, analizadores de código, y otras trabajan para todos los lenguajes
Instalación y Administración más simples Unidades de Ensamblado (“Assemblies”) Mínima unidad de distribución, versionado y administración de seguridad de aplicaciones .NET Auto-descriptas a través de un manifiesto (“manifest”) Instalaciones Cero-impacto Aplicaciones y componentes pueden ser compartidas o privadas Versioning Múltiples versiones del mismo componente pueden co-existir, aún en el mismo proceso

Más contenido relacionado

La actualidad más candente (17)

Framework .NET 3.5 01 Conceptos básicos y entorno
Framework .NET 3.5 01 Conceptos básicos y entornoFramework .NET 3.5 01 Conceptos básicos y entorno
Framework .NET 3.5 01 Conceptos básicos y entorno
 
1 Plataforma .Net
1 Plataforma .Net1 Plataforma .Net
1 Plataforma .Net
 
.Net Framework Introduction
.Net Framework Introduction.Net Framework Introduction
.Net Framework Introduction
 
Entendiendo el .NET Framework
Entendiendo el .NET FrameworkEntendiendo el .NET Framework
Entendiendo el .NET Framework
 
Dce1 introduccion microsoft.net
Dce1 introduccion microsoft.netDce1 introduccion microsoft.net
Dce1 introduccion microsoft.net
 
michael ascanio
michael ascaniomichael ascanio
michael ascanio
 
FRAMEWORK .NET
FRAMEWORK .NETFRAMEWORK .NET
FRAMEWORK .NET
 
Curso.de.introducción.net.con.visual.basic.2010
Curso.de.introducción.net.con.visual.basic.2010Curso.de.introducción.net.con.visual.basic.2010
Curso.de.introducción.net.con.visual.basic.2010
 
Introducción a net
Introducción a netIntroducción a net
Introducción a net
 
Como funciona Visual Studio
Como funciona Visual StudioComo funciona Visual Studio
Como funciona Visual Studio
 
1 introduccion.net
1 introduccion.net1 introduccion.net
1 introduccion.net
 
1 introduccion.net
1 introduccion.net1 introduccion.net
1 introduccion.net
 
1 introduccion.net
1 introduccion.net1 introduccion.net
1 introduccion.net
 
Introduccion net
Introduccion netIntroduccion net
Introduccion net
 
Net vs java
Net vs javaNet vs java
Net vs java
 
Microsoft .NET Propuesta
Microsoft .NET PropuestaMicrosoft .NET Propuesta
Microsoft .NET Propuesta
 
Sesion 01 - Introduccion a Net Framework
Sesion 01 - Introduccion a Net FrameworkSesion 01 - Introduccion a Net Framework
Sesion 01 - Introduccion a Net Framework
 

Destacado

DISEÑO DE TARJETAS DE PRESENTACIÓN - PERÚ
DISEÑO DE TARJETAS DE PRESENTACIÓN - PERÚDISEÑO DE TARJETAS DE PRESENTACIÓN - PERÚ
DISEÑO DE TARJETAS DE PRESENTACIÓN - PERÚGRAPHIC DESIGN PERÚ
 
Feliz cumpleaños tatito
Feliz cumpleaños tatitoFeliz cumpleaños tatito
Feliz cumpleaños tatitoandre77777
 
Tendencias en Ventas - Heriberto Lara
Tendencias en Ventas - Heriberto LaraTendencias en Ventas - Heriberto Lara
Tendencias en Ventas - Heriberto LaraHermes Ruiz
 
Practica 2 roxanna cuellar
Practica 2 roxanna cuellarPractica 2 roxanna cuellar
Practica 2 roxanna cuellarPAOLA CUELLAR
 
Les Français et le transhumanisme, entre peurs et opportunités
Les Français et le transhumanisme, entre peurs et opportunitésLes Français et le transhumanisme, entre peurs et opportunités
Les Français et le transhumanisme, entre peurs et opportunitésSébastien Dubois
 
Desierto egipcio
Desierto egipcioDesierto egipcio
Desierto egipcioPlof
 
Conventions de l'article 200 du csc
Conventions de l'article 200 du cscConventions de l'article 200 du csc
Conventions de l'article 200 du cscFacebook
 
Tribus 2.0 en Aldeas 1.0: Estamos preparados para el reto???
Tribus 2.0 en Aldeas 1.0: Estamos preparados para el reto???Tribus 2.0 en Aldeas 1.0: Estamos preparados para el reto???
Tribus 2.0 en Aldeas 1.0: Estamos preparados para el reto???Hermes Ruiz
 
La gestion des ressources humaines dans la mise en place des DRG (Hervé Guill...
La gestion des ressources humaines dans la mise en place des DRG (Hervé Guill...La gestion des ressources humaines dans la mise en place des DRG (Hervé Guill...
La gestion des ressources humaines dans la mise en place des DRG (Hervé Guill...Paianet - Connecting Healthcare
 
e-Academy I: du Lead au Client:Augmenter le taux de conversion
e-Academy I: du Lead au Client:Augmenter le taux de conversione-Academy I: du Lead au Client:Augmenter le taux de conversion
e-Academy I: du Lead au Client:Augmenter le taux de conversionPaul Leysen
 
Le référentiel grammatical
Le référentiel grammaticalLe référentiel grammatical
Le référentiel grammaticalivan7475
 
Tourisme Responsable Le Point 8avril2010
Tourisme Responsable Le Point 8avril2010Tourisme Responsable Le Point 8avril2010
Tourisme Responsable Le Point 8avril2010Leservoisier
 

Destacado (20)

Normas de etiqueta en internet
Normas de etiqueta en internetNormas de etiqueta en internet
Normas de etiqueta en internet
 
Tarjeta de presentacion
Tarjeta de presentacionTarjeta de presentacion
Tarjeta de presentacion
 
DISEÑO DE TARJETAS DE PRESENTACIÓN - PERÚ
DISEÑO DE TARJETAS DE PRESENTACIÓN - PERÚDISEÑO DE TARJETAS DE PRESENTACIÓN - PERÚ
DISEÑO DE TARJETAS DE PRESENTACIÓN - PERÚ
 
Feliz cumpleaños tatito
Feliz cumpleaños tatitoFeliz cumpleaños tatito
Feliz cumpleaños tatito
 
Cobertura MóVil
Cobertura  MóVilCobertura  MóVil
Cobertura MóVil
 
Tendencias en Ventas - Heriberto Lara
Tendencias en Ventas - Heriberto LaraTendencias en Ventas - Heriberto Lara
Tendencias en Ventas - Heriberto Lara
 
Guía 4 optativa
Guía 4 optativaGuía 4 optativa
Guía 4 optativa
 
Practica 2 roxanna cuellar
Practica 2 roxanna cuellarPractica 2 roxanna cuellar
Practica 2 roxanna cuellar
 
Les Français et le transhumanisme, entre peurs et opportunités
Les Français et le transhumanisme, entre peurs et opportunitésLes Français et le transhumanisme, entre peurs et opportunités
Les Français et le transhumanisme, entre peurs et opportunités
 
Desierto egipcio
Desierto egipcioDesierto egipcio
Desierto egipcio
 
Conventions de l'article 200 du csc
Conventions de l'article 200 du cscConventions de l'article 200 du csc
Conventions de l'article 200 du csc
 
Ciudad medieval 2
Ciudad medieval 2Ciudad medieval 2
Ciudad medieval 2
 
Guía 2 optativa
Guía 2 optativaGuía 2 optativa
Guía 2 optativa
 
Tribus 2.0 en Aldeas 1.0: Estamos preparados para el reto???
Tribus 2.0 en Aldeas 1.0: Estamos preparados para el reto???Tribus 2.0 en Aldeas 1.0: Estamos preparados para el reto???
Tribus 2.0 en Aldeas 1.0: Estamos preparados para el reto???
 
La gestion des ressources humaines dans la mise en place des DRG (Hervé Guill...
La gestion des ressources humaines dans la mise en place des DRG (Hervé Guill...La gestion des ressources humaines dans la mise en place des DRG (Hervé Guill...
La gestion des ressources humaines dans la mise en place des DRG (Hervé Guill...
 
e-Academy I: du Lead au Client:Augmenter le taux de conversion
e-Academy I: du Lead au Client:Augmenter le taux de conversione-Academy I: du Lead au Client:Augmenter le taux de conversion
e-Academy I: du Lead au Client:Augmenter le taux de conversion
 
Ds 1508
Ds 1508Ds 1508
Ds 1508
 
Le référentiel grammatical
Le référentiel grammaticalLe référentiel grammatical
Le référentiel grammatical
 
Sfsic14 140605-bourret
Sfsic14 140605-bourretSfsic14 140605-bourret
Sfsic14 140605-bourret
 
Tourisme Responsable Le Point 8avril2010
Tourisme Responsable Le Point 8avril2010Tourisme Responsable Le Point 8avril2010
Tourisme Responsable Le Point 8avril2010
 

Similar a Tecnologia microsoft .net

Introducción a net
Introducción a netIntroducción a net
Introducción a netinfobran
 
Programacion
ProgramacionProgramacion
Programaciondanielrsd
 
Republica bolivariana de venezuela 2
Republica bolivariana de venezuela 2Republica bolivariana de venezuela 2
Republica bolivariana de venezuela 2cristian Salazar L
 
Curso.de.introducción.net.con.visual.basic.2010
Curso.de.introducción.net.con.visual.basic.2010Curso.de.introducción.net.con.visual.basic.2010
Curso.de.introducción.net.con.visual.basic.2010Alex Barrios
 
Dce1 introduccion microsoft.net
Dce1 introduccion microsoft.netDce1 introduccion microsoft.net
Dce1 introduccion microsoft.netvictdiazm
 
Curso.de.introducción.net.con.visual.basic.2010
Curso.de.introducción.net.con.visual.basic.2010Curso.de.introducción.net.con.visual.basic.2010
Curso.de.introducción.net.con.visual.basic.2010Oliver Benitez
 
Curso de-introduccin-net-con-visual-basic-2010-120611103429-phpapp02
Curso de-introduccin-net-con-visual-basic-2010-120611103429-phpapp02Curso de-introduccin-net-con-visual-basic-2010-120611103429-phpapp02
Curso de-introduccin-net-con-visual-basic-2010-120611103429-phpapp02Flor Santana Mota
 
Curso de-introduccin-net-con-visual-basic-2010-120611103429-phpapp02
Curso de-introduccin-net-con-visual-basic-2010-120611103429-phpapp02Curso de-introduccin-net-con-visual-basic-2010-120611103429-phpapp02
Curso de-introduccin-net-con-visual-basic-2010-120611103429-phpapp02Flor Santana Mota
 
Andre.paola9 blos blospot blogger
Andre.paola9 blos blospot bloggerAndre.paola9 blos blospot blogger
Andre.paola9 blos blospot bloggerpaolatublog
 
Introduccion a visual studio.Net Part 2
Introduccion a visual studio.Net Part 2Introduccion a visual studio.Net Part 2
Introduccion a visual studio.Net Part 2Marvin Romero
 
itio de realizacion de un blog blogs blogspot
itio de realizacion de un blog blogs blogspotitio de realizacion de un blog blogs blogspot
itio de realizacion de un blog blogs blogspotpaolatublog
 

Similar a Tecnologia microsoft .net (20)

Introducción a net
Introducción a netIntroducción a net
Introducción a net
 
Presentación1
Presentación1Presentación1
Presentación1
 
Introduccion.net
Introduccion.net Introduccion.net
Introduccion.net
 
Programacion
ProgramacionProgramacion
Programacion
 
Republica bolivariana de venezuela 2
Republica bolivariana de venezuela 2Republica bolivariana de venezuela 2
Republica bolivariana de venezuela 2
 
Curso.de.introducción.net.con.visual.basic.2010
Curso.de.introducción.net.con.visual.basic.2010Curso.de.introducción.net.con.visual.basic.2010
Curso.de.introducción.net.con.visual.basic.2010
 
Dce1 introduccion microsoft.net
Dce1 introduccion microsoft.netDce1 introduccion microsoft.net
Dce1 introduccion microsoft.net
 
Curso.de.introducción.net.con.visual.basic.2010
Curso.de.introducción.net.con.visual.basic.2010Curso.de.introducción.net.con.visual.basic.2010
Curso.de.introducción.net.con.visual.basic.2010
 
Curso de-introduccin-net-con-visual-basic-2010-120611103429-phpapp02
Curso de-introduccin-net-con-visual-basic-2010-120611103429-phpapp02Curso de-introduccin-net-con-visual-basic-2010-120611103429-phpapp02
Curso de-introduccin-net-con-visual-basic-2010-120611103429-phpapp02
 
Curso de-introduccin-net-con-visual-basic-2010-120611103429-phpapp02
Curso de-introduccin-net-con-visual-basic-2010-120611103429-phpapp02Curso de-introduccin-net-con-visual-basic-2010-120611103429-phpapp02
Curso de-introduccin-net-con-visual-basic-2010-120611103429-phpapp02
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Andre.paola9 blos blospot blogger
Andre.paola9 blos blospot bloggerAndre.paola9 blos blospot blogger
Andre.paola9 blos blospot blogger
 
Andre.paola9
Andre.paola9Andre.paola9
Andre.paola9
 
Introduccion a visual studio.Net Part 2
Introduccion a visual studio.Net Part 2Introduccion a visual studio.Net Part 2
Introduccion a visual studio.Net Part 2
 
Programacion.NET
Programacion.NETProgramacion.NET
Programacion.NET
 
Programación.NET
Programación.NETProgramación.NET
Programación.NET
 
Paola
PaolaPaola
Paola
 
Paola
PaolaPaola
Paola
 
itio de realizacion de un blog blogs blogspot
itio de realizacion de un blog blogs blogspotitio de realizacion de un blog blogs blogspot
itio de realizacion de un blog blogs blogspot
 
Paola
PaolaPaola
Paola
 

Tecnologia microsoft .net

  • 1. Tecnología Microsoft.Net Bernardo Antonio Robelo Jirón Ingeniero en Sistemas
  • 2.
  • 3. Antes de comenzar Presentación. Ocupación Actual. Experiencia con el uso de .NET y VB.NET Expectativas. Metodología del curso.
  • 4. Objetivos del curso Tecnología .NET Net Framework 3.5 ASP.NET ADO.NET LINQ WCF Y WPF SilverLight 2.0 Lenguaje Visual Basic .NET
  • 5. Agenda del Curso Introducción a .NET ( Estructuras del Lenguaje) SQL Server ( Transact – SQL ) Acceso a Datos ( ADO.NET) Acceso a Datos (LINQ) ControlesAvanzados WPF Crystal Report ASP.NET
  • 6. Elementos Adicionales XHTML JavaScript CSS XML XAML
  • 8. Objetivo Presentar una introducción a la plataforma de desarrollo Microsoft .NET, describiendo sus principios básicos de funcionamiento, su arquitectura de componentes y sus principales bibliotecas reutilizables, mostrando además las novedades introducidas en la última versión de la misma.
  • 9. Servicios Componentes Funcionalidad Windows3.0 MFC APIs COM Win32 Win16 1980 1990 2000 Paradigmas de Programación
  • 10. Que tal un poquito de historia?
  • 11. Primera GeneraciónTodos con las Mainframes Programación orientada a uso de terminales tontas, con cerebros un poco “más inteligentes”. Integrar aplicaciones era MUY difícil (procesos batch, importación-exportación, etc. etc.). Programación en lenguajes de “Primera” (Generación). COBOL, Fortran, Pascal, C, etc. No cualquiera podía escribir aplicaciones. No cualquiera tenía acceso a poder de cómputo. “Al final de los tiempos, solo sobrevivirán las cucarachas y COBOL” ¿Será cierto?
  • 12. Segunda Generación”Aquí se rompió una taza...” Después de años de pensar de manera centralizada, a “alguien” se le ocurrió dotar de poder para ser independientes a esas terminales tontas. Ahora ya el uso de cómputo no era privilegio de unos pocos. Compartiendo el poder de los equipos de computo con el poder de los equipos de escritorio, se tenían aplicaciones más potentes. Se podía tener aplicaciones en una sola computadora (stand alone). Se hizo extensivo el uso de lenguajes tipo Clipper, FoxPro COBOL seguía ¡vivito y coleando!
  • 13. Tercera GeneraciónGeneración Internet... ¡Todos a la Red! Al surgir el “boom” de Internet, se sigue mezclando el poder de las maquinas de escritorio con el uso de servidores potentes para darles servicio. Aparecen nuevos lenguajes: Java, Visual Basic, etc. Aunque ya no es protagonista, COBOL continúa entre nosotros. En esta generación es la actual.
  • 15. Tecnología .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
  • 16. ¿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) Visual Studio 2005. Visual Studio 2008. Visual Studio 2010. Guías de Arquitectura La evolución de la plataforma COM
  • 18. Experiencias Herramientas Clientes Servidores Servicios ¿Cuales son los Componentes de .NET? Experiencias .NET Clientes .NET Servicios .NET Servidores .NET Herramientas .NET
  • 19. Características de .NET Plataforma de ejecución intermedia 100% Orientada a Objetos Multilenguaje Plataforma Empresarial de Misión Crítica 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
  • 20. Aplicación .NET Entorno de Desarrollo Lenguajes de Programación Librerías de Funcionalidad Entorno de Ejecución Sistema Operativo (Familia Windows) Arquitectura .Net Microsoft .NET
  • 21. .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 .NET: Uno independiente del lenguaje (VS.NET)
  • 23. Que es un Framework?
  • 24. Un Framework es, básicamente, un conjunto de clases que interactúan en forma cooperativa para dar solución a una determinada necesidad. .NET FrameworkQue es un Framework?
  • 25. .NET FrameworkQue es un Framework? ¿Quedo claro?
  • 26. .NET FrameworkQue es un Framework? Suponga que usted necesita construir un edificio…
  • 27. .NET FrameworkQue es un Framework? Imagine que a usted le tocara construir cada una de las partes…
  • 28. .NET FrameworkQue es un Framework? ¿Cuánto tiempo cree que tardaría en terminar?
  • 29. Lo mismo sucede con el software, si cada vez tuviéramos que construir todos los componentes que lo conforman, tardaríamos mucho más tiempo… .NET FrameworkQue es un Framework?
  • 30.
  • 34. Ayuda
  • 37.
  • 38. 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 RedistributablePackage .NET Framework SDK .NET Compact Framework Está instalado por defecto en Windows 2003 Server o superior
  • 39. ¿Dónde instalar el .NET Framework? Servidor Cliente ü* ü Aplicación de Escritorio ü Aplicación Web ü* ü Aplicación de Consola .NET Compact Framework Aplicación Móvil * Sólo si la aplicación es distribuida
  • 40. Línea del tiempo de .NET Visual Studio 6.0 Visual Basic VBA Visual FoxPro VBScript C++ J++ JScript ASP Visual Studio .NET 2003 .NET Framework 1.1 .NET Compact Framework J# Visual Studio 2008 .NET Framework 3.0 – 3.5 .NET Compact Framework 2000 2001 2002 2003 2004 2005 2006 y más 2008 2010 Visual Studio .NET 2002 .NET Framework 1.0 Visual Basic .NET C# Visual Studio 2005 .NET Framework 2.0 .NET Compact Framework 2.0 Visual Studio 2010 .NET Framework 4.0
  • 41. Evolucion del .NET Framework
  • 42. Arquitectura del .NET Framework VB C++ C# J# … Common Language Specification ASP.NET Windows Forms .NET Framework SDK .NET Framework Class Library .NET Framework Redistributable ADO.NET y XML Base Class Library Common Language Runtime Windows COM+ Services
  • 43. Quees el .NET Framework 3.5 ?
  • 44. 2.0 .NET Framework 2.0 VB C# J# IronPhyton Ruby … 3.0 .NET Framework 3.0 CLS y CTS ASP.NET WPF WCS WF & WCF Enhancements Dynamic Data ADO.NET LINQ Additional Enhancements Entity Framework WCF WF Add-in Framework WindowsForms MVC Data Services Biblioteca de Clases Common Language Runtime (CLR) Windows 7, Windows Vista,Windows XP,Windows Server 2008 Microsoft .NET Framework 3.5
  • 46. CLR – Common Languaje RuntimeArquitecturas de Ejecución de Aplicaciones
  • 47. CLR – Common Language Runtime El CLR es el motor de ejecución (runtime) de .NET Características Compilación Just-In-Time (JIT) Gestión automática de memoria (Garbage Collector) Gestión de errores consistente (Excepciones) Ejecución basada en componentes (Assemblies) Gestión de Seguridad Multithreading
  • 49. Assembly (MSIL) Compilador Bibliotecao Ejecutable CLR – Proceso de Compilación CódigoFuente Cualquier lenguaje .NET
  • 50. Demo Primer vistazo a .Net Desarrollar nuestra aplicación “HelloWorld”
  • 52. Descripción de Tipos Clases Clases Base Interfaces Implementadas Atributos de las Clases Métodos de las Clases MiBiblioteca.DLL Metadata Manifiesto del Assembly Código CompiladoMSIL Nombre Versión Cultura Recursos Otros Assemblies Permisos de Seguridad Tipos Externos Assembly
  • 53. 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
  • 54. .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
  • 55. .NET Framework Class Library 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 InteropServices Configuration Net ServiceProcess Remoting Diagnostics Reflection Text Serialization Globalization Resources Threading
  • 56. 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
  • 57. 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# Visual Basic.NET J# C++.NET Perl Java JavaScript PHP Delphi Python Pascal Haskell RPG LISP Prolog Mondrian Eiffel ML Oberon Smalltalk Scheme Cobol Fortran Mercury Objective Caml APL
  • 58. 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 INDEPENDIENTES del lenguaje que elija
  • 59. Modelo de Ejecución del CLR Código Fuente VB.NET C++.NET C# Componente No Manejado Compilador VB.NET Compilador C# Compilador C++ .NET Código Manejado Assembly Código MSIL Assembly Código MSIL Assembly Código MSIL Common Language Runtime Compilador JIT Código Nativo Sistema Operativo (Windows)
  • 60. Desarrollo Assembly en la máquina destino Instalación Assembly Class Loader Assembly Loader Compilador JIT Seguridad Garbage Collector .exe Nativo + Tabla GC Code Manager Manejador Excepciones Soporte MultiThread COM Interop Debug Engine Instalación 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 permissions and forms the root of the code group tree."> <IMembershipCondition class="AllMembershipCondition" version="1"/> <CodeGroup class="UnionCodeGroup" version="1" PermissionSetName="FullTrust" Ejecución Modelo de Ejecución del CLR
  • 61. Ventajas de .NET Unifica los modelos de programación Simplifica aún más el desarrollo Provee un Entorno de Ejecución robusto y seguro Es independiente del lenguaje de programación Interoperabilidad con código existente Simplifica la instalación y administración de las aplicaciones Es Extensible
  • 62. API consistente mas allá del lenguaje o del modelo de programación .NET Framework Basado en Servidor, UI Embebido en el código OOP, Potencia, Acceso a bajo nivel Desarrollo Rapido, Componentes, Event Driven ASP MFC/ATL (C++) Visual Basic Windows API Unificando los Modelos
  • 63. Desarrollo Simplificado Alto nivel de abstracción No mas accesos COM a bajo nivel Orientado a Objetos desde el Núcleo Sistema de tipos unificado (CTS) Todo es un objeto, no mas variants Componentes de Software Propiedades, métodos, eventos, y atributos incluidos en la construcción de clases API organizada en forma Jerárquica
  • 64. Entorno de Ejecución Robusto y Seguro Gestión automática de la memoria Todos los objetos son administrados por el Garbage Collector Manejo de Excepciones Fuertemente tipado Solo casteos seguros Inicialización de variables obligatoria Instalación con Cero Impacto No requiere registración en la Registry
  • 65. Independencia del lenguaje Libertad en la elección del lenguaje Todas las facilidades de la plataforma .NET están disponibles a todos los lenguajes de programación .NET Los componentes de una aplicación .NET pueden ser escritos en distintos lenguajes de alto nivel compatibles con la plataforma Herramientas compartidas Debuggers, profilers, analizadores de código, y otras trabajan para todos los lenguajes
  • 66. Instalación y Administración más simples Unidades de Ensamblado (“Assemblies”) Mínima unidad de distribución, versionado y administración de seguridad de aplicaciones .NET Auto-descriptas a través de un manifiesto (“manifest”) Instalaciones Cero-impacto Aplicaciones y componentes pueden ser compartidas o privadas Versioning Múltiples versiones del mismo componente pueden co-existir, aún en el mismo proceso
  • 67. Extensibilidad El Framework no es una “caja negra” Sus clases pueden ser extendidas a través del mecanismo de herencia A diferencia de COM, usamos y extendemos las clases en si mismas, no un “wrapper” Herencia entre distintos lenguajes
  • 68. Interoperabilidad Servicios Web XML .NET Framework .NET C# COM COM INTEROP C++ VB Otros...
  • 70.
  • 71. Desarrollado por Miguel de Icaza e impulsado por Novell.
  • 72. Permite ejecutar aplicaciones desarrolladas en .NET sobre las plataformas:
  • 74. Linux
  • 75. MAC OSProyecto Mono: http://www.go-mono.com/
  • 76. Y Por Fin… …¿Qué le paso a COBOL? Pues con la ayuda del .NET Framework, se pudo rescatar esa reliquia (que en realidad es importante por que muchas dependencias importantes aun lo usan). Fujitsu se dio a la tarea de hacer la versión .NET llamada NetCOBOL. Así que todavía hay COBOL para un buen rato 
  • 77. Gracias Bernardo A. Robelo Jirón Email: bernardo.robelo@gmail.com Blog: bernardorobelo.blogspot.com