Programación e Ingeniería de Software III Informática UNIVERSIDAD AUTÓNOMA DE SINALOA Material Proporcionado por: MC. Gerardo Gálvez Gámez.

Slides:



Advertisements
Presentaciones similares
Introducción a C#.
Advertisements

SERVICIOS WEB EN.NET INTEGRANTES: ADRIANA BLANCO PEÑA MIRIAM SORIANO HERNANDEZ ALVARO PETROVICH CID CONTRERAS LUIS RAMIREZ PALESTINO.
Características Generales y Entornos de Desarrollo
Framework de.Net Infraestructura sobre la que se reúne todo un conjunto de lenguajes y servicios que simplifican el desarrollo de aplicaciones Entorno.
Conceptos básicos para el Desarrollo sobre Dispositivos Móviles.
Desarrollo de aplicaciones 100%.NET Octavio Hernández DANYSOFT Internacional Delphi 8 para Microsoft.NET Framework.
La plataforma .NET Aurelio Porras
La plataforma .NET David Carmona
<Nombre> < > <Empresa>
Introducción a la plataforma .NET.
Introducción a Microsoft .NET
Rossy Garita Componentes fundamentales de CLR y
ASP.NET Daniel A. Seara Director Regional MSDN Buenos Aires – ARGENTINA NDSoft.
Introducción a Microsoft .NET
TEMA 3 Parte A Lenguajes de programación. Criterios de clasificación según su nivel de abstracción según la forma de ejecución según el paradigma de programación.
Dr. Diego Lz. de Ipiña Gz. de Artaza
Agenda Conceptos Claves.
Iniciativa Microsoft Multiplataforma
INTRODUCCIÓN A JAVA.
Common Language Runtime
Herramientas de Desarrollo Dr. Diego Lz. De Ipiña Gz. De Artaza
Programación Visual de Sistemas
Introducción a Microsoft .NET
Lic. Israel García Anido
Introducción a la plataforma .NET.
Visual Basic.NET Daniel A. Seara NDSoft Consultoría y Desarrollo
Estrella 1 Introducción a Microsoft .NET
César de la Torre – Programas Técnicos para Partners División de Desarrollo y Plataforma – Microsoft Spain.
.NET para Programadores Java
Carlos Walzer Vemn Sistemas Como crear un sitio con ASP.NET.
Módulo 1: Primeros Pasos
Introducción ASP .NET.
La plataforma .NET David Carmona
Plataforma Microsoft.NET
Clase VI Delio Alanis. Agenda Base Class Library Base Class Library  Introducción  Aplicaciones tipo Consola  Manejo de Strings  XML  Entrada y Salida.
Sistema La Plata Módulo I INTRODUCCION A APLICACIONES WEB.
Interacción Persona Ordenador
TALLER DE PROGRAMACIÓN III
CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament d’Arquitectura de Computadors (Seminaris de CASO) Autors Microsoft.Net Toni Rivas Castaño Xavier Romero.
TALLER DE PROGRAMACIÓN III
Ihr Logo INSTITUTO POLITECNICO NACIONAL UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS.
Introducción a la Programación. Lenguaje de Máquina.
Sintaxis de C# (Declaraciones y Tipos)
Programación e Ingeniería de Software III
ASP.NET es una nueva y potente tecnología para escribir páginas web dinámica. Es una importante evolución respecto a las antiguas páginas ASP de Microsoft.
Contenido: 1- Que es el .Net Framework 2- Arquitectura en .Net
Introducción .NET Framework
Acercamiento al Proyecto Mono Cristhián Gómez
REMOTING by Juan Martínez Gil.
Introducción a la plataforma Microsoft.NET. Descripción ¿Qué es la plataforma Microsoft.NET? ¿Qué es el.NET Framework? ¿Cuáles son los componentes del.NET.
Arquitectura del Common Language Runtime Daniel A. Seara Director Regional MSDN Buenos Aires – ARGENTINA NDSoft.
Curso de Java La tecnología Java
INTRODUCCIÓN A JAVA. Índice ¿Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características principales ¿Qué ventajas tengo como desarrollador?
Los ensamblados y el código IL Contenido Módulo ¿Qué es un Ensamblado? El código MSIL.
CAPACITACIÓN VISUAL STUDIO.NET(FILE) JOHNNY IV YOUNG OSPINO Analista Desarrollador
Seminario de Java Programación Orientada a Objetos.
Introducción a la plataforma .NET Erich Bühler
Introducción al lenguaje de programación Java
Facilitador: Christian Alexander Martinez
Clase I Curso Microsoft .NET I.S.F.T. N° 182.
Introducción a .NET Nombre : Ethel García-Simón Matachana
Administrar.NET Framework v2 en Windows Server 2003.
 Palabra inglesa que define un conjunto de conceptos, prácticas y criterios.  En el desarrollo de Sw es una estructura conceptual y tecnológica que proporciona.
Estrella 1 Introducción a Microsoft.NET Programa Microsoft Desarrollador Cinco Estrellas.
Entorno de Trabajo e Introducción a Java Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión Práctica 1.
Programación Computadoras V Conceptos Generales Profesor: Elian Rojas Berrocal.
UAA – Introduccion a Progracion Orientada Objetos Introducción al Java.
Introducción a la plataforma Microsoft .NET
Tema 1 El entorno de desarrollo de C#
Tema 1 El entorno de desarrollo de C#
Transcripción de la presentación:

Programación e Ingeniería de Software III Informática UNIVERSIDAD AUTÓNOMA DE SINALOA Material Proporcionado por: MC. Gerardo Gálvez Gámez

Temas a Tratar Componentes Fundamentales Arquitectura del.NET Framework Arquitectura del.NET Framework CLR – Arquitectura de Ejecución de Aplicaciones CLR – Arquitectura de Ejecución de Aplicaciones CLR – Common Language Runtime CLR – Common Language Runtime CLR – Componentes Internos CLR – Componentes Internos CLR – Procesos de Compilación CLR – Procesos de Compilación CLR – Microsoft Intermediate Language (MISIL) CLR – Microsoft Intermediate Language (MISIL) ¿Qué es un Assemblies? ¿Qué es un Assemblies? Assemblies – Aplicaciones.NET Assemblies – Aplicaciones.NET.NET Framework Class Library.NET Framework Class Library Common Language Specification (CLS) Common Language Specification (CLS) CLS – Elección del Lenguaje CLS – Elección del Lenguaje

WindowsCOM+ Services Common Language Runtime Base Class Library ADO.NET y XML ASP.NETWindows Forms Common Language Specification VBC++C#J#… Arquitectura del.NET Framework.NET Framework Redistributable.NET Framework SDK.NET Framework Class Library

CLR - Arquitecturas de Ejecución de Aplicaciones

CLR – Common Language Runtime El CLR es el motor de ejecución (runtime) de.NET Características Características Compilación Just-In-Time (JIT) Compilación Just-In-Time (JIT) Gestión automática de memoria (Garbage Collector) Gestión automática de memoria (Garbage Collector) Gestión de errores consistente (Excepciones) Gestión de errores consistente (Excepciones) Ejecución basada en componentes (Assemblies) Ejecución basada en componentes (Assemblies) Gestión de Seguridad Gestión de Seguridad Multithreading (multi-hilos) Multithreading (multi-hilos)

CLR – Componentes Internos

Código Fuente Cualquier lenguaje.NET Compilador Assembly (MSIL) (MSIL) Biblioteca o Ejecutable CLR – Proceso de Compilación

CLR - MSIL.method private hidebysig static void Main(string[] args) cil managed {voidstring.entrypoint maxstack 8 L_0000: ldstr "Hola Mundo" L_0005: call void [mscorlib]System.Console::WriteLine(string)voidmscorlibSystem.ConsoleWriteLinestring L_000a: ret }

¿Qué es un “Assembly”? Un Assembly es la unidad mínima de ejecución, distribución, instalación y versionado de aplicaciones.NET Metadata Código Compilado MSIL Recursos MiBiblioteca.DLL Descripción de Tipos Clases Clases Base Interfaces Implementadas Atributos de las Clases Métodos de las Clases NombreVersiónCultura Manifiesto del Assembly Otros Assemblies Permisos de Seguridad Tipos Externos

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) El Class Loader busca en el directorio local (preferido) Global Assembly Cache (GAC) Global Assembly Cache (GAC) Diferentes aplicaciones pueden usar diferentes versiones Actualizaciones más simples Actualizaciones más simples Desinstalación más simple 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 El namespace raíz es SYSTEM System System.DataSystem.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 ConfigurationSessionState CachingSecurity Services Description Discovery Protocols UI HtmlControls WebControls System.Drawing Imaging Drawing2D Text Printing System.Windows.Forms DesignComponentModel

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 Basic.NET Microsoft Visual C#.NET Microsoft Visual C#.NET Microsoft Visual J#.NET Microsoft Visual J#.NET Microsoft Visual C++.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 Cobol Eiffel Fortran Pascal Perl C++.NET C# Haskell JavaJavaScript Visual Basic.NET Mercury ML PHP Objective Caml OberonSmalltalkScheme J# RPG Mondrian APL DelphiPython LISPProlog

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 Java, Delphi, C++, etc.  C# Si conoce Visual Basic o VBScript  VB.NET Si conoce Visual Basic o VBScript  VB.NET Los tipos de aplicaciones.NET son INDEPENDIENTES del lenguaje que elija

Temas a Tratar Funcionamiento Interno del CLR Funcionamiento Interno del CLR Modelo de ejecución del CLR Modelo de ejecución del CLR Common Type System (CTS) Common Type System (CTS) La memoria y los tipos de datos La memoria y los tipos de datos

VB.NET CódigoFuente CompiladorVB.NET C++.NETC# Assembly Código MSIL Sistema Operativo (Windows) Common Language Runtime Compilador JIT Código Nativo CódigoManejado Componente No Manejado Modelo de Ejecución del CLR CompiladorC#Compilador C++.NET Assembly Código MSIL Assembly

Esquema con el proceso de compilación llevado a cabo por el compilador Just-In-Time (JIT)

Debug Engine CompiladorJIT Assembly en la máquina destino Modelo de Ejecución del CLR AssemblyDesarrolloInstalación Instalación Ejecución AssemblyLoader Seguridad Class Loader.exe Nativo + Tabla GC Code Manager Garbage Collector Manejador Excepciones Soporte MultiThread COM Interop Policy <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"

El CTS, Common Type System El Sistema Común de Tipos o CTS (Common Type System), es el mecanismo del CLR que permite definir el modo en que los tipos serán creados y manipulados por el entorno de ejecución de.NET Framework. Entre las funcionalidades que comprende destacan: La integración de código escrito en diferentes lenguajes; La integración de código escrito en diferentes lenguajes; Optimización del código en ejecución; Optimización del código en ejecución; Un modelo de tipos orientado a objeto, que soporta múltiples lenguajes; y Un modelo de tipos orientado a objeto, que soporta múltiples lenguajes; y Una serie de normas que aseguran la intercomunicación entre objetos. Una serie de normas que aseguran la intercomunicación entre objetos.

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

Ventajas del CTS Desde un lenguaje como VB.NET, podemos instanciar un objeto de una clase escrita en otro lenguaje como C#; y al hacer una llamada a uno de los métodos del objeto, no es necesario realizar conversiones de tipos en los parámetros del método, funcionando todo de forma transparente.

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

Temas a Tratar Bibliotecas Principales Base Class Library (BCL) Base Class Library (BCL) Acceso a Datos (ADO.NET) Acceso a Datos (ADO.NET) ADO.NET Proveedores de Acceso a Datos ADO.NET Proveedores de Acceso a Datos Windows Forms Windows Forms Aplicaciones Web : ASP.NET Aplicaciones Web : ASP.NET

Base Class Library System Globalization Diagnostics Configuration Collections Resources Reflection Net IO Threading Text ServiceProcess Security InteropServices Remoting Serialization

Acceso a Datos: ADO.NET System.Data OleDb SqlClient OracleClient Common Odbc SqlTypes System.Xml Serialization XPath XSLT Schema

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

Windows Forms System.Drawing Drawing2D Imaging Printing Text System.WinForms DesignComponentModel

Aplicaciones Web: ASP.NET System.Web Caching Configuration ServicesUI SessionState HtmlControls WebControls Description Discovery Security Protocols

Temas a Tratar Ventajas de.NET Ventajas de.NET Ventajas de.NET Desarrollo simplificado Desarrollo simplificado Entorno de ejecución robusto y seguro Entorno de ejecución robusto y seguro Independencia del lenguaje Independencia del lenguaje Extensibilidad Extensibilidad Interoperabilidad Interoperabilidad

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

Desarrollo Simplificado Alto nivel de abstracción No mas accesos COM a bajo nivel No mas accesos COM a bajo nivel Orientado a Objetos desde el Núcleo Orientado a Objetos desde el Núcleo Sistema de tipos unificado (CTS) Todo es un objeto, no mas variants Todo es un objeto, no mas variants Componentes de Software Propiedades, métodos, eventos, y atributos incluidos en la construcción de clases 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 Todos los objetos son administrados por el Garbage Collector Manejo de Excepciones Fuertemente tipado Solo casteos seguros Solo casteos seguros Inicialización de variables obligatoria Inicialización de variables obligatoria Instalación con Cero Impacto No requiere registración en la Registry 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 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 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 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 Mínima unidad de distribución, versionado y administración de seguridad de aplicaciones.NET Auto-descriptas a través de un manifiesto (“manifest”) Auto-descriptas a través de un manifiesto (“manifest”) Instalaciones Cero-impacto Aplicaciones y componentes pueden ser compartidas o privadas Aplicaciones y componentes pueden ser compartidas o privadasVersioning Múltiples versiones del mismo componente pueden co-existir, aún en el mismo proceso Múltiples versiones del mismo componente pueden co-existir, aún en el mismo proceso

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” A diferencia de COM, usamos y extendemos las clases en si mismas, no un “wrapper” Herencia entre distintos lenguajes

Interoperabilidad con otras aplicaciones.NET Framework Servicios Web XML C# C++VB Otros....NET COM COM INTEROP por ejemplo Visual Basic 6

© All rights reserved. FIN