1 / 147

Desarrollo de Aplicaciones .Net

Desarrollo de Aplicaciones .Net. Erick López Ovando Licenciado en Informática. Temario. Tecnología .Net Introducción al .Net Framework Conceptos relevantes del .Net framework Características del Lenguaje C# Clases básicas del framework Mejores prácticas en la practica.

zorana
Download Presentation

Desarrollo de Aplicaciones .Net

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Desarrollo de Aplicaciones .Net Erick López Ovando Licenciado en Informática

  2. Temario • Tecnología .Net • Introducción al .Net Framework • Conceptos relevantes del .Net framework • Características del Lenguaje C# • Clases básicas del framework • Mejores prácticas en la practica

  3. Temario (continuación) • ADO.Net • Uso de XML • Control de Código Fuente y Administración de Versiones • Programando con Visual Studio • ASP.Net

  4. Temario (continuación) • Desarrollo orientado a Objeto con .Net framework • Arquitectura de aplicaciones • Desarrollo de un Proyecto

  5. Programa

  6. Erick López Ovando • E-mail: elopez21@gmail.com • Web: www.inca.inf.utfsm.cl/~elopez

  7. Tecnología .Net Erick López Ovando Licenciado en Informática

  8. El modelo de hoy • Un nuevo modelo de computación distribuida llamado servicios Web basados en XML. • El objetivo es permitir comunicarse entre si a sistemas heterogéneos dentro y fuera de la empresa. • Esta comunicación es independiente del sistema operativo, lenguaje o modelo de programación. • Para conseguir esto se desarrollaron estándares. El consorcio de Internet http://www.w3c.org fue el encargado de crear y mantener estos estándares

  9. Los estándares • XML: (Lenguaje de Marcas eXtendido) Es un formato universal para representar los datos. • SOAP: (Protocolo de Acceso a Objetos Simple) Es un protocolo que permite mover los datos entre aplicaciones y sistemas. • UDDI: (Descubrimiento, Descripción e Integración Universal) Lenguaje que permite publicar, encontrar y usar los Servicios Web basados en XML. Es la 'Pagina Amarilla' de los servicios Web. Puede ser accedido con un explorador en http://www.uddi.org o programáticamente ya que UDDI es también un servicio Web. • WSDL: (Lenguaje de Descripción de Servicios Web) Lenguaje por medio del cual un servicio Web describe entre otras cosas que hace o que funcionalidad implementa.

  10. Motivaciones (Programación) • Motivado por el grado de complejidad que estaba tomando la programación Windows y el propio S.O. • Interfaces de los API’s para los diferentes lenguajes • Multitud de servicios duplicados • Pocas posibilidades de reutilización del código

  11. Motivaciones (Despliegue) • Eliminar el “infierno de las DLL Win32” • Conflictos entre las aplicaciones con una librería en común en diferentes versiones

  12. .NET, la propuesta de Microsoft • Es la base para la nueva generación de software. • Utiliza los Servicios Web como un medio para poder interoperar a distintas tecnologías. • Permite conectar distintos sistemas operativos, dispositivos físicos, información y usuarios. • Les da a los desarrolladores las herramientas y tecnologías para hacer rápidamente soluciones de negocios que involucran distintas aplicaciones, dispositivos físicos y organizaciones .

  13. La plataforma .NET • El objetivo de la plataforma .NET es simplificar el desarrollo de aplicaciones. • Provee las herramientas y tecnologías para transformar a Internet en una plataforma de computación distribuida en gran escala. • Esta plataforma además soporta los estándares sobre los cuales se basan los servicios Web

  14. La plataforma .NET • Es un conjunto de tecnologías para desarrollar y utilizar componentes que nos permitan crear formularios web, servicios web y aplicaciones Windows, en general, proporcionan una solución integral a un problema.

  15. Una plataforma software • Nuevo nivel: .NET Framework • Nueva herramienta: Visual Studio.NET • Unos servidores: .NET Enterprise Servers

  16. Manipular datos en formato XML • Poder transformar datos en XML a otros formatos y viceversa. • Coordinar el flujo de información entre aplicaciones dentro de la empresa y también 'orquestar' el flujo de datos con otras empresas. • Funcionalidades muy importante actualmente ya que las distintas aplicaciones deben comunicarse entre si y muchas veces los formatos de los datos son incompatibles.

  17. Permite diseñar, desarrollar, depurar e instalar soluciones basadas en .NET.

  18. El Marco de Trabajo .NET es una tecnología nueva de Microsoft y por su importancia merece que la estudiemos con detenimiento.

  19. Introducción al .Net Framework Erick López Ovando Licenciado en Informática

  20. Visual Studio .Net

  21. Common Language Runtime • Proporciona algo similar a la máquina virtual de Java. • Desde el punto de vista del desarrollador, se facilita su trabajo al poner a su disposición una variedad de lenguajes que funcionan en una plataforma común. • Es un entorno que provee servicios automáticos al código que se ejecuta.

  22. Type Checker Exception Manager CLR .NET Framework Class Library Support Thread Support COM Marshaler Security Engine Debug Engine MSIL to Native Compilers Code Manager Garbage Collector Class Loader

  23. Cargador de Clases: Permite cargar en memoria las clases • Compilador MSIL a nativo: Transforma código intermedio de alto nivel independiente del hardware que lo corre a código de máquina propio del dispositivo que lo ejecuta. • Administrador de Código: Coordina toda la operación de los distintos subsistemas del Runtime de lenguaje común • Colector de Basura: Elimina de memoria objetos no utilizados. • Motor de Seguridad: Administra la seguridad del código que se ejecuta • Motor de Depuración: Permite hacer un seguimiento de la ejecución del código aun cuando se utilicen lenguajes distintos. • Chequeador de Tipos: Controla que las variables de la aplicación usen el área de memoria que tienen asignado. • Administrador de Excepciones: Maneja los errores que se producen durante la ejecución del código • Soporte de Hilos: Permite ejecutar código en forma paralela • Empaquetador de COM: Coordina la comunicación con los componentes COM para que puedan ser usados por el Marco de Trabajo. • Soporte de la Librería de Clase Base: Interfase con las clases bases del Marco de Trabajo .

  24. CLR

  25. Módulo • Un archivo DLL o EXE Windows PE (Portable Executable) • Contiene código en lenguaje intermedio (IL), metadatos y opcionalmente el manifiesto del assembly

  26. Módules o Modules • Los módulos son ficheros que pueden ser de dos tipos: • ficheros o módulos de recursos(ficheros.gif, .html, etc.). • ficheros o módulos de código compilado(código MSIL). • En la plataforma .NET se distinguen tres tipos de módulos de código compilado: • Ejecutables (ficheros.exe) . • Librerías de enlace dinámico (ficheros.dll). • Módulos que conforman un ensamblado (ficheros.netmodule)

  27. Módulo • Metadatos: datos sobre los datos • Los metadatos proporcionan información adicional a los tipos declarados en el IL y son usados por el CLR • El CLR usa varios compiladores para traducir IL a código nativo en tiempo de ejecución o JIT • Un módulo de código compilado se compone de: • Cabecera de CLR que le informa de si es un módulo gestionado, la versión del CLR que necesita, su firma digital... • Los metadatos que son información sobre los tipos definidos en su código. • Código IL.

  28. Cabecera PE / COFF Cabecera CLR Datos CLR Metadatos Código IL Recursos Código y recursos nativos

  29. Assemblies (1/5) • Un concepto que introduce .NET • Constituyen la unidad lógica de despliegue en la plataforma .NET. • Viene a ser algo parecido a los ficheros JAR (Java archives) de Java.

  30. Assemblies (2/5) • Unidad primaria de implantación. • Auto descriptivo e independiente de la plataforma. • Compuesto de un manifiesto y uno o más módulos. • Todo el programa, con sus archivos de recursos (imágenes, páginas HTML, etc) es agrupado en un solo bloque llamado ensamblado. • Tienen forma de .exe o de .dll y contienen todos los datos necesarios para la aplicación. • Además, contiene datos que lo describen e indican qué elementos tiene en su interior  Metadatos.

  31. Assemblies (3/5) • Un assembly incluye: • Metadatos acerca de los componentes incluidos en el assembly (versiones, tipos, dependencias...). • Metadatos acerca de los tipos incluidos (propiedades, atributos, métodos, signaturas, clases base...). • El código intermedio MSIL (Microsoft Intermediate Language, similar a los bytecodes de Java). • Los recursos adicionales que sean necesarios (imágenes, textos...).

  32. Assemblies (4/5) • Al contener todos los datos sobre sí mismos, no es necesario que registren nada  Una copia del directorio es suficiente para ejecutar la aplicación. Sin instalaciones. • Cada vez que se se cree una librería se creará su ensamblado y tendrá sus propias políticas de seguridad • Visores de ensamblado: • ILDASM (Herramienta de Microsoft) • Visor extendido: http://www.codeproject.com/dotnet/asmex.asp

  33. Assemblies (5/5) • Dos tipos de ensamblado: • Privados: Solo es usado por una aplicación que se encuentra en la misma subcarpeta. Es el tipo que crea el compilador por defecto. • También llamadas weakly named assemblies • Públicos o compartidos: Son ensamblados creados para ser usados por cualquier aplicación. Se almacenan en la caché global de ensamblado. • Deben ser strongly named (contiene la clave pública y firma digital del que publica).

  34. Biblioteca de clases .NET (1/2) • La bibliotecade clases base son las clases sobre las cuales se construyen todas las demás clases que utilizan los programas de Visual Studio .NET. • La clase madre de todas es System. • A partir de ella, por el mecanismo de herencia, se construyen las demás clases .

  35. Biblioteca de clases .NET (2/2) • La librería de Clases Base es independiente del lenguaje.

  36. Más Clases • ADO.NET: Son clases que implementan el acceso a los datos. • ASP.NET: Son clases que permiten crear Aplicaciones Web y Servicios Web • Interfase del Usuario: Son clases que permiten hacer aplicaciones Windows

  37. Microsoft Intermediate Language • MSLI es el “código intermedio”, generado una vez que se compila nuestra aplicación (código fuente). • Este código es independiente de la plataforma de hardware. • Una vez compilado, el CLR administra la ejecución de la aplicación.

  38. Código Nativo • Uno de los subsistemas del CLR se llama compilación JIT • Este transforma el código intermedio MSIL al código de máquina en el sistema donde la aplicación se va a ejecutar. • Esta compilación a lenguaje de maquina (código nativo) lo hace en el momento de ejecución del código.

  39. Compilación JIT • Compilación JIT==Just In Time • Se compila al momento de correr el código • La compilación es por método • Durante la compilación se verifica el código • Si es verificable • Una vez compilado queda en memoria para llamadas subsiguientes • Se descarta al terminar el proceso

  40. Assembly Compilador de lenguaje Código nativo Compilador JIT Ejecución Compilación Código (IL) Código fuente Metadatos Antes de la instalación o la primera vez que se invoca a cada método

  41. Jitter Normal • Es el que se suele usar por defecto, y sólo compila el código MSIL a código nativo a medida que va siendo necesario. • Así se ahorra tiempo y memoria al evitarse tener que compilar innecesariamente código que nunca se ejecute.

  42. Jitter Normal • El cargador de clases del CLR sustituye inicialmente las llamadas a métodos de las nuevas clases que vaya cargando por llamadas a funciones auxiliares (stubs) que se encarguen de compilar el verdadero código del método. • Una vez compilado, la llamada al stub es sustituida por una llamada directa al código ya compilado, con lo que posteriores llamadas al mismo no necesitarán compilación.

  43. Jitter Económico • Funciona de forma similar al jitter normal solo que no realiza ninguna optimización de código al compilar sino que traduce cada instrucción MSIL por su equivalente en el código máquina sobre la que se ejecute. • Se utiliza en dispositivos empotrados con poca memoria y potencia de CPU. • Aunque genere código más ineficiente es menor el tiempo y memoria que necesita para compilar.

  44. Soporte para múltiples lenguajes • Para permitir el desarrollo de componentes utilizando múltiples lenguajes de programación, la plataforma .NET establece un sistema de tipos común (CTS: Common Type System) y una especificación que permite que puedan interactuar fragmentos de código escritos en distintos lenguajes (CLS: Common Language Specification).

More Related