viernes, 26 de septiembre de 2014

XML con C# (C1A7): La Infraestructura de Desarrollo de Microsoft .NET Framework para Aplicaciones y Servicios XML

Índice

0. Introducción
1. La Pila de Componentes de .NET Framework
2. Sistema Operativo
3. Common Language Runtime (CLR)
4. Base Class Library (BCL)
5. Aplicaciones Personalizadas
6. Lenguajes de Programación
7. Visual Studio
8. Conclusiones
9. Glosario
10. Literatura & Enlaces

0. Introducción

Introduciremos en este artículo de XML con C#, varios de los elementos integrales importantes en la infraestructura de Microsoft .NET Framework que soportan directa o indirectamente las operaciones posible sobre el lenguaje de marcado extensible -XML- desde el lenguaje de programación C#. Describiremos, grosso modo, estos componentes para comprender el rol que juegan en esta infraestructura de desarrollo, inclusive, haremos mención sobre el entorno de desarrollo integrado (IDE) Visual Studio, el cual acelera la construcción de una aplicación gracias a las numerosas y poderosas herramientas disponibles. Todo esto, como ya hemos dicho, es para comprender el soporte que brinda .NET para el desarrollo de aplicaciones, servicios basados en XML.

1. La Pila de Componentes de .NET Framework


Para hacer la descripción que hemos mencionado, es importante empezar con la visión general (o big picture) de los componentes integrales de Microsoft .NET Framework. Como ya iremos viendo, cada uno de estos componentes juega un papel importante en proveer artefactos para la infraestructura de desarrollo, de tal modo que el programador/desarrollador cuente con las herramientas necesarias y suficientes para soportar las demandas básicas de servicios en un proyecto de construcción de software (lenguajes de programación, ambiente de ejecución, seguridad en transacciones y operaciones, biblioteca de elementos de programa base, entre otros más). En la Figura 1 se muestra la pila de componentes de .NET Framework.
Pila de .NET Framework
Figura 1. Pila de Componentes de .NET Framework.

2. Sistema Operativo

El componente principal para la ejecución de una aplicación desarrollada con los servicios y componentes de infraestructura de .NET Framework corresponde con el sistema operativo. De acuerdo con [2], .NET Framework empezó a brindar soporte para los sistemas operativos Windows [3] a partir de su versión de Windows XP, e incluida las versiones basadas en equipos de trabajo como Windows 2000. Las versiones más recientes del sistema operativo de Microsoft, incluyen por defecto la instalación de .NET Framework. Esto último quiere decir que el programador interesado puede empezar a escribir código en cualquiera de los lenguajes compatibles, no tiene que recurrir a descargas desde Internet, y posteriores instalaciones y configuraciones.

3. Common Language Runtime

La Common Language Runtime (CLR) comprende la implementación de la CLI por parte de Microsoft .NET Framework. Podemos pensar en este componente como una máquina virtual o ambiente de ejecución virtualizado para la ejecución de las aplicaciones y servicios escritos con esta tecnología de desarrollo. Básicamente esta máquina virtual brinda al programador los siguientes servicios administrados:
  • Seguridad
  • Manejo automático de memoria
  • Manejo automático de excepciones
En la Figura 2 [4] se describe el proceso de escritura de un programa en cualquiera de los lenguajes soportados o compatibles con la máquina virtual CLR, la traducción del código fuente por parte del compilador inherente a cada lenguaje, la representación en bytecode (o también conocido como representación de código intermedia), y finalmente la traducción/ejecución de bytecode por la CLR a código nativo.
Operación de la Common Language Runtime
Figura 2. Operación de la Common Language Runtime (CLR) [4].

4. Base Class Library (BCL)

Enseguida, tenemos la ~biblioteca base de clases (Base Class Library - BCL) que consiste en cientos de miles de elementos de programa para el soporte de las funciones más básicas, como:
  • Lectura y escritura de archivos
  • Renderizado de gráficos
  • Conexión a bases de datos
  • Programación de sockets
  • Manipulación de texto
  • Programación Web, 
  • Manipulación de XML
  • entre otras más
Todo este conjunto de funciones comunes evitará al programador deba empezar un proyecto desde cero y escribir complejas funciones que sólo podrían ser escritas por especialistas experimentados en un área específica (e.g., criptografía, redes, ergonomía interfaces gráficas).

Vemos que entre las funciones comunes existe soporte para la manipulación, y esto representa un gran alivio para el programador, pues todos los artefactos, por ejemplo encontrados en System.Xml [5] ofrecen soporte para operaciones comunes: lectura, escritura y manipulación de archivos XML. (Más adelante desentrañaremos este namespace.)

5. Aplicaciones Personalizadas

Gracias al conjunto de funciones comunes ofrecidas por la biblioteca base de clases (BCL), el programador de tecnologías Microsoft .NET Framework puede escribir aplicaciones de negocios especializadas gracias al amplio soporte que brindan los demás componentes integrales de este Framework. Estas aplicaciones personalizadas, contarán con ambiente de ejecución que garantiza la seguridad, interoperabilidad con otros sistemas, alto desempeño entre otras características no funcionales que potencializan e incrementan la estabilidad y calidad del producto.

6. Lenguajes de Programación

Los principales lenguajes compatibles con la especificación de .NET Framework con los que el programador puede escribir el código fuente para el desarrollo de librerías, componentes, aplicaciones, etc. consiste en los siguientes:
  • C#
  • F#
  • C++
  • Visual Basic.NET
Todos estos lenguajes son interoperables. Lo que esto quiere decir, es que si un programador escribe una librería, por ejemplo en Visual Basic.NET y desea compartir o distribuir comercialmente esta librería, otros programadores que desconozcan el uso sintáctico de Visual Basic.NET, pueden importar la librería al entorno de trabajo y hacer uso de los elementos de programa (e.g., clases, interfaces, enumeraciones, colecciones) de forma transparente. Lo anterior tiene nombre propio: interoperabilidad de lenguaje [2].

7. Entorno de Desarrollo Integrado: Visual Studio

Visual Studio es un entorno de desarrollo integrado (o IDE, por sus siglas en inglés) desarrollado por Microsoft. Este IDE brinda soporte para el desarrollo de aplicaciones como:
  • Aplicaciones Windows
  • Sitios Web
  • Aplicaciones Web
  • Servicios Web
  • Librerías
  • Aplicaciones basadas en consola
  • ...Entre otros más
Como mencionamos en la sección 2, las versiones más recientes del sistema operativo Windows ya vienen con una de las últimas versiones de .NET Framework, a partir de este punto el programador ya puede empezar escribir sus propias aplicaciones en uno de los lenguajes compatibles (e.g., los enumerados en la sección 6) sobre un editor de texto plano como Notepad++ o el mismo Bloc de notas de Windows; sin embargo, con Visual Studio la creación de aplicaciones es mucho más productivo gracias a herramientas como:
  • Editor de código fuente
  • Depurador
  • Compilador
  • Cajas de herramientas
  • Comandos de acceso rápido
  • Pruebas de validación de solución
  • Refactorización de código
  • Diseñador de interfaces gráficas de usuario
  • Diseñador de esquema de bases de datos
  • Entre otros (incluida extensiones de terceros).

8. Conclusiones

Hemos visto con un nivel de detalle superficial varios de los componentes que integran la pila de Microsoft .NET Framework para la construcción de software. Este recorrido por los principales componentes nos sirven para tener una amplia visión y concepción de lo que nos brinda el Framework, en particular podemos visionar las capacidades funcionales y el soporte para el desarrollo de aplicaciones o servicios basados en XML. A medida que avancemos en la producción intelectual de este tipo de artículos, iremos diseccionando el nombre de espacio System.Xml e intuitivamente reflexionaremos sobre la estrecha relación que guardan los componentes descritos que brindan todo el soporte para la productividad del programador/desarrollador. En el próximo artículo resaltaremos la relación .NET y XML.

9. Glosario

  • .NET
  • Aplicación
  • Aplicación Web
  • CLR
  • Common Language Runtime
  • Framework
  • Microsoft
  • Notepad
  • Notepad
  • Pila
  • Sitio Web
  • Visual Studio
  • Windows
  • Windows XP
  • XML

10. Literatura & Enlaces

[1]: Beginning XML with C# 2008 From Novice to Professional by Bipin Joshi. Copyright 2008 Bipin Joshi, 978-1-4302-0998-0.
[2]: .NET Framework - Wikipedia, the free encyclopedia - https://en.wikipedia.org/wiki/.NET_Framework
[3]: Microsoft Windows - Wikipedia, the free encyclopedia - https://en.wikipedia.org/wiki/Microsoft_Windows
[4]: Common Language Runtime - Wikipedia, the free encyclopedia - https://en.wikipedia.org/wiki/Common_Language_Runtime
[5]: System.Xml Namespace () - http://msdn.microsoft.com/en-us/library/system.xml(v=vs.110).aspx
[6]: Microsoft Visual Studio - Wikipedia, the free encyclopedia - https://en.wikipedia.org/wiki/Microsoft_Visual_Studio


J

No hay comentarios:

Publicar un comentario

Envíe sus comentarios, dudas, sugerencias, críticas. Gracias.