Introducimos la tecnología .NET, estudiando su nuevo modelo de computación distribuida y explicando qué es realmente la plataforma .NET.
1 El nuevo modelo de computación distribuida en Internet.
Nos encontramos en un momento especial en la industria de computación. Estamos en el inicio de una nueva manera de hacer y de integrar las aplicaciones.
Algunos gurús de la industria de computación vaticinan que este cambio ser equivalente al que produjo la introducción de la PC, la interfase visual o al surgimiento mismo de Internet. Dispositivos móviles como celulares, TabletPC (PCs que parecen un cuaderno de notas pero tienen la capacidad de una computadora de escritorio), hasta televisores u otros dispositivos hogareños estarán conectados entre sí, con servidores y distintas aplicaciones. El elemento integrador será Internet. Estamos ahora en el inicio de la tercera generación de Internet. Con Visual Studio .NET y ASP.NET Web Matrix vamos a ser protagonistas del cambio.
El tema de fondo es romper barreras. Barreras entre distintas aplicaciones que tienen información, barreras entre sistemas, barreras entre los sistemas y la gente que los utiliza, barreras entre las organizaciones.
¿Cómo se llega a este nuevo modelo de computación?
La década de los 80's fue marcada por el surgimiento de la PC y de la interfase grafica. En la década de los 90's Internet permitió conectar computadoras en una escala global. En principio la conexión fue entre PCs y servidores por medio del explorador de Internet. A comienzos de este siglo es clara la necesidad de permitir a las computadoras conectadas a Internet comunicarse entre ellas. Desde entonces se va dando forma al nuevo modelo de computación distribuida llamado servicios Web basados en XML. El objetivo es permitir comunicarse entre sí a sistemas heterogéneos dentro y fuera de la empresa. Esta comunicación es independiente del sistema operativo, lenguaje o modelo de programación. Para conseguir esto se desarrollaron estándares. El consorcio de Internet http://www.w3c.org fue el encargado de crear y mantener estos estándares.
Estos son algunos de los estándares que permiten hacer uso de los Servicios Web basados en XML:
Antes de la adopción del modelo de Servicios Web basados en XML los datos eran 'islas' que se encontraban dentro de las aplicaciones en las empresas. Era muy difícil y costoso implementar soluciones para acceder a la información desde afuera de la aplicación y la empresa. Las aplicaciones pueden ahora, comunicarse entre sí y con los sistemas de sus socios, proveedores y clientes gracias a los Servicios Web y XML.
En resumen, con el uso de los servicios Web se integra la información que puede ser accedida desde distintos dispositivos, desde distintas plataformas de hardware o software y que puede estar guardada en distintos formatos. El lenguaje estándar para lograr esta integración es XML. Todos los servidores corporativos de .NET entienden este lenguaje. Siguientes versiones de estos servidores van a incorporar muchas mejoras en este aspecto. Ejemplo de esto es la siguiente versión de SQL Server 2000 llamada Yukon. Este producto puede guardar datos en formato nativo XML, además permite hacer consultas al servidor no solamente en el lenguaje típico de bases de datos sino también en cualquier lenguaje compatible con la plataforma .NET.
2 ¿Qué es la plataforma .NET?
Provee los cimientos para la nueva generación de software. Utiliza los Servicios Web como un medio para poder interoperar a distintas tecnologías. Permite conectar distintos sistemas operativos, dispositivos físicos, información y usuarios. Les da a los desarrolladores las herramientas y tecnologías para hacer rápidamente soluciones de negocios que involucran distintas aplicaciones, dispositivos físicos y organizaciones.
La idea central detrás de la plataforma .NET es la de servicio. Más concretamente software como servicio y de cómo construir, instalar, consumir, integrar o agregar (en federaciones) estos servicios para que puedan ser accedidos mediante Internet. Esto es posible debido a que tenemos la infraestructura de comunicación global que es Internet cada vez más rápida y a un costo cada vez menor y además, a la capacidad de los procesadores que continúa incrementándose año tras año. El usuario de Internet puede con un explorador de Internet no solamente acceder a contenido como texto, imágenes o sonido, también puede hacer uso de servicios Web. Estos son los bloques de construcción o componentes sobre los cuales se basa el modelo de computación distribuida en Internet. La plataforma .NET permite usar Internet y su capacidad de distribución para que los usuarios accedan desde cualquier dispositivo, en cualquier sistema operativo y lugar a la funcionalidad que los servicios Web proveen.
Los desarrolladores por su parte tienen la infraestructura y herramientas para crearlos y hacer uso de ellos en programas. Es decir, se trata de aprovechar la capacidad de distribución a gran escala de Internet para acceder a servicios de software. También se trata de aprovechar el incremento en la capacidad de procesamiento de los nuevos dispositivos móviles llamados "Smart Devices" (dispositivos inteligentes) para que el usuario haga uso de la funcionalidad que proveen los servicios Web con interfases cada vez más sencillas y naturales como la voz o la escritura.
La siguiente versión del portal MSN, MSN 8, es un ejemplo de software como servicio. Utiliza los ladrillos de construcción que proveen el servicio Web Passport y .NET Alerts (los cuales estudiaremos más adelante). Permite además instalar software actualizado mientras se hacen otras cosas. La actualización de software es un servicio al que hay que subscribirse independientemente de la plataforma desde la cual se accede.
El nuevo modelo de computación basado en Internet implica que la empresas no solamente tengan sitios donde el contenido puede ser accedido de manera visual como hasta ahora, con un explorador de Internet. Si quieren ser exitosas deben crear componentes que implementen servicios relacionados con su actividad para que usuarios o sitios los integren y utilicen. Por ejemplo, una aerolínea puede hacer componentes para la reserva de pasajes y desde una aplicación de una empresa de turismo llamar a este componente. O un usuario desde un dispositivo móvil (por ejemplo un celular) puede también invocar el componente de reserva de pasajes aéreos directamente para ver la disponibilidad y hacer reservaciones. La empresa turística puede exponer un servicio Web que incluya la llamada al servicio Web de la aerolínea. Cuando un servicio Web llama a otros se crea lo que se llama federación de servicios Web y las posibilidades funcionales se multiplican.
Nos encontramos en un momento especial en la industria de computación. Estamos en el inicio de una nueva manera de hacer y de integrar las aplicaciones.
Algunos gurús de la industria de computación vaticinan que este cambio ser equivalente al que produjo la introducción de la PC, la interfase visual o al surgimiento mismo de Internet. Dispositivos móviles como celulares, TabletPC (PCs que parecen un cuaderno de notas pero tienen la capacidad de una computadora de escritorio), hasta televisores u otros dispositivos hogareños estarán conectados entre sí, con servidores y distintas aplicaciones. El elemento integrador será Internet. Estamos ahora en el inicio de la tercera generación de Internet. Con Visual Studio .NET y ASP.NET Web Matrix vamos a ser protagonistas del cambio.
El tema de fondo es romper barreras. Barreras entre distintas aplicaciones que tienen información, barreras entre sistemas, barreras entre los sistemas y la gente que los utiliza, barreras entre las organizaciones.
¿Cómo se llega a este nuevo modelo de computación?
La década de los 80's fue marcada por el surgimiento de la PC y de la interfase grafica. En la década de los 90's Internet permitió conectar computadoras en una escala global. En principio la conexión fue entre PCs y servidores por medio del explorador de Internet. A comienzos de este siglo es clara la necesidad de permitir a las computadoras conectadas a Internet comunicarse entre ellas. Desde entonces se va dando forma al nuevo modelo de computación distribuida llamado servicios Web basados en XML. El objetivo es permitir comunicarse entre sí a sistemas heterogéneos dentro y fuera de la empresa. Esta comunicación es independiente del sistema operativo, lenguaje o modelo de programación. Para conseguir esto se desarrollaron estándares. El consorcio de Internet http://www.w3c.org fue el encargado de crear y mantener estos estándares.
Estos son algunos de los estándares que permiten hacer uso de los Servicios Web basados en XML:
- XML: (Lenguaje de Marcado eXtensible) Es un formato universal para representar los datos.
- SOAP: (Protocolo Simple de Acceso a Objetos) Es un protocolo que permite mover los datos entre aplicaciones y sistemas. Es el mecanismo por medio del cual los servicios Web son invocados e interactúan.
- UDDI: (Descubrimiento, Descripción e Integración Universal) Lenguaje que permite publicar, encontrar y usar los Servicios Web basados en XML. Es la 'Página Amarilla' de los servicios Web es decir un directorio para poder encontrarlos. Puede ser accedido con un explorador en http://www.uddi.org o programáticamente ya que UDDI es también un servicio Web.
- WSDL: (Lenguaje de Descripción de Servicios Web) Lenguaje por medio del cual un servicio Web describe entre otras cosas qué hace o qué funcionalidad implementa.
- La competencia en la industria de software no pasa por imponer el protocolo sobre el cual se va a construir la nueva generación de Internet, debido a que están ya establecidos (aunque en continuo desarrollo).
Antes de la adopción del modelo de Servicios Web basados en XML los datos eran 'islas' que se encontraban dentro de las aplicaciones en las empresas. Era muy difícil y costoso implementar soluciones para acceder a la información desde afuera de la aplicación y la empresa. Las aplicaciones pueden ahora, comunicarse entre sí y con los sistemas de sus socios, proveedores y clientes gracias a los Servicios Web y XML.
En resumen, con el uso de los servicios Web se integra la información que puede ser accedida desde distintos dispositivos, desde distintas plataformas de hardware o software y que puede estar guardada en distintos formatos. El lenguaje estándar para lograr esta integración es XML. Todos los servidores corporativos de .NET entienden este lenguaje. Siguientes versiones de estos servidores van a incorporar muchas mejoras en este aspecto. Ejemplo de esto es la siguiente versión de SQL Server 2000 llamada Yukon. Este producto puede guardar datos en formato nativo XML, además permite hacer consultas al servidor no solamente en el lenguaje típico de bases de datos sino también en cualquier lenguaje compatible con la plataforma .NET.
2 ¿Qué es la plataforma .NET?
Provee los cimientos para la nueva generación de software. Utiliza los Servicios Web como un medio para poder interoperar a distintas tecnologías. Permite conectar distintos sistemas operativos, dispositivos físicos, información y usuarios. Les da a los desarrolladores las herramientas y tecnologías para hacer rápidamente soluciones de negocios que involucran distintas aplicaciones, dispositivos físicos y organizaciones.
FIGURA IX.1: "Esquema general de la Plataforma .NET"
La idea central detrás de la plataforma .NET es la de servicio. Más concretamente software como servicio y de cómo construir, instalar, consumir, integrar o agregar (en federaciones) estos servicios para que puedan ser accedidos mediante Internet. Esto es posible debido a que tenemos la infraestructura de comunicación global que es Internet cada vez más rápida y a un costo cada vez menor y además, a la capacidad de los procesadores que continúa incrementándose año tras año. El usuario de Internet puede con un explorador de Internet no solamente acceder a contenido como texto, imágenes o sonido, también puede hacer uso de servicios Web. Estos son los bloques de construcción o componentes sobre los cuales se basa el modelo de computación distribuida en Internet. La plataforma .NET permite usar Internet y su capacidad de distribución para que los usuarios accedan desde cualquier dispositivo, en cualquier sistema operativo y lugar a la funcionalidad que los servicios Web proveen.
Los desarrolladores por su parte tienen la infraestructura y herramientas para crearlos y hacer uso de ellos en programas. Es decir, se trata de aprovechar la capacidad de distribución a gran escala de Internet para acceder a servicios de software. También se trata de aprovechar el incremento en la capacidad de procesamiento de los nuevos dispositivos móviles llamados "Smart Devices" (dispositivos inteligentes) para que el usuario haga uso de la funcionalidad que proveen los servicios Web con interfases cada vez más sencillas y naturales como la voz o la escritura.
La siguiente versión del portal MSN, MSN 8, es un ejemplo de software como servicio. Utiliza los ladrillos de construcción que proveen el servicio Web Passport y .NET Alerts (los cuales estudiaremos más adelante). Permite además instalar software actualizado mientras se hacen otras cosas. La actualización de software es un servicio al que hay que subscribirse independientemente de la plataforma desde la cual se accede.
El nuevo modelo de computación basado en Internet implica que la empresas no solamente tengan sitios donde el contenido puede ser accedido de manera visual como hasta ahora, con un explorador de Internet. Si quieren ser exitosas deben crear componentes que implementen servicios relacionados con su actividad para que usuarios o sitios los integren y utilicen. Por ejemplo, una aerolínea puede hacer componentes para la reserva de pasajes y desde una aplicación de una empresa de turismo llamar a este componente. O un usuario desde un dispositivo móvil (por ejemplo un celular) puede también invocar el componente de reserva de pasajes aéreos directamente para ver la disponibilidad y hacer reservaciones. La empresa turística puede exponer un servicio Web que incluya la llamada al servicio Web de la aerolínea. Cuando un servicio Web llama a otros se crea lo que se llama federación de servicios Web y las posibilidades funcionales se multiplican.
Benjamín González C.
Ingeniero de Sistemas