Framework .net

Click here to load reader

  • date post

    10-May-2015
  • Category

    Education

  • view

    659
  • download

    2

Embed Size (px)

Transcript of Framework .net

  • 1..NET Framework David Gan Jimnez P08/B0036/01625

2. FUOC P08/B0036/01625 .NET Framework ndice Introduccin.......................................................................................... 5 Objetivos................................................................................................. 6 1. El .NET Framework....................................................................... 7 1.1. Ventajas principales del .NET Framework ................................ 8 1.2. Versiones de NET ...................................................................... 10 2. Common Language Runtime (CLR).......................................... 12 2.1. Funciones del CLR .................................................................... 12 2.2. Proceso de ejecucin de una aplicacin .NET .......................... 14 2.2.1. Compilacin .................................................................. 14 2.2.2. Enlazado ......................................................................... 15 2.2.3. Creacin de un dominio de aplicacin ......................... 15 2.2.4. Cargador de clases ......................................................... 16 2.2.5. Compilacin JIT ............................................................. 16 2.2.6. Ejecucin CLR ................................................................ 18 3. Common type system (CTS).......................................................... 19 3.1. Elementos del CTS .................................................................... 19 3.2. Tipos valor frente a Tipos referencia ........................................ 19 3.3. Tipos de miembros .................................................................... 20 3.4. Visibilidad .................................................................................. 20 3.5. CLS Common language specification........................................... 21 4. Framework Class Library (FCL)................................................. 22 4.1. Funcionalidades principales de la FCL ..................................... 23 4.2. Otros namespaces de la FCL ...................................................... 24 5. Ensamblados.................................................................................... 25 5.1. Caractersticas de los ensamblados ........................................... 25 5.2. Tipos de ensamblados ............................................................... 26 5.3. Estructura de un ensamblado ................................................... 26 5.3.1. Visualizacin del contenido de un archivo PE .............. 28 5.3.2. Internacionalizacin ...................................................... 29 5.4. Global assembly cache .............................................................. 30 5.4.1. Strong name...................................................................... 31 5.4.2. Instalacin en la GAC ................................................... 32 5.4.3. Versionado ..................................................................... 32 5.4.4. Ejecucin 'side-by-side' .................................................... 33 3. FUOC P08/B0036/01625 .NET Framework Bibliografa............................................................................................ 35 4. FUOC P08/B0036/01625 5 .NET Framework Introduccin El .NET Framework es el componente principal de Microsoft .NET. Constituye la plataforma de desarrollo de las aplicaciones .NET e incluye las herramien- tas y componentes necesarios para desarrollar diferentes tipos de aplicaciones (Windows, web, para dispositivos mviles, etc.). El resto de herramientas y tecnologas .NET se basan en dicha plataforma. En este tema, veremos los conceptos bsicos del .NET Framework, necesarios para entender el proceso de creacin y ejecucin de aplicaciones .NET. 5. FUOC P08/B0036/01625 6 .NET Framework Objetivos El material que se os presenta a continuacin ha sido elaborado teniendo en cuenta los siguientes objetivos especficos: 1. Conocer en profundidad del .NET Framework: caractersticas, ventajas y componentes principales del .NET Framework. 2. Conocer el proceso de compilacin y ejecucin de aplicaciones .NET. 3. Saber el concepto de ensamblado y sus caractersticas principales. 4. Ser capaces de escribir los componentes principales de la plataforma. 6. FUOC P08/B0036/01625 7 .NET Framework 1. El .NET Framework El .NET Framework es el conjunto de componentes y herramientas que per- miten la ejecucin de aplicaciones .NET. Para desarrollar aplicaciones .NET se utilizan las herramientas del .NET Framework SDK. Dentro del .NET Frame- work podemos distinguir las tres partes principales siguientes: CLR (common language runtime). Permite la ejecucin de aplicaciones .NET dentro de un entorno gestionado. Gracias al CLR, las aplicaciones .NET se pueden instalar y desinstalar ms fcilmente, con una mejor gestin de versiones, y control de seguridad. Adems, dado que todos los lenguajes comparten el CLR, el desarrollo, la depuracin y la ejecucin de aplicacio- nes puede realizarse, aunque la aplicacin est desarrollada en diferentes lenguajes de programacin. CLS (common language specification) y lenguajes .NET. CLS es una especifi- cacin de las caractersticas de los lenguajes de programacin compatibles con el .NET Framework. Esta especificacin es precisamente la que permite que se puedan implementar nuevos lenguajes de programacin adaptados a la plataforma. El .NET Framework incluye cinco lenguajes de programacin: Visual Basic .NET, Visual C++ .NET, C#, J# y JScript. No obstante, permite que otros len- guajes desarrollados por terceros puedan acoplarse fcilmente a la plata- forma, y ya existe una gran variedad de ellos, entre los cuales podemos en- contrar versiones de COBOL, FORTRAN, Ada, Pascal, Haskell, Eiffel, Delp- hi, etc. FCL (framework class library). La biblioteca de clases comunes est com- puesta por una serie de clases con las herramientas y utilidades bsicas necesarias para empezar a desarrollar aplicaciones, todas ellas disponibles para todos los lenguajes .NET gracias al CLS. Dentro de la FCL, podemos destacar algunas de las libreras ms importantes, como las funcionalida- des bsicas del sistema operativo (Base Class Library BCL), adems de otras tecnologas como ASP.NET, WinForms para creacin de interfaces graficas, ADO.NET para acceso a datos, etc. 7. FUOC P08/B0036/01625 8 .NET Framework Estructura del .NET Framework 1.1. Ventajas principales del .NET Framework El hecho de que .NET Framework est desarrollado sobre estndares confiere una gran ventaja a esta plataforma. Tanto el componente principal del .NET Framework (CLR), como la especificacin de los lenguajes .NET (CLS) y el len- guaje C#, han sido estandarizados por ECMA (European Computer Manufac- turers Association). Por otro lado, muchas de las tecnologas que utiliza el .NET Framework son estndares, como XML, SOAP, UDDI, WDSL, etc. La utilizacin de estndares favorece otras ventajas del .NET Framework como son la integracin de aplicaciones o la interoperabilidad entre lenguajes. A continuacin, repasamos las ventajas ms importantes: Integracin de componentes y aplicaciones. Los servicios web proporcio- nan una arquitectura gil del sistema, tanto interna como externamente, simplificando la integracin de aplicaciones o componentes por medio de intranets o de Internet. Adems, permiten la integracin de aplicaciones ya existentes de forma sencilla y sin necesidad de grandes modificaciones, con independencia de la plataforma y lenguaje utilizado para desarrollar la aplicacin. Esto es posible gracias a que los servicios web estn basados en el estndar XML. Interoperabilidad entre lenguajes. El .NET Framework proporciona un en- torno comn de desarrollo y ejecucin para todos los lenguajes .NET. To- dos los lenguajes .NET permiten desarrollar aplicaciones Windows, Web Services, pginas ASP.NET o aplicaciones para dispositivos mviles. Todos los lenguajes .NET comparten la librera de clases (FCL), el sistema de depuracin 1 , el sistema de excepciones, la gestin automtica de me- moria, etc. De hecho, se pueden utilizar diferentes lenguajes .NET para desarrollar partes distintas de una misma aplicacin. Esto facilita que los programadores puedan escoger el lenguaje de programacin en funcin de sus preferencias y no de la potencia del lenguaje, ya que todos ellos tienen acceso a las mismas funcionalidades. (1) La depuracin, la gestin de ex- cepciones y la gestin de memoria son tareas del CLR, como veremos ms adelante. Tanto la FCL como el CLR son comunes para todos los lenguajes .NET. 8. FUOC P08/B0036/01625 9 .NET Framework El .NET Framework incluye cuatro lenguajes de programacin desarrolla- dos por Microsoft: C#, Visual Basic .NET, C++.NET y J#. Aparte de estos lenguajes, existen otros lenguajes .NET desarrollados por otras compaas o grupos de entusiastas. La creacin de lenguajes .NET por grupos o em- presas ajenas a Microsoft es posible gracias a que la especificacin de los lenguajes .NET es un estndar. Facilita el desarrollo. El .NET Framewok est diseado enteramente bajo el paradigma de la orientacin a objetos. Esto facilita el desarrollo de nuevos componentes, y el uso de los componentes disponibles en la librera de clases. La librera de clases de .NET Framework incluye multitud de componen- tes que encapsulan tareas comunes, como el acceso a bases de datos, la creacin y gestin de formularios de usuario, la creacin y control de th- reads 2 de ejecucin, etc. Adems, algunas de las tareas necesarias en COM como la gestin de me- moria o el control de punteros, que son fuente de muchos de los proble- mas de falta de memoria o de accesos incorrectos, han sido eliminados, gracias a la implementacin de un gestor automtico de memoria, y al uso de referencias en vez de punteros 3 . (2) Los threads o hilos de ejecucin son subprogramas que se ejecu- tan dentro de un mismo proceso simultneamente, compartiendo sus recursos (3) Tanto los punteros como las re