Crear software interoperable por diseño

Publicado: 24 de Febrero de 2006 | Actualizado: 28 de Marzo de 2006
Bill Gates
**
**
En esta página
IntroducciónIntroducción
Trabajar con lo que ya se tieneTrabajar con lo que ya se tiene
Uso de XML para lograr la "Interoperabilidad por Diseño"Uso de XML para lograr la "Interoperabilidad por Diseño"

Introducción

A diario las empresas se enfrentan al reto de tener que hacer funcionar conjuntamente una gran variedad de productos de software de diferentes fabricantes. Es esencial conseguir optimizar los procesos de negocio, manteniendo los vínculos con clientes y partners o conseguir terminar con éxito operaciones de fusión o adquisición entre empresas. Tanto si está conectado con sistemas de sus socios comerciales, accediendo a datos en un mainframe, interconectando aplicaciones escritas en distintos lenguajes de programación o si desea validarse en varios sistemas diferentes, el poder integrar tecnologías heterogéneas para que operen conjuntamente y a la vez tratar de reducir los costes es actualmente un desafío que afecta a cada una de las partes de la organización.


*Algunas veces se confunde interoperabilidad con software de código abierto. Interoperabilidad se refiere a cómo distintos sistemas de software pueden trabajar juntos.*
Bill Gates
Presidente y Arquitecto Jefe de Software
Microsoft Corporation

A lo largo de los años, nuestro sector ha seguido diferentes líneas de trabajo para resolver el problema de la heterogeneidad del software. Pero la solución que se ha comprobado como consistente, eficaz y una de las que actualmente ofrece el mayor nivel de éxito para los desarrolladores es un compromiso fuerte a favor de la interoperabilidad. Esto supone permitir que cada aplicación y sistema siga haciendo lo que sabe hacer mejor, y a la vez establecer un "contrato común" que establezca la forma en que los distintos sistemas pueden comunicarse entre sí e intercambiar datos unos con otros.

La interoperabilidad es una vía más pragmática que otras, como el intento de hacer compatibles todos los sistemas a nivel de código fuente, centrándose exclusivamente en añadir nuevas capas de middleware que intentan darle a todos los sistemas un aspecto y unas funciones similares, o buscar la forma de hacer que todos los sistemas sean intercambiables. Mediante una comprensión común de los protocolos básicos, distintos productos de software pueden interactuar de forma correcta con un conocimiento mínimo o nulo unos de otros. Internet es, probablemente, el ejemplo más obvio de este tipo de interoperabilidad, donde cada pieza de software puede conectarse e intercambiar datos en la medida en que respete los protocolos fundamentales.

En pocas palabras, la interoperabilidad es una vía ya probada para resolver la diversidad y heterogeneidad que ofrece el mercado. Hoy quisiera centrar la atención en dos de los puntos principales de la estrategia de Microsoft para la interoperabilidad de sus productos: primero, que seguimos dando respuesta a las necesidades de nuestros clientes en el sentido de que el software funcione bien con lo que ya tienen actualmente. Segundo, estamos trabajando con el resto del sector para definir una nueva generación de software y servicios Web basados en XML (eXtensible Markup Language), que hace posible que el software comparta información de manera eficiente, y abre la puerta a un mayor grado de "interoperabilidad por diseño" entre distintos tipos de software. Nuestro objetivo es aprovechar al máximo toda la potencia innata del actual (y no tan actual) software de negocio, y permitir a todas las aplicaciones trabajar conjuntamente, de forma que el conjunto final sea mayor que la suma de sus partes. Deseamos eliminar en el futuro las fricciones que se producen entre arquitecturas y aplicaciones diferentes, sin poner en riesgo las funcionalidades subyacentes que las hacen exclusivas.

Puede parecer una estrategia obvia, pero el deseo de conseguir la interoperabilidad algunas veces se mezcla con otros problemas. Por ejemplo, la interoperabilidad se ve en ocasiones como la simple aceptación de alguna especificación de cualquier tipo, ya publicada, bien de alguno de los fabricantes, bien de alguna organización de estándares. Pero el simple hecho de publicar una especificación puede no ser suficiente, puesto que obvia la gran cantidad de trabajo que supone el desarrollo de productos interoperables, o dicho de otra forma, garantizar que el "contrato" definido por una especificación está bien implementado en el software y probado en entornos en producción.

Algunas veces se confunde interoperabilidad con software de código abierto. Interoperabilidad se refiere a cómo distintos sistemas de software pueden trabajar juntos. El código abierto es una metodología para licenciar y/o desarrollar software, que puede ser o no interoperable. Además, la táctica de desarrollo de código abierto presupone la creación de numerosas variantes del mismo tipo de aplicación, situación que genera una carga adicional a los esfuerzos de interoperabilidad y la realización de pruebas.

Principio de la páginaPrincipio de la página

Trabajar con lo que ya se tiene

La sustitución por entero de todas las tecnologías existentes es solución inviable para la mayoría de las organizaciones. Simplemente, han invertido muchísimo dinero en sistemas de diferentes fabricantes. Por eso, una de las necesidades actuales y futuras de los clientes es hacer que el nuevo software pueda funcionar con los sistemas actuales. Debido a esto, Microsoft ha realizado continuas inversiones en ayudar a los clientes a integrar nuestra plataforma y aplicaciones con una gran variedad de elementos muy conocidos de hardware, software y redes (y con otros no tan conocidos).


*Hemos puesto siempre mucho énfasis en ofrecer mecanismos bien definidos para que interactúen diferentes productos de distintos fabricantes.*
Bill Gates
Presidente y Arquitecto Jefe de Software
Microsoft Corporation

Como resultado de estos esfuerzos, Microsoft ofrece un porfolio completo de capacidades de interoperabilidad del software, desde el sistema operativo a aplicaciones individuales. Nuestro software funciona con una gran variedad de tecnologías disponibles en el mercado, las más recientes y otras que llevan décadas en activo. El software de Microsoft puede conversar con mainframes y miniordenadores de IBM y otros fabricantes; con otros sistemas operativos, como Mac OS y diferentes sabores de UNIX y Linux; con redes NetWare o AppleTalk, y con protocolos nativos de Internet; con decenas de lenguajes de programación, que van desde el COBOL y RPG hasta los lenguajes experimentales más recientes, pasando por C++ y Java; con cientos de sistemas de bases de datos, como Oracle, Sybase o DB2; con aplicaciones de negocio muy conocidas, como SAP o Siebel; con estándares verticales, como SWIFT o HL7; con sistemas de correo electrónico y con productos de infraestructura que gestionan colas de mensajes, servicios de directorio, gestión de sistemas y la seguridad.

Muchos de los productos de Microsoft, como Windows, Office, SQL Server, Exchange y Visual Studio, incorporan una gran cantidad de funcionalidades dedicadas a permitir la interoperabilidad con productos no-Microsoft. Algunos de los productos de servidor de Microsoft están destinados específicamente a la interoperabilidad, como Host Integration Server para la conectividad con sistemas host, BizTalk Server, para la integración de sistemas heterogéneos a través de múltiples aplicaciones, o Identity Integration Server, que facilita al usuario la labor de autenticación y gestión de identidades entre sistemas distintos. Todos ellos son el resultado de muchos años esforzándonos por comprender las necesidades de los clientes y sus entornos actuales.

Aunque la mayoría de nuestras inversiones en interoperabilidad se han centrado en el diseño de nuestro software, también hemos dedicado esfuerzos a mejorar la interoperabilidad a nivel general en el sector. Microsoft participa en muchas organizaciones de desarrollo de estándares, formales o informales, que definen especificaciones que son requisito previo para la interoperabilidad. Publicamos API's, protocolos y kits de desarrollo de software, y licenciamos la propiedad intelectual subyacente a nuestra tecnología, para contribuir así a que otros puedan desarrollar software interoperable. Y colaboramos y compartimos tecnología con una gran variedad de empresas y organismos del sector, algunos de ellos competencia directa nuestra, para ofrecer soluciones interoperables que funcionan bien con nuestros productos.

En realidad, una encuesta reciente de Jupiter Research mostraba que el 72% de los responsables de TI valoraban las tecnologías de Microsoft como las más interoperables dentro de sus actuales entornos. De forma similar, para mejorar la interoperabilidad en el sector financiero mediante servicios Web, Microsoft .NET ha sido nominado recientemente por la revista Waters como el mejor entorno de desarrollo para aplicaciones corporativas. Esta fructífera vía hacia la interoperabilidad se debe, en gran medida, a la herencia de Microsoft como empresa dedicada a los ordenadores personales: hemos puesto siempre mucho énfasis en ofrecer mecanismos bien definidos para que interactúen diferentes productos de distintos fabricantes, habida cuenta de la enorme diversidad existente en el hardware y software para PCs. Sin un claro compromiso a favor de la interoperabilidad, la industria, incluyendo Microsoft, habría quedado paralizada sin duda.

Principio de la páginaPrincipio de la página

Uso de XML para lograr la "Interoperabilidad por Diseño"

A pesar de que el software de Microsoft soporta una increíble cantidad de mecanismos de interoperabilidad, la mayoría de ellos son en esencia esfuerzos individuales, cada uno de ellos desarrollado, probado y mantenido de forma independiente con una pieza concreta de hardware o software. la necesidad de crear soluciones individuales para cada necesidad da lugar a una complejidad creciente. Los clientes y fabricantes -incluso empresas del tamaño de Microsoft- se enfrentan con serias limitaciones de recursos a la hora de realizar documentación, probar y especificar los detalles técnicos necesarios en esta línea de trabajo.


*La base que estamos creando con XML ya está suponiendo reducciones sustanciales de tiempo, costes y niveles de experiencia necesarios para integrar sistemas.*
Bill Gates
Presidente y Arquitecto Jefe de Software
Microsoft Corporation

Para resolver este problema, Microsoft ha trabajado con otras empresas del sector para avanzar en una nueva generación de software interoperable por diseño, reduciendo la necesidad de desarrollo a medida y los engorrosos procesos de prueba y certificación. Estos esfuerzos se centran en el uso de XML, que hace que la información sea auto-descriptiva y por tanto, más fácil de entender por sistemas distintos. Por ejemplo, cuando dos sistemas intercambian una orden de compra, los atributos de la orden de compra se describen en XML de forma que cualquier sistema que la reciba puede utilizar esa descripción, traducirla y utilizar correctamente la información contenida. Esta línea de trabajo es también la base para los servicios Web basados en XML, que ofrecen una serie de protocolos basados en Internet para la informática distribuida. Este nuevo modelo que define cómo los programas de software dialogan entre ellos ha sido ampliamente aceptado en el sector. Es la piedra angular de Microsoft .NET y de la última generación de nuestras herramientas de Visual Studio para desarrolladores de software.

Esta vía de avance se hace patente también en el uso de XML como el marco de interoperabilidad de datos para Office 2003 y la suite de productos Office System. Los documentos de Office, hojas de cálculo y formularios, se pueden salvar en formato XML, disponible libremente para todo el mundo. Office soporta también esquemas XML definidos por el usuario más allá de los tipos de documento Office existentes. Esto supone dos cosas: primero, al soportar datos en XML, los clientes puede fácilmente desbloquear la información en los sistemas actuales y actuar sobre ella utilizando las aplicaciones Office, bien conocidas por los usuarios. En segundo lugar, la información creada con Office puede utilizarse fácilmente en otras aplicaciones de negocio.

La arquitectura de servicios Web basada en XML, conocida como WS-* ("WS-Star"), está siendo desarrollada en estrecha colaboración con muchas otras empresas del sector, incluyendo IBM, Sun, Oracle y BEA. Este conjunto de protocolos estándar reduce notablemente el coste y complejidad de la interconexión de sistemas heterogéneos, y permite la interoperabilidad no solo dentro de las paredes de la organización, sino hacia el resto del mundo. A mediados de 2003 Forrester Research afirmaba que "una mejora de hasta diez veces en los costes de integración vendrá dada por arquitecturas orientadas a servicio que utilicen mecanismos de interconexión de software basados en estándares". Como parte de este esfuerzo de colaboración, Microsoft y otras empresas han realizado cuantiosas inversiones para garantizar que las implementaciones de servicios Web de distintas compañías son realmente interoperables. Esto ha supuesto workshops, pruebas intensivas, revisión de especificaciones a partir de las experiencias obtenidas e incluso establecer un criterio común para toda la industria, conocido como WS-I para garantizar la interoperabilidad.

Las inversiones de Microsoft para la interoperabilidad realizadas hasta hoy han reportado sustanciales beneficios a los clientes y a la industria. Y tenemos muy claro que podemos hacer más incluso para ayudar a clientes y partners a conseguir una mejor interoperabilidad, de forma que consigan cubrir sus necesidades de negocio. La base que estamos creando con XML ya está suponiendo reducciones sustanciales de tiempo, costes y niveles de experiencia necesarios para integrar sistemas.

Nosotros vemos además una enorme oportunidad para desarrolladores y profesionales de TI en el hecho de poder contribuir a crear una nueva generación de software interoperable por diseño. Hemos lanzado un nuevo sitio Web Microsoft y la Interoperabilidad que aporta más detalles sobre las características de interoperabilidad de nuestro software. Por favor, dedíquele unos minutos a visitarlo: encontrará información técnica, Webcasts y eventos pensados para ayudarle a obtener el máximo de sus productos de Microsoft en un entorno de software heterogéneo.

Bill Gates


Principio de la páginaPrincipio de la página