Introducción a la plataforma .NET

Página creada Manuel Flamenco
 
SEGUIR LEYENDO
Introducción a la plataforma .NET
Introducción a la plataforma .NET

Autora: Mª del Pilar Pavón Rosano

DNI: 52.923.715-W

INTRODUCCIÓN

   Este artículo está dirigido a los profesores y profesoras del módulo “Diseño y
Realización de Servicios de Presentación en Entornos Gráficos” que incluyan en sus
contenidos la plataforma .NET y del módulo “Programación en Lenguajes Estructurados”
que quieran complementar los contenidos que se imparten sobre lenguajes C y C++ con el
nuevo lenguaje C# surgido junto con la plataforma .NET, ambos del Ciclo de Grado
Superior de Desarrollo de Aplicaciones Informáticas, y a los profesores y profesoras del
módulo “Mantenimiento de Portales de Información” del Ciclo Formativo de Grado Medio
Explotación de Sistemas Informáticos para completar los contenidos de ASP, con
ASP.NET, así como a los alumnos y alumnas de estos módulos que les interese ampliar sus
conocimientos y en general a todo el que le interese iniciarse en este entorno de desarrollo.

   En este artículo vamos a ver una introducción a las tecnologías relacionadas con la
plataforma .NET, como son el lenguaje C#, la nueva versión de ASP para la plataforma
.NET conocido como ASP+ o ASP.NET y la tecnología de los Web Services que se
introdujeron con esta plataforma de Microsoft.

ARTÍCULO
    Como todos sabemos, Internet se ha convertido en el centro neurálgico alrededor del
cual gira la informática actual, tanto a nivel lógico (software) como físico (hardware).
Centrándonos en el aspecto lógico, podemos observar como la creación y diseño de
páginas web, servicios web, etc. se ha convertido en el campo, o mejor dicho en el entorno
de batalla, de las distintas empresas informáticas, las cuales tratan de crear los estándares
que se establezcan definitivamente.

    Hasta hace unos años, hablar de programación sobre Internet era hablar
primordialmente de Java (SUN). Java llenó el vacio que existía desde los 90 hasta recién
llegado el 2000 en el desarrollo de software para Internet. Pero fue en el año 2000 cuando
Introducción a la plataforma .NET
se empezó a escuchar otro lenguaje para el desarrollo de aplicaciones sobre Internet, esta
vez de la mano de la multinacional Microsoft, a este lenguaje se le conoce como C#
(pronunciado C-Sharp ó C-Almohadilla).
    C# era el lenguaje que Microsoft había desarrollado para su plataforma .NET.
    ¿Qué es .NET?
    El término es, esencialmente, una nueva etiqueta del mercado que Microsoft está
pegando en sus productos. [Lauer, 2001]

    Microsoft presento en el año 2000 una nueva plataforma diseñada para facilitar la
intercomunicación vía Web de aplicaciones, basándose totalmente en una arquitectura
nueva.
    .NET introdujo una serie de nuevos productos cuya compatibilidad con los productos
existentes no siempre se garantizaba. Nació ofreciendo apoyo para 27 lenguajes de
programación que compartían una jerarquía de clases que proporcionaban servicios
básicos.
    La característica básica de .NET es que no corre en código máquina nativo, sino en un
lenguaje intermedio llamado MSIL que corre en una máquina virtual llamada Common
Language Runtime (CLR).
Introducción a la plataforma .NET
Ilustración 1 Arquitectura General de .NET

    .NET hace uso intensivo de XML y del protocolo SOAP. La idea de Microsoft, usando
SOAP, era llegar a una nueva era de programación que, en lugar de confiar en librería de
componentes u objetos, se basara en la reutilización de servicios [Lauer, 2001].

    Con la plataforma .NET, Microsoft proporciona varios lenguajes y los compiladores
asociados, como C++, JScript, VB.NET y C#, el nuevo lenguaje que surgió con .NET.

    Todos estos lenguajes se compilan vía un código binario intermedio que es
independiente de hardware y sistemas operativos; este código es MSIL (Microsoft
Intermediate Language). MSIL se ejecuta en el Common Language Runtime (CLR) que
básicamente cumple el mismo papel que JVM en la plataforma Java. MSIL se traduce
entonces en el código máquina por un compilador “Just in Time” (JiT). Las aplicaciones
compiladas en código intermedio se consideran ejecutables portables.

    Otras empresas que trabajan en sociedad con Microsoft se apresuraron por desarrollar
compiladores para otros lenguajes sobre .NET como Cobol, Eiffel y Smalltalk.

    Una de las características más notables que Microsoft destaca de la plataforma .NET
es que mantiene un API común para un gran número de lenguajes. Esta característica es sin
lugar a dudas, una gran ventaja, ya que, en gran medida, el lenguaje que un programador
bajo Windows escoge, determina la interfaz de programación de aplicaciones (API) que se
usará para hacer demandas al sistema operativo o a otras aplicaciones.
    Así, un programador de Visual Basic, usa un API específica para este lenguaje, un
programador de C probablemente escribe directamente a la API Win32 y la mayoría de los
diseñadores de C++ usan las MFC (Microsoft Foundation Classes). Porque cada uno de
estos API’s es muy diferente, es muy difícil para un diseñador sobre Windows cambiar de
lenguaje, ya que no solo es aprender un nuevo lenguaje de programación sino enfrentarse
con una nueva API. Este problema se solventa con la API común de la plataforma .NET.

    La visión de Microsoft con .NET es una red de Internet compuesta de un número
infinito de aplicaciones Web interoperando, que juntas forman una red de intercambio de
servicio global. De hecho, mirando con más detalle la arquitectura de sus componentes y
herramientas para la creación de aplicaciones Web para empresa, podemos describir la
arquitectura .NET como:

   -   Un conjunto de servicios comunes que pueden usarse desde distintos lenguajes de
       programación.

   -   Estos servicios se ejecutan como código intermedio, que es independiente de la
       arquitectura subyacente.

   -   Operan en un lenguaje común de ejecución (CLR) que maneja los recursos y
       monitoriza la ejecución de la aplicación.

   Al leer esta descripción, no se puede evitar recordar Java. De hecho, Microsoft no
oculta que se inspiró, para diseñar la plataforma .NET, en la tecnología existente, y en
particular en Java.
   Hay muchas similitudes y muchas más diferencias entre los entornos de desarrollo y
ejecución de la plataforma .NET y la plataforma J2EE de Java:

                                  Ilustración 2 .NET vs J2EE
En la siguiente tabla destacamos algunas de las características de la comparativa entre
la Plataforma Java y la Plataforma .NET:

                 Tabla 1 Comparación entre Plataforma Java y Plataforma .NET

ASP.NET

    Microsoft ha desarrollado una nueva versión de ASP llamada ASP.NET, como parte
de la estrategia de .NET para el desarrollo Web, y con el objetivo de resolver las
limitaciones de ASP y posibilitar la creación de software como servicio.
    ASP.NET (ASP+) es la plataforma unificada de desarrollo Web que proporciona a los
desarrolladores los servicios necesarios para crear aplicaciones Web empresariales.

    ASP.NET se construye sobe las clase de programación de .NET proporcionando un
modelo de aplicación web en forma de un conjunto de controles e infraestructura que
hacen simple construir aplicaciones Web. Los desarrolladores pueden utilizar un conjunto
de controles ASP+ que encapsulan elementos de interfaz de usuario HTML (Hipertext
Markup Language) como cajas de texto, menús desplegables, etc. Estos controles
funcionan en el servidor Web y solamente proyectan su interfaz de usuario a un
explorador.
    En el servidor, los controles exponen un modelo de programación orientado a objetos
que acerca la riqueza de la POO al programador Web. ASP+ también proporciona servicios
de infraestructura como reciclado de procesos y estados de sesión que reducen la cantidad
de código que el programador debe escribir y aumenta la fiabilidad de la aplicación. ASP+
también utiliza los mismos conceptos para permitir la distribución de software como un
servicio.
    Con el uso de las características de servicios Web de ASP+, los desarrolladores
pueden sencillamente escribir su lógica de negocio, y la infraestructura ASP+ será
responsable de la distribución de servicios a través del protocolo SOAP (Simple Object
Access Protocol) [Anderson 20000].
    ASP.NET forma parte del entorno de desarrollo y ejecución multilenguaje de
componentes que proporciona los bloques básicos para desarrollar aplicaciones Web y
servicios Web de la plataforma .NET. A grandes rasgos está formado por el CLR
(Common Language Runtime), una librería de clases unificada común (Base Class
Library) y ASP.NET, con Formularios Web, Servicios Web y Servicios de Acceso a Datos.

                        Ilustración 3 ASP.NET en la plataforma .NET

    ASP.NET es precisamente el entorno de programación sobre CLR y las librerías de
clases básicas para desarrollar potentes aplicaciones Web. Los modelos de programación
basados en formularios Web proporcionan un modo fácil y potente de crear interfaces de
usuarios dinámicos, y los Servicios Web de ASP.NET ofrecen los bloques básicos para
construir aplicaciones Web distribuidas que utilizan estándares como XML.
Otra de las ventajas de ASP.NET es el código aparte (Codebehind), ya que en las
versiones anteriores de ASP, los scripts estaban dentro del código de diseño de la página,
lo que hacía engorroso trabajar y luego revisar este código. Esta es una ventaja que .NET
ha tomado prestada de otros lenguajes, en este caso de CGI.

    ASP.NET ofrece ventajas importantes sobre otros modelos de desarrollo Web:

    1. Desarrollo Mejorado: ASP.NET se compila con el CLR ejecutándose en el
        servidor. Al contrario que sus predecesores interpretados, ASP.NET puede
        aprovecharse del ‘early binding’ (los objetos se conectan a las clases en tiempo de
        compilación mediante una librería de clase) y la compilación just-in-time.
    2. Una gran herramienta de apoyo: ASP.NET tiene una amplia caja de herramientas
        (toolbox) y un diseñador integrado en el entorno de desarrollo de Visual Studio
        .NET.
    3. Poder y flexibilidad: ASP.NET está basado en el Common Language Runtime, y
        esto proporciona a los diseñadores de aplicaciones Web, el poder y la flexibilidad
        de esta plataforma. Las librerías de clases del CLR de mensajería y acceso a datos
        son de acceso transparente desde la Web. Además la interoperabilidad del CLR
        garantiza que el código existente basado en componentes COM sigue funcionando
        al migrar a ASP.NET.
    4. Simplicidad: ASP.NET hace fácil realizar tareas comunes, desde un simple
        formulario y autentificación del cliente, al desarrollo y configuración del proyecto.
        Por ejemplo, el marco de trabajo de páginas ASP.NET permite construir interfaces
        de usuario separadas de la lógica de la aplicación y del manejo de eventos.
        Adicionalmente, el CLR simplifica el desarrollo con servicios de código manejado
        como la referencia automática y el recolector de basura.
    5. Fácil manejo: ASP.NET emplea un sistema de configuración jerárquico y basado
        en texto, que simplifica aplicando configuraciones al entorno servidor y a
        aplicaciones web. Al guardar la información de configuración en texto plano,
        pueden aplicarse nuevas configuraciones sin la ayuda de herramientas de
        administración locales. Es decir, una aplicación ASP.NET simplemente se pone en
        marcha en un servidor copiando los archivos necesarios al servidor, y no se
requiere que se reinicie el servidor ni siquiera habiendo reemplazado en ejecución
        código compilado.
    6. Escalabilidad y disponibilidad: ASP.NET se ha diseñado para ser escalable, con
        rasgos específicamente diseñados para mejorar su actuación en un entorno amplio
        y multiprocesador. Además, los procesos son supervisados y manejados por el
        ‘runtime’ de ASP.NET, para que si uno no funciona correctamente, un nuevo
        proceso pueda crearse en su lugar, lo que ayuda a mantener la aplicación
        constantemente disponible para atender demandas.
    7. Seguridad: Con la autentificación de Windows y una configuración por aplicación,
        Microsoft le garantiza la seguridad de sus aplicaciones.

CONCLUSION
        La plataforma .NET es un entorno de desarrollo y ejecución multilenguaje y
multisistema que permite crear aplicaciones desarrollados en lenguajes distintos (siempre
que se puedan compilar a MSIL), lo que permitirá a las empresas dividir el trabajo sin
preocuparse de la compatibilidad final de los distintos módulos de la aplicación.
        Además, con el entorno de desarrollo Visual Studio .NET pueden crearse
aplicaciones Web con acceso a datos con solo unas cuantas líneas de código. Es decir, este
entorno de trabajo facilita y acelera el desarrollo de aplicaciones habituales.

BIBLIOGRAFÍA Y REFERENCIAS WEB
    - [Anderson 2000] Anderson, R., Homer A., Howard R. “A Preview of Active Server
        Pages +”. Editorial Wrox Press 2000
    - Chapell, David “Understanding .NET. A tutorial and analysis“. Editorial Pearson
        Education 2002.
    -   [Lauer, 2001] C.Lauer, “Introducing Microsoft .NET”. Artículo obtenido en
        www.freevbcode.com
    - http://msdn.microsoft.com/en-us/default.aspx
    - http://aprendizdetecnologias.blogspot.com
También puede leer