Introducción a la plataforma .NET
←
→
Transcripción del contenido de la página
Si su navegador no muestra la página correctamente, lea el contenido de la página a continuación
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
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).
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