Latest Entries »

Hola

Hoy vamos a hablar de cada uno de los componentes de la Arquitectura del  Framework .NET lo haré en un lenguaje claro, conciso y concreto que nos permita a todos entenderlo.

Arquitectura Dot NET

Figura 1. Arquitectura General del Framework .NET

Para entender nuestro diagrama que representa la arquitectura hagamos el símil con los pasos seguidos para construir un edificio; para construir este debemos contar con un terreno, en el caso del Framework (FW) .NET este terreno es el sistema operativo, de lo cual se desprende que ya muchos de ustedes estarán pensando que solo esto correrá en sistemas operativos de la compañía Microsoft; y debo decirles que no es de todo cierto pues al ser .NET una filosofía ya otras casas productoras de software han asumido esta filosofía dentro de sus lenguajes de programación y existe un proyecto denominado MONO que busca llevar el framework .NET a sistemas operativos como LINUX y convertirla en una plataforma abierta (open source). Para más información pueden visitar este sitio http://www.mono-project.com/Main_Page .

Después en la siguiente capa tenemos al Common Language Runtime (CLR) ó el motor en tiempo de ejecución de lenguaje común. Enredado la traducción literal. Bueno, Recordemos que el FW .NET lo que nos ofrece es una vista orientada a objetos de las funciones del sistema operativo,  por lo tanto el CLR es la primera capa que es responsable de los servicios fundamentales, como la administración de memoria, la recolección de los objetos que ya no usamos y que están todavía en memoria (Garbage collector), el manejo estructurado de excepciones y los multiprocesos. El CLR es el gerente de todas las aplicaciones .NET aunque nunca podemos interactuar directamente con él, el si controla todas nuestras aplicaciones.

El BCL (base Common  Library) o biblioteca de clases común, como su nombre lo indica contiene un gran número de clases agrupadas en un poco mas de 30 ensamblados que nos permiten realizar todas las tareas imaginables, tales como despliegue de ventanas graficas, lectura de archivos, envío de HTML  a través de un navegador de Internet. También el BCL nos define todos los tipos de datos básicos; donde el objeto base o raíz de todos es el System. Object (de hecho es la raíz de todos los objetos en .NET).  Todos los tipos que pertenecen a la BCL están compilados en los ensamblados mscorlib.dll y System.dll.

ADO .NET y XML. ADO .NET es conjunto de librerías especializadas en la conexión a motores de bases de datos y su interacción con los mismos; aquí podemos trabajar en modo conectado o desconectado. XML  es la herramienta que nos permite que esa interacción con los diferentes motores de bases de datos sea transparente ya que todo se puede traducir fácilmente a este lenguaje (importar y exportar en formato XML), para ser desplegado en un objeto Dataset o Datatable.

ASP .NET. Es la parte del FW .NET que permite crear aplicaciones de Internet e Intranet. Las aplicaciones ASP.NET se dividen en dos categorías: Aplicaciones WebForms y Web Services.

Windows Forms. Permite crear aplicaciones para escritorio Windows. La creación de un proyecto Windows Forms es muy similar a la que usábamos en Visual Basic 6.0.

CTS (Common Type Specifications). Define unas reglas básicas y comunes que deben cumplir los tipos de datos, las propiedades, los métodos y eventos; también define como un tipo se hereda de otro y la posible sobre escritura de sus miembros. Gracias al CTS es posible intercambiar información entre los diferentes lenguajes de programación de .NET, utilizar tipos escritos en lenguajes diferentes y hasta tener herencia entre ellos.

CLS (Common Language Specification). Dicta las características mínimas que debe contener un lenguaje de programación para calificarlo como lenguaje .NET. Gracias a él se pueden tener muchos lenguajes de programación incluso de otros fabricantes haciendo parte del Framework .NET y más específicamente de Visual Studio.

Lenguajes de Programación. Hoy en día Visual Studio cuenta con más de 30 lenguajes de programación en donde podemos destacar a Visual Basic, Visual C#, Visual F#, Visual J#, Visual C++, Delphi .NET, entre otros.

A medida que vayamos avanzando les iré explicando otros términos o conceptos que hacen parte del Framework .NET por el momento creo que es suficiente y en un próximo articulo ya entraremos en materia sobre los conceptos fundamentales para programar en Visual Basic 2010 (Visual Basic 10.0) y tranquilos también miraremos el mismo tema desde Visual C# y Visual F#.

Saludos,

Thierry.

  • QUE ES EL FRAMEWORK .NET?

El framework .NET es un marco de desarrollo integrado que permite tener agrupado todas las herramientas y clases necesarias para programar aplicativos en ambientes windows, en ambientes Web (ASP .NET, Web Services), para dispositivos moviles y hasta juegos (Aplicaciones para XBOX – XNA).

El Framework .NET fue creado para cumplir con los siguientes objetivos:

  • Proporcionar un entorno coherente de Programación Orientada a Objetos (POO).
  • Proporcionar un entorno de ejecución unico que evite los conflictos de versiones .
  • Mejorar el rendimiento a la hora de codificar y del aplicativo en tiempo de ejecución.
  • Ofrecer un entorno de trabajo común sin importar el tipo de aplicación que vayamos a crear.
  • Estar basado en los estandares tecnológicos definidos en la industria de tal manera que se facilite su integración con otras tecnologias presentes en el mercado.

.NET Framework consta de dos componentes principales: Common Language Runtime (CLR) y la biblioteca de clases de .NET Framework (BCL – Basic Common Library).

El Common Language Runtime es el fundamento de .NET Framework, este consiste en un motor en tiempo de ejecución que se encarga de administrar el código y proporciona servicios centrales, como la administración de memoria, la administración de subprocesos y la comunicación remota, al tiempo que aplica una seguridad estricta a los tipos y otras formas de especificación del código que promueven su seguridad y solidez. De hecho, el concepto de administración de código es un principio básico del motor en tiempo de ejecución. El código destinado al motor en tiempo de ejecución se denomina código administrado, a diferencia del resto de código, que se conoce como código no administrado.

La biblioteca de clases (BCL), el otro componente principal de .NET Framework, es una completa colección orientada a objetos de tipos reutilizables que se pueden emplear para desarrollar aplicaciones que abarcan desde las tradicionales herramientas de interfaz gráfica de usuario (GUI) o de línea de comandos hasta las aplicaciones basadas en las innovaciones más recientes proporcionadas por ASP.NET, como los formularios Web Forms y los servicios Web XML.

  • VERSIONES

El framework desde que vio la luz en el año 2002, ha pasado por multiples versiones; entre ellas quiero destacar las siguientes:

  1. Framework 1.0
  2. Framework 1.1
  3. Framework 2.0
  4. FrameWork 3.0
  5. Framework 3.5
  6. Framework 4.0

Flujo de Versiones del Framework .NETFigura 1. Evolución de Caracteristicas y Versiones del Framework .NET (Tomada de MSDN Microsoft)

Si desean tener mas información acerca del versionamiento, los invito a leer el siguiente articulo:  Versionamiento del Framework .NET

Solo quisiera destacar que en la Versión 3.0 del Framework hizo su aparición WPF (Windows Presentation foundation), WCF (Windows Comunication Foundation), WWF (Windows Workflow Foundation) y Windows Cardspace; en la versión 3.5 aparece  LINQ (Language INtegrated Query) y se añade el soporte para este en la BCL (Base Class Library) ; También se agregaron funcionalidades y mejoras extra como los método lambda, los métodos extensores o mejoras en WWF y WCF (soporte REST entre otros).

Con el SP1 del Framework 3.5 y de Visual Studio 2008 se agrega el soporte  de MVC (Model View Controller) para el desarrollo de aplicaciones Web en ASP.NET.

En la actualidad, la última versión de .NET Framework es la versión 4.0. Entre las novedades que incluye podemos mencionar: el nuevo tipo de datos BigInteger, Windows Azure (Para realizar aplicaciones en la nube – Cloud Computing -), DLR (Dynamic Language Runtime) y su soporte para trabajar con F#, IronRuby e IronPython, soporte para trabajar con contratos de código (Code Contracts), características para trabajar con la plataforma de modelado Oslo y el lenguaje de programación M, la posibilidad de trabajar con extensiones paralelas (conocida como Parallel Computing), mejoras en el Garbage Collector (GC) o recolector de basura, funcionalidades relativas a la covarianza y contravarianza, mejoras en los algoritmos de comprensión (ahora son más rápidos, con mayor ratio de compresión y con soporte para ficheros de más de 4 Gb), mejoras relativas a MVC, Dynamic Data, compatibilidades CSS, soporte para jQuery e IntelliSense para JScript y jQuery (ASP.NET), y mejoras en WPF y WWF.

En el proximo artículo les hablaré de la Arquitectura del Framework .NET y les describiré cada uno de sus componentes.

Hasta Pronto.

Thierry.

REFERENCIAS:

  • Introducing .NET. David S. Platt.
  • MSDN Microsoft
  • Programación Avanzada con Visual Basic 2005. Francesco Balena.

Hola a Todos

A partir de este momento vamos a iniciar un viaje sorprendente sobre la filosofía de desarrollo de la empresa Microsoft denominada .NET (dotnet como se conoce en Inglés).

Esta filosofía estTecnologia .NETa sustentada sobre un framework (o marco de trabajo) de desarrollo el cual ha venido evolucionando desde la versión 1.0 hasta la actual versión 4.0.

Aunque se podría desarrollar aplicaciones sobre este framework usando un bloc de notas (por ejemplo Notepad) sería una tarea dispendiosa y arriesgada, jajaja. Por ello Microsoft, tambien provee una plataforma o ambiente de desarrollo (IDE – Entorno Integrado de Desarrollo) llamado Visual Studio; el cual tambien ha ido evolucionando a traves de la vida del framework. En Abril del 2010 Microsoft lanzo a nivel mundial su mas reciente suite de desarrollo Visual Studio 2010.

Como en todo viaje antes de iniciar deberemos definir nuestra ruta y punto de llegada y este será el Desarrollo de Aplicaciones Windows usando .NET.

Más adelante nos iremos adentrando en otras lineas de trabajo como son:

  • Desarrollo de Aplicaciones Web (ASP .NET)
  • Silverlight
  • WebServices.

Bienvenidos y espero contar con su apoyo.

Cordialmente,

Thierry.