introducción-a-microsoft.net-[parte2]

32
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

Upload: kevin-reano

Post on 15-Dec-2014

407 views

Category:

Education


2 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Introducción-a-Microsoft.NET-[parte2]

Application DomainsProcesos 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ónUn Assembly y sus tipos son siempre cargados dentro de un AppDomainProvee una frontera para: Fallos, Tipos, Seguridad

Page 2: Introducción-a-Microsoft.NET-[parte2]

Application Domains - CLR Host

Código Manejado

CLRCLR Host

AppDomain 1

Código Manejado

AppDomain N

Page 3: Introducción-a-Microsoft.NET-[parte2]

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

Todo tipo hereda directa o indirectamente del tipo System.Object

Define Tipos de VALOR y de REFERENCIA

Page 4: Introducción-a-Microsoft.NET-[parte2]

La Memoria y los Tipos de DatosEl 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)Los tipos VALOR se almacenan en el Stack

Los tipos REFERENCIA se almacenan en el Heap

Los tipos VALOR se almacenan en el Stack

Los tipos REFERENCIA se almacenan en el Heap

Page 5: Introducción-a-Microsoft.NET-[parte2]

Temas a Tratar

Introducción a Microsoft .NETComponentes FundamentalesFuncionamiento Interno del CLRBibliotecas Principales Base Class Library (BCL) ADO.NET Windows Forms ASP.NET

Page 6: Introducción-a-Microsoft.NET-[parte2]

Base Class Library

System

Globalization

Diagnostics

Configuration

Collections

Resources

Reflection

Net

IO

Threading

Text

ServiceProcess

Security InteropServices

Remoting

Serialization

Page 7: Introducción-a-Microsoft.NET-[parte2]

Acceso a Datos: ADO.NETSystem.Data

OleDb

SqlClient

OracleClient

Common

Odbc SqlTypes

System.Xml

Serialization

XPath

XSLT

Schema

Page 8: Introducción-a-Microsoft.NET-[parte2]

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

Page 9: Introducción-a-Microsoft.NET-[parte2]

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

Acceso a Bases de Datos Relacionales Escenario Desconectado

Page 10: Introducción-a-Microsoft.NET-[parte2]

ADO.NET - Arquitectura

Page 11: Introducción-a-Microsoft.NET-[parte2]

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

Page 12: Introducción-a-Microsoft.NET-[parte2]

Base de Datos

XxxConnectionXxxConnection

XxxCommandXxxCommand

DataSetDataSet XxxDataReaderXxxDataReader

XxxDataAdapterXxxDataAdapter

Maneja la conección a una base de datos

Maneja la conección a una base de datos

Ejecuta comandos contra una basede datos

Ejecuta comandos contra una basede datos

Copia local de datos relacionalesCopia local de datos relacionales

Provee acceso a datos read-only, Forward-onlyProvee acceso a datos read-only, Forward-only

Intercambia datos entre un dataset y una base de datos

Intercambia datos entre un dataset y una base de datos

ADO.NET- Clases más comunes

Page 13: Introducción-a-Microsoft.NET-[parte2]

DataSet

DataTable

DataTable

DataRow

DataColumn

Relaciones

RestriccionesEsquema XML

ADO.NET- DataSet

Page 14: Introducción-a-Microsoft.NET-[parte2]

ADO.NET vs. ADO

Page 15: Introducción-a-Microsoft.NET-[parte2]

ADO.NET – Accediendo a datos Conectado

En un escenario conectado, los recursos se mantienen en el servidor hasta que la conexión se cierra1) Abrir Conexión2) Ejecutar Comando3) Procesar Filas en DataReader4) Cerrar Reader5) Cerrar Conexión

Page 16: Introducción-a-Microsoft.NET-[parte2]

En un escenario desconectado, los recursos no se mantienen en el servidor mientras los datos se procesan1) Abrir Conexión2) Llenar DataSet mediante DataAdapter3) Cerrar Conexión4) Procesar DataSet5) Abrir Conexión6) Actualizar fuente de datos mediante DataAdapter7) Cerrar Conexión

ADO.NET – Accediendo a datos Desconectado

Page 17: Introducción-a-Microsoft.NET-[parte2]

XmlTextWriter

XmlTextReader

<XML>

XmlDocument

DocumentNavigator

XmlReader

XmlValidatingReaderXmlNodeReader

ADO.NET - Soporte a XML

Page 18: Introducción-a-Microsoft.NET-[parte2]

Windows Forms

System.Drawing

Drawing2D

Imaging

Printing

Text

System.WinForms

Design ComponentModel

Page 19: Introducción-a-Microsoft.NET-[parte2]

Aplicaciones Web: ASP.NET

System.Web

Caching

Configuration

Services UI

SessionState

HtmlControls

WebControls

Description

Discovery

Security

Protocols

Page 20: Introducción-a-Microsoft.NET-[parte2]

Temas a Tratar

Introducción a Microsoft .NETComponentes FundamentalesFuncionamiento Interno del CLRBibliotecas PrincipalesVentajas de .NET

Page 21: Introducción-a-Microsoft.NET-[parte2]

Ventajas de .NETUnifica los modelos de programaciónSimplifica aún más el desarrolloProvee un Entorno de Ejecución robusto y seguroEs independiente del lenguaje de programaciónInteroperabilidad con código existenteSimplifica la instalación y administración de las aplicacionesEs Extensible

Page 22: Introducción-a-Microsoft.NET-[parte2]

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

Page 23: Introducción-a-Microsoft.NET-[parte2]

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

Page 24: Introducción-a-Microsoft.NET-[parte2]

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 ExcepcionesFuertemente tipado Solo casteos seguros Inicialización de variables obligatoria

Instalación con Cero Impacto No requiere registración en la Registry

Page 25: Introducción-a-Microsoft.NET-[parte2]

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

Page 26: Introducción-a-Microsoft.NET-[parte2]

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 privadasVersioning Múltiples versiones del mismo

componente pueden co-existir, aún en el mismo proceso

Page 27: Introducción-a-Microsoft.NET-[parte2]

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

Page 28: Introducción-a-Microsoft.NET-[parte2]

Interoperabilidad

.NET Framework

Servicios Web XML

C#

C++ VB

Otros... .NET

COMCOM INTEROP

Page 29: Introducción-a-Microsoft.NET-[parte2]

Temas a Tratar

Introducción a Microsoft .NETComponentes fundamentalesFuncionamiento internoBibliotecas PrincipalesVentajas de .NETHerramientas de Desarrollo .NET Visual Studio 2005 SQL Server 2005 Express

Page 30: Introducción-a-Microsoft.NET-[parte2]

Visual Studio 2005

Novatos

Entusiastas

Estudiantes

Hobbyists

Part-Timers

Profesionales

Consultores

Desarrolladores

Arquitectos

Testers

VB6 Devs

Page 31: Introducción-a-Microsoft.NET-[parte2]

Visual Studio 2005 Express Editions

Herramientas de desarrollo gratuitasMuy livianas, fáciles de usar y de aprenderDiseñadas para entusiastas, estudiantes y desarrolladores principiantesHay varias ediciones, según el tipo de aplicación y el lenguajeTiene características avanzadas, por ejemplo: Refactoring Code Snippets Diseñadores WYSIWYG Depuradores Intellisense

Page 32: Introducción-a-Microsoft.NET-[parte2]

SQL Server 2005 Express

La nueva versión de MSDEEs gratuitoPreparado para trabajar integrado con .NET 2.0Tamaño máximo de base: 4 GbMax. Conexiones Concurrentes: no tieneIncluye una interfaz de administracion y un editor de consultasMayor integración con Visual Studio 2005