Inicio
 > Informes e investigaciones > Blog de TEC > Los sutiles (o no tan sutiles) matices de la hab...

Los sutiles (o no tan sutiles) matices de la habilitación de Microsoft .NET

Escrito por: Predrag Jakovljevic
Publicado: octubre 2 2006

¿Qué es Microsoft .NET?

Microsoft .NET es un ambiente completo para desarrollo de software que se lanzó en el 2000 como la siguiente generación en ambiente de programación de Microsoft. Se pronuncia “punto net” y se conoce como Microsoft .NET Framework. Se diseñó para competir con la plataforma Java 2 Enterprise Edition (J2EE). .NET Framework es la estrategia de servicios Web de Microsoft que permite conectar la información, la gente, los sistemas y los dispositivos mediante software, con la promesa de un “acceso a la información en cualquier momento, en cualquier lugar y con cualquier dispositivo”. La tecnología que utiliza .NET Framework se integra en toda la plataforma Microsoft y permite crear, implementar, manejar y usar soluciones conectadas y de mayor seguridad con servicios Web de forma más rápida.

Primera parte de la serie Los sutiles (o no tan sutiles) matices de la habilitación de Microsoft .NET.

El ambiente Microsoft .NET contiene aquéllo que un negocio necesita para desarrollar e implementar una arquitectura de tecnología de la información (TI) conectada a los servicios Web: clientes inteligentes, servidores que alojen los servicios Web, herramientas de desarrollo para crearlos, aplicaciones para usarlos y una red mundial de más de 35,000 empresas que son Socios Certificados de Microsoft y que pueden dar a los usuarios la ayuda que necesiten.

El Microsoft .NET Framework es un componente integral de Microsoft Windows que permite crear y operar la “siguiente generación” de aplicaciones y servicios Web basados en lenguaje extensible de marcas (XML). La tecnología basada en .NET Framework tiene muchas ventajas potenciales, como la capacidad para proporcionar un ambiente productivo, basado en las normas, fuerte en la industria, listo para las empresas y multilingüe que simplifique el desarrollo de aplicaciones. Con esto, los desarrolladores deben ser capaces de utilizar sus habilidades, proporcionar una integración con el software existente y suavizar los retos que representa la implementación y el uso de aplicaciones en escala de Internet. El .NET Framework es la infraestructura de la plataforma .NET, que contiene la biblioteca de clases .NET Framework y la ejecución en lenguaje común (CLR). La CLR proporciona el ambiente adecuado para que funcionen las aplicaciones basadas en .NET Framework, mientras que la biblioteca de clases da los servicios de base, como Página de servidor activo (ASP), Objetos de datos ActiveX (ADO) .NET, WinForms (para crear interfaces gráficas de usuario [GUI]) y bibliotecas de clases de base para acceder a los servicios de modelo de objetos comunes (COM).

Los programadores pueden seleccionar uno de varios lenguajes de programación, como Microsoft C# (C Sharp), Visual Basic .NET (VB.NET), J# (J Sharp), Managed C++, JScript.NET, etc. La Asociación europea de fabricantes de computadoras (European Computer Manufacturing Association o ECMA) normalizó .NET como infraestructura de lenguaje común (CLI), además de que se han recreado muchos otros lenguajes para que sean lenguajes CLI. ECMA también normalizó el lenguaje de programación C# que Microsoft diseñó para ser el producto principal del lenguaje basado en .NET Framework.

La información que producen los compiladores de .NET y CLI puede o no ser idéntica, dependiendo de las bibliotecas de clases que se usen, ya que los compiladores de .NET generan un código de bytes en Lenguaje intermedio Microsoft (MSIL) y los compiladores de CLI generan un código de bytes en Lenguaje intermedio común (CIL). MSIL es ejecutado por la CLR, mientras que el código de bytes CLI es ejecutado por el Sistema de ejecución virtual (VES). Tanto la CLR como el VES son motores de ejecución como la Máquina virtual Java (JVM), ya que proporcionan un conjunto fundamental de servicios que usan todos los programas. La diferencia es que el código de bytes de Java se puede interpretar y compilar, mientras que la JVM sólo soporta Java, no varios lenguajes de programación.

Como se mencionó antes, el núcleo tanto de .NET como de CLI es un sistema de lenguajes que se usa entre plataformas. Aunque se parece a Java en que usa un lenguaje de código de bytes intermedio que se puede ejecutar en cualquier plataforma de hardware que cuente con un motor de ejecución, también es diferente porque proporciona soporte para varios lenguajes de programación.

El Microsoft .NET Framework 3.0 (antes conocido como WinFX), que se encuentra actualmente en versión beta, contiene un conjunto nuevo de interfaces de programas de aplicación (API) de código administrado que forma parte de los sistemas operativos Windows Vista y Windows Server “Longhorn” que se lanzarán próximamente. También estará disponible para Windows XP SP2 y Windows Server 2003. El Microsoft .NET Framework 3.0 contiene la versión 2.0 de la CLR y consta de cuatro componentes:

  1. Windows Presentation Foundation (WPF) (cuyo nombre código era Avalon), un subsistema nuevo de interfaz de usuario (IU) que tiene base API en XML y gráficos por vectores (usará hardware tridimensional de gráficos por computadora y tecnología Direct3D).
  2. Windows Communication Foundation (WCF) (su nombre código era Indigo), un sistema de mensajería orientado a los servicios que permite que los programas operen entre sí de forma local o remota, como los servicios Web.
  3. Windows Workflow Foundation (WWF) que permite crear transacciones integradas y de automatización de tareas usando flujos de trabajo.
  4. Windows CardSpace (WCS) (cuyo nombre código era InfoCard), un componente de software que almacena de forma segura las identidades digitales de una persona y que proporciona una interfaz uniforme para seleccionar la identidad que se usará en una transacción en particular, como puede ser el registro a un sitio web.

Si desea obtener información sobre la evolución de la arquitectura de sistemas, consulte Evolución de la arquitectura: arquitectura orientada a los servicios vs. servicios Web.

La clave: interoperabilidad

El objetivo principal de .NET es la interoperabilidad de los sistemas, tanto internos como externos. Puede obtener más detalles sobre los planes tecnológicos de Microsoft en Los deseos y las necesidades de los usuarios. El esquema de trabajo usa los servicios Web y los sistemas por componentes como elementos de base para crear sistemas más colectivos. El sistema empresarial resultante se organiza en componentes creando objetos del negocio a los que se puede acceder de forma independiente para llevar a cabo funciones y procesos específicos del negocio. El .NET Framework usa el estándar XML como “pegamento” para transferir datos entre objetos y hacia adentro o hacia afuera del sistema, además de que se apega al concepto y la libertad de un navegador y de los servicios web como medio para transmitir la información a un usuario. El objeto del negocio debe actuar como “portero” para el sistema, garantizando que estos tres fundamentos permanezcan intactos:

  1. La seguridad se hace cumplir gracias a que cada vez que se accede a un objeto, se autentica el usuario y se mantiene el nivel de seguridad indicado por la aplicación principal.
  2. La lógica del negocio para la aplicación subyacente permanece protegida, haciendo que los parámetros simplemente se transmitan al objeto para el procesamiento. El objeto protege la lógica del negocio subyacente y procesa la transacción de acuerdo a los parámetros transmitidos como si el usuario estuviera utlizando la estación de trabajo e introduciendo él mismo la transacción.
  3. Siempre se protege la integridad de los datos subyacentes, ya que nunca se accede a los datos no procesados debido a que el objeto del negocio protegido controla la manipulación de todos los datos. La integridad del sistema subyacente permanece intacta en todo momento, mientras que al mismo tiempo se crea un ambiente para aumentar la funcionalidad en el menor tiempo posible y con un mínimo de experiencia necesaria.

Así, con la llegada de .NET, los usuarios que se centran en Microsoft podrán tener “lo mejor de ambos mundos”, ya que podrán aprovechar en gran medida un sistema principal lleno de funciones y la capacidad para desarrollar aplicaciones específicas para el negocio que aumenten las funciones que rodean el sistema principal. Todo esto no implica la preocupación de que las futuras actualizaciones del sistema principal puedan afectar o descomponer la aplicación específica del negocio.

Sin embargo, la estrategia de Microsoft .NET sigue confundiendo a muchos usuarios y vendedores que no terminan de entender la tecnología. De hecho, la masiva campaña de mercadeo que emprendió Microsoft ha hecho que muchas vendedores se enfoquen de forma “muy liberal” en el mercadeo de las iniciativas basadas en .NET Framework. Lo importante es que en cuanto se mejora un software para que consuma o emita XML, se convierte en un producto basado en .NET Framework. En un esfuerzo por hacer aparecer sus productos como “habilitados para .NET”, muchos vendedores se refieren a sus soluciones como tales, a pesar de que sus productos no logran cumplir con muchos de los parámetros .NET que define Microsoft (algunos de los cuales mencionamos antes).

Cuidado con la simple compatibilidad con .NET

Pensemos en un sistema empresarial cuyo código de software ya fue escrito. Este código comprende la lógica del negocio -todas las reglas que definen las transacciones requeridasdel negocio, así como las normas y las convenciones que garantizan la precisión de los datos, su integridad y su completitud, al igual que su calidad. Naturalmente, los vendedores se oponen a reescribir ese núcleo (que fue difícil de escribir y mantener desde un principio) en un lenguaje nuevo, o hacer los cambios estructurales necesarios para emplear una tecnología de plataforma más poderosa para el sistema operativo (SO) o la base de datos. Si analizamos hasta qué punto los vendedores independientes de software (ISV) están preparados para .NET, la categorización más básica (aunque no la que más prevalece) es el caso de la simple compatibilidad con .NET. Esto quiere decir que el software legado simplemente funciona en servidores denominados .NET (Microsoft Windows). El lado positivo es que estos vendedores centrados en Microsoft pueden funcionar en el SO y las plataformas de bases de datos más recientes de Microsoft. El lado negativo es que aquéllas ventajas de los servicios Web que tanto se anuncian pueden ser difíciles de obtener, aunque sean lo primero que las empresas quieren integrar.

 
comments powered by Disqus

Búsquedas recientes:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Others