Informix
# Informix

Informix es una familia de productos RDBMS de IBM, adquirida en 2001 a una compañía (también llamada Informix o Informix Software) cuyos orígenes remontan a 1980.

El DBMS Informix fue concebido y diseñado por Roger Sippl a finales de los años 1970. La compañía Informix fue fundada en 1980, salió a bolsa en 1986 y durante parte de los años 1990 fue el segundo sistema de bases de datos más popular después de Oracle. Sin embargo, su éxito no duró mucho y para el año 2000 una serie de tropiezos en su gestión había debilitado seriamente a la compañía desde el punto de vista financiero.

En 2001 IBM, impulsada por una sugerencia de Wal-Mart (el mayor cliente de Informix) compró Informix. IBM tenía planes a largo plazo tanto para Informix como para DB2, compartiendo ambas bases de datos tecnología de la otra. A principios de 2005, IBM lanzó la versión 10 del Informix Dynamic Server (IDS).

## Historia

### 1980: Inicios

Sippl y King abandonaron Cromemco para fundar Relational Database Systems (RDS) en 1980. Su primer producto, Marathon, era esencialmente una versión de 16 bits de su anterior sistema ISAM, lanzado para el sistema operativo Onyx, una versión de Unix para los primeros microprocesadores de ZiLOG.

Volviendo su atención al mercado emergente de los RDBMS, RDS lanzó su propio producto como Informix (de Information on Unix, ‘información en Unix’) en 1981, incluyendo su propio lenguaje Informer y el editor de informes ACE, usado para extraer datos de la base de datos y presentarlos a los usuarios de forma legible. También incluía la herramienta de formularios en pantalla PERFORM, que permitía a un usuario realizar consultas y editar los datos de la base de datos interactivamente. El último lanzamiento de este producto fue la versión 3.30 a principios de 1986.

En 1985 presentaron un nuevo motor de consultas basado en SQL como parte de su INFORMIX-SQL (o ISQL) versión 1.10 (la versión 1.00 no se llegó a lanzar). Este producto también incluía versiones SQL de ACE y PERFORM. La diferencia más importante entre ISQL y el anterior Informix era la separación del código de acceso a la base de datos en un motor independiente (sqlexec) en lugar de incrustarlo directamente en el cliente, preparando así el entorno a la llegada de la computación cliente-servidor con la base de datos corriendo en una máquina diferente a la del usuario final.

Durante principios de los años 1980 Informix siguió siendo una empresa pequeña, pero a medida que Unix y SQL ganaban popularidad durante mediados de la década su suerte cambió. Para 1986 habían crecido lo suficiente como para salir a bolsa con éxito, y cambiaron el nombre de la compañía a Informix Software. Sus productos eran INFORMIX-SQL versión 2.00 e INFORMIX-4GL 1.00, incluyendo ambos el motor de bases de datos y herramientas de desarrollo (I4GL para programadores, ISQL para no-programadores).

Siguieron una serie de lanzamientos, incluyendo un nuevo motor de consultas, inicialmente conocido como INFORMIX-Turbo. Turbo usaba el nuevo RSAM, con grandes mejoras en el rendimiento con múltiples usuarios respecto a ISAM. Con el lanzamiento de la versión 4.00 de sus productos en 1989, Turbo fue rebautizado INFORMIX-OnLine (en parte porque permitía la realización de copias de respaldo coherentes de la base de datos mientras el servidor estaba en línea y los usuarios modificaban los datos) y el servidor original basado en C-ISAM fue separado de las herramientas (ISQL e I4GL) y llamado INFORMIX-SE (Standard Engine, ‘motor estándar’). La versión 5.00 de Informix OnLine fue lanzada a finales de 1990 e incluía soporte para transacciones completamente distribuidas con commits en dos fases y procedimientos almacenados. La versión 5.01 añadió soporte para disparadores, (triggers).

### 1988: Compra de Innovative Software

En 1988, Informix compró Innovative Software, autores de un paquete ofimático para DOS y Unix llamado SmartWare y WingZ, una innovadora hoja de cálculo para el Apple Macintosh.

WingZ contaba con una interfaz de usuario altamente gráfica, soportaba hojas de cálculo muy grandes y permitía programar en un lenguaje parecido a HyperCard llamado HyperScript. El lanzamiento original resultó ser muy exitoso, convirtiéndose en la segunda hoja de cálculo, solo por detrás de Microsoft Excel, si bien muchos usuarios de WingZ lo consideraban un producto superior. En 1990 comenzaron a aparecer versiones para otras plataformas, principalmente variantes de Unix. Durante este periodo, muchas entidades financieras empezaron a invertir en estaciones de trabajo Unix como forma de incrementar la capacidad de los puestos de trabajo necesaria para realizar grandes modelos financieros. Durante un breve periodo, WingZ triunfó en este nicho de mercado.

Sin embargo, WingZ sufrió de falta de recursos de desarrollo y comercialización, posiblemente debido a un problema de comprensión general del mercado de software de escritorio. Para principios de los años 1990 WingZ había perdido competitividad y finalmente Infomix la vendió en 1995. Informix también vendió una licencia a Claris, quien la combinó con una GUI bastante actualizada en su Claris Resolve.

### 1995: Compra de Illustra

El segundo foco de interés, tras la compra en 1995 de Illustra, se centró en tecnología de bases de datos objeto-relacionales (BDOR). Illustra, escrita por exmiembros del equipo Postgres liderados por el pionero en base de datos Michael Stonebraker, incluía varias características que le permitían devolver objetos totalmente formados directamente de la base de datos, una características que reducía significativamente el tiempo de programación de muchos proyectos. Illustra también incluía una característica llamada DataBlades que permitía añadir nuevos tipos de dato y funcionalidades que podían incluirse en el servidor básico como opción. Estas opciones incluían soluciones para varios de los problemas espinosos del SQL, concretamente series temporales, datos espaciales y contenido multimedia. Informix integró el mapeo objeto-relacional y los DataBlades de Illustra en la versión 7.x de su versión OnLine, lo que resultó en el Informix Universal Server (IUS), o más comúnmente, Versión 9.

Ambas versiones nuevas, V8 (XPS) y V9 (IUS), aparecieron en el mercado en 1996, haciendo a Informix la primera de las «tres grandes» compañías de bases de datos (siendo las otras dos Oracle y Sybase) en ofrecer soporte objeto-relacional integrado. Los expertos prestaron especial atención a los DataBlades, que pronto se hicieron muy populares: aparecieron docenas en sólo un año, portados a la nueva arquitectura tras acuerdos de colaboración con Illustra. Esto dejó a los otros vendedores corriendo apresuradamente tras ellos, con Oracle presentando un paquete «injertado» para soportar las series temporales en 1997 y Sybase recurriendo a un paquete externo de un tercero que sigue siendo una solución poco convincente.

### 1997: Mala gestión

Los fallos en las campañas de Marketing y una dirección desafortunada en cuanto a gobierno corporativo ensombrecieron los éxitos técnicos de Informix. El 1 de abril de 1997 Informix tuvo que anunciar que los beneficios quedarían 100 millones de dólares por debajo de lo previsto. En retrospectiva, el día anterior a esta noticia podría haber señalado la cima del éxito de Informix como compañía. Mientras su tecnología continuaba avanzando, los vaivenes en la gestión que siguieron a la expulsión de su CEO en 1997 significaron que la compañía nunca recuperó el impulso que le había dado el éxito de la Versión 7.x.

### 2001: Otras compras

A partir del año 2000, los principales hitos en la historia de Informix dejaron de centrarse en sus innovaciones técnicas. En mayo de ese año Informix compró Ardent Software, una compañía que ya tenía su propia historia de fusiones y adquisiciones. Esta adquisición añadió los motores multidimensionales UniVerse y UniData (conocidos conjuntamente como U2) a su ya por entonces extensa lista de motores de bases de datos, que incluía no sólo los productos históricos de Informix, sino también un motor SQL orientado a almacenes de datos de Red Brick y la versión 100% java de SQL, Cloudscape (que más tarde fue incorporado en la implementación de referencia de J2EE).

En julio, el anterior CEO de Ardent, James D. Foy, fue nombrado CEO de Informix y reorganizó pronto la compañía para hacerla más atractiva a una eventual adquisición. La principal medida adoptada fue separar todas las tecnologías de motores de bases de datos de las aplicaciones y herramientas.

### 2001: La venta de la división de bases de datos

En 2001 IBM aprovechó esta reorganización y compró a Informix la tecnología de bases de datos, la marca, los planes para futuros desarrollos (un proyecto interno llamado Arrowhead) y la base de aproximadamente 100.000 clientes asociados con estos. El resto de aplicaciones y herramientas quedaron bajo el nombre de Ascential Software.

### 2002: Repercusiones de la mala gestión

En noviembre de 2002 Phillip White, el antiguo CEO de Informix expulsado en 1997, fue procesado por un gran jurado federal y acusado de ocho cargos por fraude bursátil, telefónico y postal. En un acuerdo de súplica trece meses más tarde, se declaró culpable del único cargo de presentar una declaración de registro falsa ante la SEC.

En mayo de 2004, el Departamento de Justicia estadounidense anunció que White era condenado a dos meses de prisión federal por fraude bursátil, una multa de 10 000 dólares, así como un período de dos años de libertad vigilada y 300 horas de servicios a la comunidad. El anuncio señaló que la cuantía de las pérdidas sufrida los accionistas por el delito no podía ser razonablemente estimada bajo los hechos del caso . El anterior acuerdo de súplica de White había limitado la pena de prisión a un máximo de 12 meses.

Otro ejecutivo de Informix, el vicepresidente de la compañía a cargo de las operaciones europeas Walter Königseder, fue procesado por un gran jurado federal anterior pero, pues era ciudadano y residente de Múnich (Alemania), Estados Unidos no pudo asegurar su extradición.

### 2005 La adquisición de Ascential por IBM

En mayo de 2005, IBM completó la adquisición de Ascential Software, la división de herramientas y aplicaciones que quedaba después de que IBM adquiriese en 2001 la división de bases de datos. Informix/Ascential dejaban de existir como tales para formar parte de IBM.

En noviembre de 2005 se publicó un libro que detallaba el auge y caída de Informix Software y su CEO Phil White. Escrito por un empleado durante mucho tiempo de Informix, La historia verdadera de Informix Software y Phil White: Lecciones de negocio y liderazgo para el equipo ejecutivo (The Real Story of Informix Software and Phil White: Lessons in Business and Leadership for the Executive team) proporciona un informe desde dentro de la compañía que muestra una cronología detallada del éxito inicial de la compañía, su definitivo fracaso y cómo el CEO Phil White acabó en la cárcel.

## Resumen de productos

Antes de su compra, Informix tenía varios productos interesantes que había desarrollado o adquirido. Entre ellos:

* Informix C-ISAM - la última versión de la base de datos Marathon original.
* Informix SE - comercializado como sistema de gama baja para ser incrustado en aplicaciones.
* Informix OnLine - un sistema adecuado para gestionar bases de datos de tamaño medio.
* Informix Extended Parallel Server (XPS, V8) - una versión de alto rendimiento del código base V7 para ser usado en grandes sistemas distribuidos.
* Informix Universal Server (V9) - una combinación del motor V7 OnLine con mapeo O-R y soporte DataBlade de Illustra.
* Informix-4GL - Un lenguaje de cuarta generación para programar aplicaciones.
* Red Brick Warehouse - Un producto de almacenaje de datos.
* Cloudscape - un RDBMS completamente escrito en Java que soporta desde dispositivos móviles de gama baja hasta arquitecturas J2EE de altas prestaciones. En 2004 Cloudscape fue liberado por IBM como una base de datos de código abierto para ser gestionado por la Apache Software Foundation bajo el nombre Derby.
* Suite U2: UniVerse y UniData - bases de datos multidimensionales que soportan redes, jerarquías, matrices y otros tipos de dato difíciles de modelar en SQL.
