Tuxedo es un producto de la empresa BEA recientemente en proceso de fusión con Oracle.
Tuxedo es un framework que se encarga de administrar transacciones, te permite concentrarte en la funcionalidad y no tener que inventar la parte de transacciones que es muy compleja. Imagina que requieres hacer un proceso compuesto de 4 o 5 pasos, cada paso es ejecutado en sitios distintos, cada paso hace algo muy particular como actualizar un archivo, insertar un registro en una base de datos, dar aviso a otro proceso, etc etc. Si alguno e estos pasos falla, la transacción debe ser deshecha, por ejemplo si el paso 4 falla, el paso 3, 2 y 1 no sirven de nada y debe hacerse un rollback. Ideal para usarse en bancos. Actualmente es muy utilizado en instituciones financieras donde se tiene alto flujo transaccional.
Tuxedo es va bastante viejo, existe desde hace mas de 10 años, lo cual no es necesariamente malo. Otra cualidad importante es que puede ser accesado desde distintos lenguajes y se puede comunicar con otros procesos mediante IPC.
¿Que tiene que ver todo esto con Qbit? A uno de nuestros cliente le fue encargada la tarea de substituir Tuxedo por … otra cosa. Pero… uno de los requerimientos es no reescribir el conjunto de procesos actuales, escritos en C y que están hecho especialmente para poder ser invocados y administrados por Tuxedo. Es decir, lo que se pretende es prácticamente, hacer un clon de Tuxedo, por supuesto únicamente de la parte de Tuxedo que sea esencial, pues sustituirlo todo seria muy complicado, Tuxedo es enorme.
Nuestro cliente nos ha encargado la parte de C y C++, mientras que ellos se encargaran de la parte en Java. Hay que reescribir un subconjunto del API de Tuxedo y recompilar los procesos escritos en C, haciendolos creer que estan en Tuxedo. Hasta al momento vamos muy bien, es un trabajo muy interesante.