DNM+ Online
dotnetmania 2.0
La evolución de la plataforma .NET
.NET era sólo el principio, los próximos años seremos testigos del desembarco de nuevas tecnologías que usarán el modelo de desarrollo .NET y XML para la construcción de nuevas aplicaciones impensables hasta ahora. Las próximas versiones de Visual Studio (Whidbey), SQL Server (Yukon) y Windows (Longhorn) se encargarán de ello.

En julio del año 2000 Bill Gates presentó en el Professional Deve­loper Conference de Orlando (PDC) una vista preliminar de la nueva plataforma de desarrollo Microsoft .NET.  Han pasado tres años desde aquel evento y en este tiempo hemos sido testigos de cómo .NET ha pasado de ser una visión de futuro a una realidad. Hoy la industria de la informática no tiene dudas de la necesidad de abrir las aplicaciones a estándares abiertos, y que los servicios web proporcionan la tecnología para conseguirlo. Por aquel entonces nos resultaba complicado imaginarnos una aplicación sin componentes COM, modelo de hilos o contadores de referencias. La integración entre aplicaciones se basaba en desarrollos a medida sobre APIs o protocolos propietarios. Tres años después ya casi no nos acordamos de todo eso. .NET ha conseguido introducirse en la gran mayoría de las empresas de software y ha cambiado el modo en el que desarrollábamos aplicaciones. Aquel PDC del año 2000 nos sirvió para conocer la plataforma sobre la que íbamos a desarrollar en el futuro. Con estos precedentes se anunció una nueva conferencia PDC en Los Ángeles el pasado mes de octubre. El interés superó todas nuestras expectativas, de hecho dos semanas antes del evento se colgó el cartel de "no hay billetes" por alcanzarse la capacidad máxima del Centro de Convenciones. En esta ocasión Microsoft presentó las dos siguientes oleadas de tecnologías que viviremos los próximos años, entrando en detalle sobre el modelo de desarrollo de cada una de ellas e incluso repartiendo entre los asistentes un juego de DVDs con una vista preliminar de los bits definitivos. La idea principal de todo este desembarco tecnológico gira en torno a .NET. En la actualidad utilizamos la plataforma .NET para construir la lógica de negocio, exponer su funcionalidad por protocolos estándares y accederla en cualquier momento y desde cualquier dispositivo (ya sea web, Windows o dispositivo móvil). El objetivo próximo de Microsoft consiste en llevar este modelo de arquitectura a otros dos elementos presentes en las aplicaciones: el motor de almacenamiento de datos y el sistema operativo. Esto significa que .NET y XML formarán parte de ambos, por lo que las herramientas y el modelo de desarrollo que utilizaremos serán los mismos que en el resto de nuestra aplicación. Primera oleada: Yukon
y Whidbey La primera oleada se centrará en el motor de almacenamiento estrella de Microsoft, SQL Server. La próxima versión de SQL Server, llamada provisionalmente Yukon, permite utilizar .NET como modelo para el desarrollo de la lógica de servidor. Hasta ahora teníamos que cambiar nuestra forma de desarrollar dependiendo de si nuestro código se ejecutaba en la lógica de negocio o junto a los datos. En el primer caso disponíamos de la ayuda del Framework .NET, su  librería de clases, la posibilidad de utilizar cualquier lenguaje y un entorno como Visual Studio .NET. Sin embargo, todo cambiaba si nuestro código debía ejecutarse en el propio servidor. En ese caso teníamos que utilizar el lenguaje T/SQL perdiendo la riqueza de las clases .NET, la orientación a objetos, la facilidad de depuración y un sinfín de cosas más. En Yukon podemos decidir si nuestro código .NET se ejecuta en la capa de negocio o en el mismo servidor de datos, de hecho un procedimiento almacenado en Visual Studio .NET no es más que otro tipo de proyecto. Podremos utilizar cualquier lenguaje para escribir el procedimiento almacenado y acceder a los tipos .NET, por ejemplo de acceso al disco, cifrado de datos o tratamiento de imágenes. Además, Yukon permite que el proceso de depuración e instalación sean también automáticos. Cuando acabemos el procedimiento almacenado será instalado en el servidor remoto y podremos depurarlo como cualquier código .NET, ejecutándolo paso a paso o consultando el valor de las variables. .NET está presente en el resto de elementos de Yukon. Además de procedimientos almacenados, po­dremos desarrollar triggers, funciones, tipos definidos por el usuario y agregaciones de datos. Visual Studio .NET se convierte también en la herramienta de desarrollo de Analysis Server, DTS o el recién incorporado generador de informes. Los otros elementos presentes en una arquitectura .NET orientada a servicios son el XML y los servicios web. Yukon está pensado para el almacenamiento no sólo de información relacional, sino también de datos semi-estructurados en forma de XML. Almacenar estos datos puede parecer sencillo (un documento XML no es más que una cadena de texto), pero el procesamiento de los mismos es mucho más complejo. Yukon permite validar los documentos XML almacenados según un esquema XSD que definamos y realizar búsquedas sobre los mismos de forma indexada, con el mismo rendimiento que una búsqueda tradicional. Incluso podremos relacionar los datos estructurados con los elementos XML y tratarlos de forma conjunta. Todo ello utilizando estándares como XQuery, que permite realizar consultas sobre documentos XML del mismo modo que T/SQL permite realizarlas sobre datos relacionales. El acceso por servicios web a Yukon también está contemplado, incluyendo un conector SOAP nativo que puede exponer vistas XML de los datos relacionales y semi-estructurados o ejecutar procedimientos almacenados y sentencias T/SQL dinámicas. Whidbey La próxima versión del Framework .NET y Visual Studio (nombre en clave Whidbey) estará alineado con Yukon en esta primera oleada. El cambio que veremos en esta versión del Framework será muy importante, tanto que en lugar de 1.2 como correspondería llevará el nombre de 2.0. Al estar alineado con Yukon, Whidbey estará especialmente adaptado para el funcionamiento conjunto con éste. Además de la capacidad de escribir la lógica de servidor de Yukon, dispondremos de una nueva versión de ADO.NET que nos permitirá sacar el máximo partido al motor de almacenamiento. La mayoría de estas características están enfocadas a conseguir mayor rendimiento y escalabilidad en nuestra capa de acceso a datos (operaciones asíncronas, paginación de resultados), pero también nos permitirán construir aplicaciones nuevas muy difíciles de desarrollar hasta ahora (notificaciones sobre cambios, servicios de colas de mensajes). La mayoría de las nuevas características de Whidbey están dirigidas a aumentar la productividad del desarrollador. Visual Studio .NET incorpora mejoras espectaculares en el diseño de formularios web y Windows, pero también incluye por primera vez herramientas que asisten al desarrollador como el refactoring, plantillas de código parametrizables, corrector automático, etiquetas inteligentes, etc.

Desde luego la línea de código más productiva es la que no tienes que escribir. Por eso Whidbey au­menta considerablemente el número de clases de la librería base para cubrir aspectos que antes teníamos que programar nosotros mismos. ASP.NET incorpora funcionalidad típica también lista para usar, como los webparts, las páginas maestras, skins, membership, etc. También se añaden características a los lenguajes de desarrollo para mejorar la productividad, como los genéricos o el editar y continuar. Para el desarrollo de aplicaciones empresariales se incluye un nuevo modelo de programación denominado Business Framework, con la funcionalidad de metadatos, persistencia de entidades, seguridad, transacciones y análisis OLAP, normalmente necesarios en este tipo de aplicaciones. Todo ello acompañado de un motor de mapeo de objetos a bases de datos (ObjectSpaces) y diseñadores gráficos integrados en Visual Studio, además de herramientas que soportan el ciclo de vida com­­pleto de un proyecto software. Segunda oleada: Longhorn La siguiente oleada de tecnología vendrá liderada por la nueva versión del sistema operativo, llamada provisionalmente Longhorn, e incluirá también la actualización de la plataforma de desarrollo .NET, denominada Orcas. Longhorn cambiará radicalmente el concepto de sistema operativo Windows hasta la fecha y el modo en el que desarrollamos las aplicaciones sobre él. Como ocurría en Yukon, el primer cambio importante que notaremos en Longhorn es la integración completa con .NET y XML. La API de acceso al sistema operativo es manejada (WinFX) con un diseño de clases pensado desde el principio para su uso desde lenguajes .NET. Los servicios del sistema operativo para las aplicaciones (transacciones, seguridad, colas de mensajes, etc.) evolucionan en un nuevo sistema llamado Indigo pensado desde el principio para que sea utilizado desde aplicaciones con arquitecturas basadas en servicios XML. De hecho Indigo incluye también toda la fontanería necesaria para distribuir estos servicios entre sistemas heterogéneos, según los futuros estándares que añaden seguridad, transaccionalidad o fiabilidad a los servicios web. Longhorn redefine los actuales sistemas de almacenamiento en disco. NTFS se hace transaccional, lo que permite acceder y modificar el contenido del disco dentro de una transacción. Sobre esta tecnología se monta WinFS, un sistema que guarda el contenido de los archivos en NTFS y la información estructurada asociada a ellos (propiedades, relaciones, categorías...) en un almacén relacional. Esto proporciona capacidades de clasificación y búsqueda impensables hasta ahora y que originará un nuevo concepto de aplicación. El subsistema de interfaz gráfico de Longhorn se denomina Avalon. En un primer vistazo a esta tecnología nos llamará la atención su nuevo motor basado en 3D, o las capacidades multimedia que posee, lo que nos permitirá diseñar aplicaciones con un aspecto alucinante. Sin embargo Avalon es mucho más que eso, y su principal objetivo se centra en eliminar las barreras existentes entre aplicaciones web y Windows. Con un mismo modelo de desarrollo ahora podremos elegir qué características queremos en nuestra aplicación de cada uno de esos mundos. Por ejemplo, Avalon permite un modelo conectado, donde cada pantalla se descarga de un servidor (como las páginas web), y un modelo desconectado, donde todas las pantallas son compiladas junto a la lógica en un mismo ejecutable descargable. Podremos optar también por un interfaz orientado al documento (como una página HTML) o utilizar formularios con controles Windows. Mostrar el interfaz mientras se descarga, definirlo de forma separada al código o ejecutarlo de forma segura son otras de las opciones que dispondrá este nuevo modelo de desarrollo. ¡Quiero usarlo ya! Estas dos oleadas no serán inmediatas. Yukon y Whidbey están todavía en una fase de beta temprana, Longhorn todavía no ha llegado a este nivel y sólo está disponible una vista preliminar de la tecnología. Si quiere adelantarse a estos cambios le recomiendo que conozca lo que supondrán (un buen inicio son los artículos de Yukon, Whidbey y Longhorn que encontrará en este primer número de doNetMania). Pero sobre todo tenga presente que el concepto básico de estos cambios es llevar el modelo de desarrollo .NET a todos los elementos de una aplicación, por lo que utilizar a día de hoy el Framework .NET le garantizará una integración sencilla con estos nuevos servicios y una curva de aprendizaje mucho más rápida.

blog comments powered by Disqus
autor
referencias