2025-09-27

Integrando el sistema

 




Nada me preparó para integrar los sistemas de un gigante de los alimentos con los de un gigante de los autoservicios. Esto me llevaría después a donde pocos habían ido antes: a integrar sistemas en tiempos donde la técnica para eso apenas se estaba escribiendo. También me llevaría a un proyecto extremo donde los egos luchaban y los objetivos nos esquivaban.

En los inicios de la década de los 2000, trabajé como desarrollador de software para una de las cien mejores empresas de México, en el área de tecnología de información (TI). Un día en una reunión con del departamento de desarrollo, el gerente de TI nos habló de un proyecto que venía. Una de las grandes cadenas de autoservicios ya no iba a recibir notas de remisión (entrega) en papel, de lo contrario le cobraría al proveedor cien pesos por cada nota en papel que le fuera entregada. Por el contrario, había puesto a disposición un sistema para que le transmitieran electrónicamente esas notas.

“¿Quién quiere hacer este proyecto?”, preguntó. Cuando acordé, yo ya tenía la mano levantada. Fue casi un acto reflejo. El proyecto me resultaba emocionante y de impacto, así que yo quería hacerlo.

“Perfecto”, dijo complacido.

Inicia la aventura

Yo no sabía ni como le iba a hacer y no me importaba, estaba motivado por abordar algo tan interesante. En aquel entonces no había una serie de prácticas estándar para integrar sistemas. Los sistemas tipo ERP, como el que tenía implementado la empresa, eran la respuesta a la necesidad de integrar sistemas internos. Sin embargo, cuando la integración es hacia afuera de la empresa, no puedes exponer al sistema directamente al Internet para que salga a conectarse con otro.



Un ERP es un sistema que administra las funciones principales de una empresa, como el manejo de pedidos, la planeación y control de la producción, las ventas, la contabilidad, inventarios, etc. De modo que, si produces una caja de un artículo en el módulo de producción, este artículo genera costos de producción por ejemplo y se va a formar parte de tu inventario, tu contabilidad, y solo se capturó el dato una sola vez.

Para este requerimiento del autoservicio, los proveedores más pequeños podían optar por cargar una plantilla de Excel con la remisión en un sitio web. Nosotros éramos una empresa grande que hacía muchas entregas diariamente desde y hacia diferentes centros de distribución y almacenes, por lo que era inviable hacer esa carga a mano. Para estos casos, la cadena de autoservicio había creado un Web Service, que es un programa de computadora que vive en la web y que puede ser llamado por otros programas para enviarle o consultarle información.

Primero intercambié ideas con un colega que ha sido uno de mis grandes mentores. Él trabajaba en el área de operaciones de TI. Era un experto bastante vertical, conocía desde las redes de cómputo y las máquinas hasta el software. Me puso en el camino correcto. Usaría integración basada en mensajería como hacían algunos sistemas de integración comerciales de propósito general. Decidí que iba a usar colas persistentes, o sea una fila para formar los mensajes con las remisiones, pero estas filas iban a vivir en una base de datos, así si este sistema de integración se caía, la información no se iba a perder porque no vivía en la memoria.

El software de integración que creé consistía en dos procesos independientes. El primer proceso se conectaba al ERP para obtener las remisiones nuevas y luego ponía cada remisión en un mensaje virtual. Ese mensaje se depositaba en una fila de las que mencioné anteriormente. Una vez formada la remisión en la fila, el proceso se comunicaba con el ERP de nuevo para marcar esa remisión como ya leída y así no la volvería a tomar cuando corriese de nuevo.

El segundo proceso tomaba cada mensaje nuevo de la fila y se lo enviaba al Web Service del autoservicio. Si la respuesta era exitosa, el mensaje se marcaba como cerrado, si había un error, se marcaba como tal para ser reprocesado. Si el error había sido transitorio, como de conexión de red, por ejemplo, un siguiente intento usualmente resolvería las cosas, pero si el error era no transitorio, como por ejemplo datos con formato incorrecto, ninguna cantidad de intentos lo resolvería, por lo que cada mensaje tenía un máximo de intentos antes de expirar. Dejé para una versión posterior una mejora, para distinguir errores transitorios de los no transitorios y así dejar de reintentar estos últimos.

Creé una aplicación para monitorear estos procesos, ya que todo esto sucede sin necesidad de que exista una interfaz de usuario. En la aplicación monitor se podía ver información de cada mensaje, por ejemplo, su contenido, fecha y hora de creación, fecha de proceso, estatus, etc.

Después de un par de semanas de pruebas de concepto, programación y pruebas unitarias sólidas, comencé a probar la integración de extremo a extremo. Después de un tiempo adicional donde fui refinando y robusteciendo la integración, esta salió a producción exitosamente.

Cuando integras los sistemas de dos empresas, estas forman un tercer sistema virtual al que se le llama Sistema de Información Inter Organizacional (SIIO) porque lo que se envía desde un sistema, aparece en el otro de manera automática, se captura una sola vez en uno de los dos extremos y el otro lo recibe, minimizando el error humano. Estos sistemas al quedar integrados se comportan de alguna manera como si fueran uno solo.

Cada vez que hago una transferencia bancaria, una reservación, una compra en línea u ordeno una pizza, pienso en las integraciones que deben ocurrir detrás para que desde la app se cree un pedido en el sistema central y de ahí este llegue a la pizzería local para ser producido.

Pues la integración fue un éxito. Ese éxito me llevó a hacer otra integración, esta vez más pequeña y ahora entre los proveedores de la empresa y el ERP. En esta ocasión era la empresa la que necesitaba que los proveedores le enviaran las remisiones. Así que desarrollé un sitio web para que los proveedores capturaran ahí la información y luego usé el software de integración que había creado, para enviar los datos al ERP.

El gran proyecto

Al poco tiempo, un colega que estaba trabajando en un proyecto piloto para implementar un software comercial de producción en las plantas de la empresa me invitó, ya que necesitaban integrar este nuevo sistema con el ERP. Esto me llevó a estar durante meses con el equipo del proyecto en la ciudad donde se llevaba a cabo el piloto.

Este es uno de los proyectos más grandes en los que he participado y uno de los más retadores. Había muchas personas de diversas áreas y divisiones de la empresa, concentradas en una ciudad en el norte del país.

El proyecto me trajo muchos aprendizajes, entre ellos grandes lecciones administrativas y de colaboración. Nos mostró la mejor y la peor cara de muchos participantes en todos los niveles, desde la dirección de la empresa hasta los colaboradores que estábamos en sitio. También representó retos personales. A pesar de estar viajando de regreso a casa cada dos o tres semanas, llega un momento en que el trabajo prolongado de días largos y estresantes empieza a generar desgaste.

En retrospectiva, creo que el principal problema fue debido a un error fundamental, la empresa no involucró lo suficiente a la gerencia y a los liderazgos de la planta donde se llevaba el piloto. Por tanto, el proyecto no era visto con buenos ojos por el anfitrión, sino como un mal necesario.

Otro error fue la ausencia de líderes sólidos y presentes. Era un ambiente de mucha presión y la carencia de estos liderazgos permitió que escalaran los conflictos constantes entre colaboradores de la empresa, consultores y proveedores. Todos se pelearon con todos. Había altercados verbales, mofas no solo a espaldas sino también a la cara de otros, reclamos frontales y airados, así como intrigas. Un ambiente tóxico y lleno de incertidumbre. Ni una película del imperio romano llegó a tanto. Una pesadilla.

Las carencias de liderazgo desintegran. Había tribus, cada una siguiendo su propia agenda. Las juntas eran batallas para hacer señalamientos y encontrar culpables en lugar de soluciones.

Por todo esto, llegó un punto en donde el proyecto era un desastre seguro y se le apodaba “las tres carabelas”, aludiendo a las que vinieron con las expediciones del descubrimiento de América. Un grupo de condenados al fracaso. Se llegó incluso a rumorar que cuando querían desgastar a alguien para que dejara la empresa, se le asignaba a este proyecto. Lo cierto es que no dejaban de llegar con cierta frecuencia más integrantes provenientes de oficinas de todos los rincones del país, pero por razones legítimas.

Una noche, una colega se sintió muy triste cuando supo que no iba a poder regresar a casa el siguiente fin de semana para estar con sus hijos, después de varias semanas en sitio. Tuvo que tomarse un momento fuera de la sala de trabajo de la planta. Eso nos rompió el corazón.

Por nuestra parte, en el equipo de desarrollo de software, trabajábamos después del horario regular en el cuarto de guerra de la planta, en una sala de juntas del hotel, como de nueve o diez de la noche hasta altas horas de la madrugada, prácticamente todos los días. También trabajábamos sábados y domingos, aunque en un horario más amable. Éramos el equipo que más trabajaba. En los fines de semana, desde la sala de juntas del hotel, veíamos como pasaban integrantes de otros equipos saliendo hacia una playa cercana. Meses después, cuando por fin pude dormir cinco horas, se me hizo que había descansado demasiado bien.

Eran tales los cambios de dirección diaria que enfrentábamos en el equipo de desarrollo, que se generaba un círculo vicioso: un software con un ritmo de modificaciones diario y por tanto inmaduro, que generaba a su vez errores y por tanto correcciones, más los cambios que se nos iban solicitando.

En un punto, el director general de la empresa ordenó una revisión de expedientes y de evaluación de la capacidad de todos y cada uno de los colaboradores que trabajábamos en el proyecto, para ver si éramos aptos. El disgusto que generó esto, no ayudó nada por supuesto, solo vino a sumarse a la baja moral que ya predominaba.

Invité a mis colegas de TI a dar lo mejor por nosotros y por el equipo, no por nadie más. “Aquí es donde vemos de qué estamos hechos”, les dije.

Cuando empecé a trabajar en aquella empresa, así como en ese proyecto, por ningún lado en mis aspiraciones apareció jamás el director general, solo mi realización profesional.

Después de varios cambios de gerente, de una pausa de meses y de un reinicio acompañado de otras reestructuras y rediseños, el proyecto se concluyó exitosamente.

Un desarrollador del ERP quien programaba en un lenguaje propietario y anquilosado me preguntó: “Esta herramienta que hiciste, fue algo no convencional para integrar sistemas ¿no?”. Por lo visto pensaba que yo había recurrido a una solución “creativa”. Nada más lejos de la realidad. Si bien, como dije, no había mejores prácticas, la técnica usada era coherente. En aquella época pocos, aún dentro de TI, comprendían lo que estaba haciendo.

Cambio de aires

Al poco tiempo dejé la empresa para irme a una multinacional de servicios de tecnologías de la información que trabajaba con las grandes marcas del mundo.

Por nada cambiaría lo vivido en el proyecto de la empresa que dejé. Los aprendizajes, las personas, todo lo adquirido ha sido valioso en lo profesional y en lo personal.

Al poco tiempo, el director y cofundador de la empresa proveedora que hizo el software de producción, me contactó por Facebook para invitarme a trabajar. Fue durante el apogeo de aquella red social, donde los amigos de la infancia se reencontraban y los conocidos recientes se mantenían en contacto.

“Necesitamos a alguien que sepa como integrar ERPs con nuestros productos y pensé en ti”, me dijo.

Tuvimos una serie de conversaciones sobre la oferta laboral y finalmente me fui a esa empresa. Ahí, en colaboración con varias personas, desarrollamos una plataforma de integración y trabajé liderando proyectos de este tipo para muchos clientes de la empresa alrededor del mundo, durante una década, lo que me llevó por varios rincones del planeta.

Para entonces ya existía un libro que es canon de los patrones de integración de sistemas y en el que había estado basándome. El tiempo nos dio la razón en cuanto al diseño a mi mentor y a mí.


El año pasado, la exempresa nos requirió para un proyecto de actualización de sus integraciones. Hace tiempo deje el desarrollo de software, así que era poco probable que estuviera ahí, sin embargo, los altos mandos me requirieron como uno de los administradores de ese proyecto. Bueno, vayamos por la segunda vuelta, me dije.

2025-06-28

Con licencia para estropear

 



La escalera marinera se cimbraba mientras subía por ella con un cable de red en mano. ¿Pero qué rayos hago aquí? Me pregunté cuando ya estaba varios metros por arriba del suelo. Necesitaba conectar un cable que uniría las redes de cómputo de dos edificios dentro de un complejo gubernamental federal. Quería ser ingeniero en sistemas, pero esto de tender un cable inter-edificios ya me estaba pareciendo que tenía poco que ver con ello, sobre todo cuando la escalera estaba haciendo las cosas innecesariamente dramáticas.

Mi relación con el hardware, la parte física o sea “los fierros” de las computadoras, siempre ha sido emocionante, no tanto como la subida por la escalera floja, pero sin duda es un mundo asombroso. Ver que hay adentro y cómo funciona. Lo máximo, modificarlo para mejorarlo. Como cuando agregas memoria o un disco duro de más capacidad o le cambias la batería a una laptop.

La primera vez que abrías tu computadora para limpiarla, normalmente se te quitaban las ganas al ver la placa madre, llena de chips y componentes electrónicos. Tan compleja, tan intimidante. Había quien le soplaba tímidamente y la volvía a cerrar, desistiéndose de la idea.

Mi primer contacto con el interior de las computadoras fue a mediados de los noventa, cuando hice el servicio social en un centro de cómputo durante mis estudios universitarios. Había que abrirlas para instalarles tarjetas de red o agregarles más memoria. Así es, las tarjetas de red (para cable eh, el WiFi aún no pintaba) eran un componente opcional. 

Las computadoras eran dispositivos bastante aislados. Aunque la mayoría por ese entonces ya tenían un modem incluido para enchufar tu línea telefónica a tu computadora, de modo que pudieses conectarte a Internet a través de un proveedor de servicios, que no era tu compañía telefónica, por cierto, sino que era un tercero que se dedicaba a eso exclusivamente, a la conectividad con Internet.

Bueno, pues abrías las computadoras para agregarles unas tarjetas de memoria, tarjetas de red o discos duros. Había que usar pulsera antiestática para eliminar riesgos, pero había quienes lo hacían a mano limpia. Las memorias y tarjetas venían en bolsas antiestática.

Instalabas las tarjetas de red, cerrabas la computadora, introducías un diskette que instalaba el controlador de la tarjeta de red para que la computadora la pudiera utilizar. La computadora no puede usar el hardware, si esta no tiene un software que le permita utilizarlo.

Por cierto, tuve un profesor que nos prestaba componentes electrónicos para hacer prácticas. Le encantaba darte memorias sin bolsa antiestática. Había quien entraba en pánico, como si le hubieran puesto un alacrán en la palma de la mano.

Luego instalabas otro software llamado TCP/IP, el nombre técnico de la conectividad que hace posible al Internet. Hoy no tienes que hacer nada de esto, las computadoras vienen con todo lo necesario para usar internet, solo tienes que conectar un cable de red o seleccionar una red inalámbrica y conectarte.

En el servicio social instalé muchas tarjetas de red para agregar computadoras a la red local. La primera vez que instalé un disco duro, mi supervisora, una maestra que impartía la clase de redes, me lo pidió casualmente. Era evidente que nunca había cambiado uno, pero que te lo pidan como a quien le encargan un mandado y eso te da la confianza de que es algo bastante trivial. Así que solo abrí la computadora, vi como estaba conectado el disco actual, lo desconecté y lo cambié por el nuevo.

Para mí, después del hardware vino lo de crear cables para conectar redes. Empezó con una materia de redes de computadoras o algo así. Había que cortar el cable a la longitud requerida, luego pelar un extremo de este para dejar expuestos los hilos de cables más pequeños que a su vez tenía dentro y meter estos hilos en los minúsculos canales de un conector de plástico transparente, conocido como RJ-45, que se parece bastante a uno de esos conectores que tiene el cable de teléfono que enchufas a la toma de la pared en tu casa, solo que el de red es más grande. Si has conectado un cable de red a una computadora, ya sabes cuál es. 

Metías estos pequeños cables al conector y luego con unas pinzas especiales presionabas el conector haciendo que unos pequeños contactos de cobre en este descendieran y pincharan las puntas de los cables para que la corriente eléctrica circulara desde la punta del conector hasta el cable.

Luego había que probar que funcionara. Para esto, lo probabas con un multímetro, un dispositivo que te ayuda a confirmar conectividad en cada una de contactos metálicos del conector. El multímetro tiene que emitir un pitido de confirmación. Si uno de estos conectores no sonaba, significaba que el cable no servía y había que hacerlo de nuevo. Hacerlo de nuevo significaba desechar el conector porque una vez que este ha sido presionado con las pinzas, no lo puedes quitar, hay que cortar la punta del cable que contiene el conector mal puesto y ponerle uno nuevo. Y así hasta que las dos puntas del cable tienen su conector funcionando correctamente.

Esto siempre fue algo muy molesto para mí. Mis habilidades no son las mejores para manejar estos hilos interiores tan delgados, así que acumulé una buena cuota de cables decapitados. Hoy en día puedes comprar estos cables ya hechos en tiendas de artículos para oficina y es posible que tu modem de internet venga con uno incluido. En el día a día del usuario común, no son realmente necesarios, a menos que te dediques a conectar redes empresariales de cómputo. Lo que sí es que tener un cable de red a la mano no es mala idea, la conexión por cable es más confiable y a veces más rápida que la conexión inalámbrica. Actualmente hay algunos hoteles que aún tienen disponible conexión a internet por cable de red en las habitaciones, por lo que te puede salvar la vida llevar un cable de estos. Así mientras los demás batallan con las insufribles velocidades del internet hotelero, tu podrías disfrutar de una gran conexión gracias a un cable.

Volviendo al inicio, un día ya fuera de la escuela y en mi primer trabajo, ahí estaba subiendo junto con un colega esa escabrosa escalera para conectar los edificios. Todo salió bien, no hubo luchas en las alturas ni una carrera contra el tiempo para conectar el cable. Con lo de la escalera fue suficiente. 

Después de eso no me volví a dedicar mucho más a las redes, más que a administrarlas por un tiempo. Eso es algo que haces desde la comodidad de un escritorio, tecleando instrucciones o dando clics en una aplicación.

Dicen que echando a perder se aprende. Y sí, a veces echando a perder también se aprende lo que no te gusta hacer.


Imagen: Vilius Kukanauskas 

2025-01-05

Desde Internet con amor




Pegamos anuncios falsos y nos lanzamos a desinstalar aplicaciones en nuestra lucha contra virus que nunca existieron. Las cadenas de mensajes con bulos nos engañaron mientras aprendíamos que estábamos en un nuevo mundo, el mundo salvaje de Internet, con todas sus bondades, con todos sus contras. La información empezaba a fluir, la buena y la mala.

Yo trabajaba ayudando a coordinar un departamento de informática a finales de los noventa. Un día pegamos un anuncio en un tablero ubicado a la entrada del departamento. El papel advertía no abrir un correo electrónico con el asunto “Jesus” (sic, en inglés) y a continuación pedía reenviar a todos tus contactos porque se trataba de un virus que borraba todo tu disco duro.

Éramos jóvenes e inocentes, veníamos de cambios vertiginosos. Al principio, en Internet todo eran servicios basados en texto: email, telnet, gopher, ftp, no había nada gráfico. Sí, es impactante, lo sé, pero así eran las cosas y aun así, créeme que era muy divertido.

Luego llegó la web, el servicio WWW que nos dijeron significaba world wide web (la telaraña de alcance mundial), pero muy pronto nos dimos cuenta de que wild, wild west (salvaje salvaje oeste) le quedaba mejor.

Casi de la noche a la mañana, empezamos a tener acceso a noticias que viajaban muy rápido. Cada día te podías enterar de cosas nuevas sobre tus aficiones favoritas. Antes de los servicios de la web y el email, solo tenías los noticieros y demás programas informativos, periódicos y revistas, que te daban lo que había y lo que querían. Internet significó el acceso a un buffet velozmente creciente donde consumías lo que te apetecía.

Era 1998, apenas dos años de que Internet estuviera disponible de manera masiva. Una mañana, uno de mis colegas del departamento de informática pegó este anuncio que advertía sobre un supuesto virus, anunciado por IBM, que te borraría todo el disco duro de tu Mac o PC, aprovechándose de las funciones de formateo de Norton Antivirus, propagándose via Netscape Navigator e Internet Explorer. Con todos esos nombres soltados por ahí, sonaba bastante legítimo para mí y para cualquiera que lo leyese.

Al poco tiempo, conocí Snopes punto com, un sitio que se encargaba de verificar cadenas de correo de rumores y noticias falsas. Ahí desmentían nuestro anuncio. Sorprendente.

Llevaba algún tiempo siendo consciente de la industria de la información falsa, aquella que se transmitía en publicaciones como revistas de fenómenos paranormales, programas sensacionalistas de televisión, libros, etc. Pero esto era un nuevo nivel para mi y para toda la gente nueva en Internet. Reaprendíamos lo aprendido: no porque esté en (inserta el medio aquí) significa que es cierto.

No porque esté en Internet, significa que es cierto.

Habíamos sido timados, aunque algunos de los muchachos del departamento no estaban tan seguros, o no querían estarlo. La verdad duele: no tanto como saltar en una bicicleta sin asiento, pero duele.

Años después, en diciembre de 2010, cuando trabajaba para una de las cien mejores empresas de México, en el área de tecnología de información, un jefe de área de tecnología de una de las divisiones de la empresa, histérico, envió un correo al gerente de tecnología, alertándolo sobre un virus que se propagaba vía una aplicación de un árbol de Navidad. El correo incluía a su vez una cadena de estas que se reenvían, con la advertencia.

Para entonces, yo ya olfateaba la información falsa a primer contacto, con buena tasa de éxito, por lo que me pareció sospechoso el correo. Una investigación balazo en Internet me confirmó que no había tal árbol de Navidad.

Lo que no me esperaba yo ni nadie, era que el gerente de tecnología nos movilizaría a todo su departamento corporativo para que fuéramos por todas las oficinas, computadora por computadora, confirmando que no tuvieran instalado el famoso árbol de Navidad.

Les dije que era información falsa, que no había tal aplicación. Sin embargo, todos los subdepartamentos fueron requeridos: soporte técnico, desarrollo de software, redes, operaciones, etc. Cuando caes antes la histeria, no importan los hechos y el mejor curso de acción es buscar la paz mental. Yo preferí quedarme en mi lugar haciendo cosas menos heroicas.

Sobra decir que nadie reportó haber encontrado tal aplicación instalada.

En esa misma empresa, años antes, el reenvío masivo de un correo electrónico causó que un servidor quedara fuera de línea durante algunos minutos. El mensaje era de los que pedían reenviarlo para que una organización donara algunos centavos de dólar por cada correo reenviado, con el objetivo de ayudar a un niño enfermo. El problema es que así no funciona el correo electrónico. Este no tiene una autoridad central, por tanto, no es posible monitorear el alcance de un correo ya que este viaja de servicio en servicio dependiendo el que usen los destinatarios. Tampoco me imagino a nadie monitoreando campañas de donativos si fuese centralizado.

Alguien recibió este mensaje desde una dirección de correo electrónico público (gratuito) en Internet. El mensaje era un clásico de las cadenas por correo electrónico, tenía muchos años circulando. El receptor al interior de la empresa quiso ser altruista y lo reenvió a sus conocidos dentro de la misma. Cada uno de estos destinatarios a su vez hizo lo mismo y dentro de un rato el servidor de correo electrónico no se dio abasto para manejar la avalancha de correos y colapsó.

El departamento de tecnología identificó a dos personas como los iniciadores de esta oleada exponencial de reenvíos e impuso acciones disciplinarias. Le dije al jefe de infraestructura que tenían que empezar una labor educativa sobre estas cosas con los usuarios, para evitar futuras incidencias.

“A mí no me toca”, me dijo.

“¿Y entonces a quién? No veo a nadie más”, le dije.

Las áreas de informática y tecnología, históricamente, han sido cortas de visión y renuentes a tomar el liderazgo en educación digital. Hoy el panorama se ve más prometedor, con áreas de ciberseguridad y manejo de información que están tomando esta responsabilidad educativa. 

A finales de los noventa, le mencioné a mis tíos alguna cosa que tenía que ver con Internet. “Eso del internet son cosas que inventan para mantener a la gente distraída” dijo mi tío con la seguridad de quien sabe lo que dice. En aquel entonces solo tenían internet quienes eran estudiantes con acceso a un centro de cómputo, o los investigadores o quienes trabajaban en una empresa. El uso de Internet era una actividad de nicho, las personas como mis tíos, el público en general, apenas empezaba a escuchar del tema.

Actualmente, mis tíos se distraen con mensajes desinformativos vía aplicaciones de mensajería instantánea y han sido estafados por ese mismo medio.

En algún lugar en este momento, un joven está alertando a alguien de algún supuesto peligro o está cayendo en alguno real sin saberlo.

 Imagen Cliff Hang

 

 

 

 

 


Integrando el sistema

  Nada me preparó para integrar los sistemas de un gigante de los alimentos con los de un gigante de los autoservicios. Esto me llevaría des...