Tramitología y Redes no compatibles: Explicando el sinsentido.

En un reciente artículo de La Nación se indica la incompatibilidad de redes limita el avance del programa de simplificación de trámites. En ese artículo, la ministra del MEIC, doña Mayi Antillón, indica que “Las plataformas de las entidades no están hechas para interoperar, no se conectan, pese a que se han hecho grandes inversiones”. Y se puso en marcha un estudio para determinar qué sirve y qué no.  Quiero con esta nota explicar por qué considero que lo expresado ahí es un sinsentido a esta altura del siglo XXI.

Comencemos por aclarar que la nota habla de redes pero la ministra habla de plataformas. No está claro si el término redes fue realmente dicho por la ministra o entendido por el periodista Marvin Barquero. Envié consultas tanto a la ministra como al periodista. Don Marvin no me ha contestado a dos correos y del MEIC me respondieron que me darían información cuando la ministra tenga tiempo. Así que, asumiendo lo peor, tenemos una noticia que me indica que para simplificar los trámites se ha intentado hacer interoperar a las instituciones a nivel de red. Procedo a explicar qué significa eso y por qué es un problema.

Un sistema es un conjunto de componentes que se relacionan entre sí. Un sistema intensivo en software es aquel cuya mayoría de componentes son de software. Es decir, un sistema incluye a los programas de cómputo, personas, elementos físicos, instituciones, etc, que se interrelacionan para lograr alguna meta. La estructura de dicho sistema y las reglas de sus interacciones es lo que llamamos la arquitectura. Pues bien, un sistema puede ser visto como una “cebolla”, con muchas capas que van desde el núcleo hasta la capa externa. La capa de más adentro ofrece funcionalidad muy específica y limitada, es ahí donde vive la comunicación y las redes que nos sirven para que la información pase de un componente  otro. La capa de más afuera es la que ve el usuario: pantallas, informes, formularios. Está más orientada al negocio y la funcionalidad que el sistema (nuestra cebolla) ofrece. El usuario no debe saber nada de redes ni necesita saber cómo está hecho el sistema para poder usarlo. Espero que hasta aquí esto esté claro.

Ahora, imaginemos que tenemos otra cebolla, otro sistema en otra institución. Este segundo sistema quiere interoperar con nuestro sistema, es decir, poder implementar alguna funcionalidad y ofrecer algún servicio que requiere del esfuerzo combinado de ambos sistemas. Estamos entonces ante un nuevo super sistema con dos componentes (los dos sistemas de los que hablamos). Pero tenemos un problema: cada sistema fue creado por personas diferentes en plataformas de desarrollo diferentes, con diferentes necesidades, etc. No se parecen en nada. ¿Qué hacer? Bueno, que no se parezcan en nada no debe ser ningún problema, porque ninguno de los sistemas necesita saber cómo está hecho el otro para utilizar sus servicios. ¿Ven? Igual que cualquier usuario, un sistema no necesita saber nada de redes ni de cómo se hizo el segundo sistema para usar sus servicios. Ambos sistemas deben crear nuevos servicios para que el otro pueda usarlos. Pero, si no se conectan directamente las redes, esos sistemas de comunicación, de ambos sistemas, ¿Cómo se hablan entonces? Bueno, igual que cualquier humano. Ninguno de nosotros debe ir a pegar su cerebro a las redes de comunicación de tales sistemas para poder hablar con ellos. Nosotros abrimos un navegador web, abrimos la página y vemos información y llenamos formularios. Exactamente igual se hace actualmente en el mundo: los sistemas heterogéneos se pegan usando la capa de más afuera, la de servicios, a través de internet. Sencillo, ¿verdad?

Hablemos de un caso especial: los sistemas legados. Antes, muy pero muy antes, se tenían sistemas que eran silos, cosas completamente independientes con las cuales se podía habla solo por medio de una pantalla verde. Es decir, no tienen comunicación con el mundo externo, no tienen internet. Muchos de esos sistemas aún se mantienen con vida en muchas instituciones, son legados de tiempos inmemoriales. Más de una vez he visto a un pobre empleado digitar mi información tres veces, una en el sistema principal, otra en uno de esos sistemas legados y por último en Excel. Y la imprime tres veces también. Es decir, hay tres sistemas dentro de la misma institución, que duplican mi información y que no la comparten entre sí. Silos. Me preguntarán entonces: ¿Esos sistemas no pueden interoperar entonces? La respuesta es sí, sí pueden. A mediados de los 90’s trabajé bajo esas circunstancias y en esos entonces había productos que nos permitían “hablar” con dichos sistemas. Igual, su comunicación con las pantallas verdes era su único punto de entrada y salida, pues simulábamos ser una pantalla verde y hablábamos con el sistema ancestral. No había problema. Lo que teníamos que hacer era generar los formularios y respuestas requeridos, a nivel de negocios, para poder interoperar. ¡Porque la interoperabilidad se da a nivel de servicios, no a nivel de redes!

Por tanto, la noticia que redes incompatibles frenan los avances de tramitología me asusta. ¿Quiere decir que se están haciendo esfuerzos para interconectar a nivel de red los sistemas heterogéneos? Hacer eso es como hacer que dos cebollas se peguen núcleo con núcleo, cosas que requeriría partir o despedazar las cebollas, en lugar de hacerlo por medio de las capas externas (los servicios). Así que, el análisis que debe estarse haciendo es uno a nivel de servicios de negocios que puedan las instituciones ofrecer, y no a nivel de sistemas para reemplazar componentes (aunque en realidad este último sí se ocupa para modernizar). Es más, si se hace la colaboración por medio de servicios, como no importa en lo más mínimo cómo está compuesta la cebolla de la segunda capa para abajo, puede todo lo interno reemplazarse y modernizarse sin romper los contratos de servicio externo y los sistemas pueden seguir interoperando sin problemas. En caso contrario, si se hiciera la interoperabilidad por medio de conexión directa de los núcleos de la cebolla, esto no podría tocarse sin requerir que el otro sistema y la colaboración tenga que modificarse también. Esto se conoce como acoplamiento en la jerga informática.

Espero que haya quedado claro, no sólo lo que dice el artículo sino lo serio que es si eso es verdad. Si tengo más información lo estaré comentando.