tecnologia microsoft .net

Post on 25-Jul-2015

92 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.combernardorobelo.blogspot.com

Tecnología Microsoft.NetBernardo Antonio Robelo Jirón

Ingeniero en Sistemas

Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.combernardorobelo.blogspot.com

Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com

Antes de comenzar

• Presentación.• Ocupación Actual.• Experiencia con el uso de .NET y VB.NET• Expectativas.• Metodología del curso.

Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com

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

Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com

Agenda del Curso• Introducción a .NET ( Estructuras del Lenguaje)• SQL Server ( Transact – SQL )• Acceso a Datos ( ADO.NET)• Acceso a Datos (LINQ)• Controles Avanzados• WPF• Crystal Report• ASP.NET

Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com

Elementos Adicionales

• XHTML• JavaScript• CSS• XML• XAML

Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.combernardorobelo.blogspot.com

Tecnología Microsoft .NET

Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com

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.

Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com

Paradigmas de Programación

1980 1990 2000

Fu

nci

on

alid

ad

Win16 Win32COM

MFCComponentes

Servicios

APIs

Windows3.0

Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com

Que tal un poquito de historia?

Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com

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 apoder de cómputo.

• “Al final de los tiempos,solo sobrevivirán lascucarachas y COBOL”¿Será cierto?

Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com

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 solacomputadora (stand alone).

• Se hizo extensivo el uso delenguajes tipo Clipper, FoxPro

• COBOL seguía ¡vivito y coleando!

Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com

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.

Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com

Que es .NET?

Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com

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

Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com

¿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

Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com

Plataforma .NET

Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com

¿Cuales son los Componentes de .NET?

• Experiencias .NET• Clientes .NET• Servicios .NET• Servidores .NET• Herramientas .NET

Experiencias

Clientes

Servicios

Herramientas

Servidores

Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com

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

Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com

Arquitectura .Net

Entorno de

Desarrollo

Mic

roso

ft .

NET

Librerías de Funcionalidad

Lenguajes de Programación

Entorno de Ejecución

Sistema Operativo (Familia Windows)

Aplicación .NET

Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com

.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)

Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.combernardorobelo.blogspot.com

.NET Framework

Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com

Que es un Framework?

Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com

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?

Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com

.NET FrameworkQue es un Framework?

¿Quedo claro?

Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com

Suponga que usted necesita construir un edificio…

.NET FrameworkQue es un Framework?

Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com

Imagine que a usted le tocara construir cada una de las partes…

.NET FrameworkQue es un Framework?

Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com

.NET FrameworkQue es un Framework?

¿Cuánto tiempo cree que tardaría en terminar?

Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com

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?

Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com

¿Qué es un Framework? Marco de trabajo Puede estar compuesto por

Librerías de clases Documentación Ayuda Ejemplos Tutoriales Etc.

Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com

¿Qué es .NET Framework?

Herramientas de Desarrollo

Clientes

Aplicaciones de Usuario

Aplicaciones Web ASP.NET

Servicios Web XML

Bases de Datos

.NET Framework

Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com

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

Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com

.NET Compact Framework

ü*ü

ü

ü*ü

AplicaciónMóvil

Aplicación de Consola

Aplicación Web

Aplicación de Escritorio

¿Dónde instalar el .NET Framework?

ServidorCliente

* Sólo si la aplicación es distribuida

Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com

Línea del tiempo de .NETVisual Studio 6.0Visual BasicVBAVisual FoxProVBScriptC++J++JScriptASP

Visual Studio .NET 2003.NET Framework 1.1.NET Compact FrameworkJ#

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 2005.NET Framework 2.0.NET Compact Framework 2.0

Visual Studio .NET 2002.NET Framework 1.0Visual Basic .NETC#

Visual Studio 2010.NET Framework 4.0

Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com

Evolucion del .NET Framework

Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com

Windows COM+ Services

Common Language Runtime

Base Class Library

ADO.NET y XML

ASP.NET Windows Forms

Common Language Specification

VB C++ C# J# …

Arquitectura del .NET Framework.N

ET

Fra

mew

ork

Red

istr

ibut

able

.NE

T F

ram

ewo

rk S

DK

.NE

T F

ramew

ork

Class Library

Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com

Que es el .NET Framework 3.5 ?

38Windows 7, Windows Vista, Windows XP, Windows Server 2008

Common Language Runtime (CLR)

Biblioteca de Clases

ASP.NET WPF

WCF

WF

WCS

CLS y CTS

VB C# J# IronPhyton

Microsoft .NET Framework 3.5

ADO.NET LINQ

Add-in Framework

WindowsForms

WF & WCF

Enhancements

Additional

Enhancements

MVC

Dynamic Data

Entity Framework

Data Services

Ruby …

Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com

Common Language Runtime

Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com

CLR – Common Languaje RuntimeArquitecturas de Ejecución de Aplicaciones

Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com

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

Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com

CLR – Componentes Internos

Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com

Código Fuente

Cualquier lenguaje .NET

CompiladorAssembly

(MSIL)

Bibliotecao Ejecutable

CLR – Proceso de Compilación

Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.combernardorobelo.blogspot.com

DemoPrimer vistazo a .Net

Desarrollar nuestra aplicación “Hello World”

Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com

Assembly

Metadata

Código CompiladoMSIL

Recursos

MiBiblioteca.DLL

Descripción de Tipos

ClasesClases BaseInterfaces ImplementadasAtributos de las ClasesMétodos de las Clases

NombreVersiónCultura

Manifiesto del Assembly

Otros AssembliesPermisos de SeguridadTipos Externos

Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com

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

Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com

.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

Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com

.NET Framework Class Library

System

System.Data System.Xml

System.Web

Globalization

Diagnostics

Configuration

Collections

Resources

Reflection

Net

IO

Threading

Text

ServiceProcess

Security

Common

OleDb

SqlClient

Odbc

XPath

XSLT

Runtime

InteropServices

Remoting

Serialization

Serialization

Configuration SessionState

Caching Security

Services

Description

Discovery

Protocols

UI

HtmlControls

WebControls

System.Drawing

Imaging

Drawing2D

Text

Printing

System.Windows.FormsDesign ComponentModel

Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com

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

Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com

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

Cobol

Eiffel

Fortran

Pascal

Perl

C++.NET C#

Haskell

Java JavaScript

Visual Basic.NET

Mercury

ML

PHP

Objective Caml

Oberon Smalltalk Scheme

J#

RPG

Mondrian

APL

Delphi Python

LISP Prolog

Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com

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

Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com

VB.NETCódigoFuente

Compilador VB.NET

C++.NETC#

AssemblyCódigo MSIL

Sistema Operativo (Windows)

Common Language Runtime

Compilador JIT

Código Nativo

Código Manejado

ComponenteNo Manejado

Modelo de Ejecución del CLR

CompiladorC#

CompiladorC++ .NET

AssemblyCódigo MSIL

AssemblyCódigo MSIL

Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com

Debug Engine

CompiladorJIT

Assembly en la máquina

destino

Modelo de Ejecución del CLR

Assembly

Desarrollo Instalación

Instalación

Ejecución

AssemblyLoader

SeguridadClass Loader

.exe Nativo+

Tabla GC

Code Manager

Garbage Collector

Manejador Excepciones

Soporte MultiThread

COM Interop

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"

Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com

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

Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com

Unificando los Modelos

Windows API

.NET Framework

API consistente mas allá del lenguaje o del modelo de programación

ASP

Basado en Servidor,

UI Embebido en el código

MFC/ATL (C++)

OOP, Potencia,

Acceso a bajo nivel

Visual Basic

Desarrollo Rapido,Componentes,Event Driven

Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com

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

Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com

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

Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com

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

Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com

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

Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com

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

Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com

Interoperabilidad

.NET Framework Servicios Web XML

C#

C++ VB

Otros... .NET

COMCOM INTEROP

Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com

Además

Moneando

• El Proyecto MONO es una implementación en código abierto de las herramientas del Framework .NET

• Desarrollado por Miguel de Icaza e impulsado por Novell.• Permite ejecutar aplicaciones desarrolladas en .NET sobre

las plataformas:- Windows- Linux- MAC OS

Proyecto Mono: http://www.go-mono.com/

Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com

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

Ing. BARJ. UPOLI – ISTbernardorobelo.blogspot.com

Gracias

Bernardo A. Robelo Jirón

Email: bernardo.robelo@gmail.com

Blog: bernardorobelo.blogspot.com

top related