LicitacionelectronicaPLACSP.jnlp o cómo sobreviví a la instalación de una aplicación Java en Linux para el Portal de Contratación del Estado

Tras más de siete correos electrónicos y varias llamadas telefónicas al Ministerio de Hacienda, finalmente logré hacer funcionar una de las aplicaciones más kafkianas que aún sobreviven en la Administración del Estado español. Este es el relato de una odisea tecnológica vivida por un colega que, usando GNU/Linux, necesitaba acceder a la plataforma de contratación del Estado.

El Inicio de la Aventura

Una vez dentro de la plataforma, accedió con su usuario y contraseña. Todo parecía ir bien hasta que, al intentar preparar una oferta para una licitación desde la sección “Mis licitaciones”, hizo clic en el enlace “Preparar oferta/solicitud de participación”. A partir de ese momento, fuimos transportados a una pesadilla tecnológica del siglo XX.

En lugar de encontrarse con un formulario en línea moderno, se inicia la descarga de un ejecutable Java, un archivo .jnlp llamado LicitacionelectronicaPLACSP.jnlp. Este archivo requiere la ejecución de Java Web Start, una tecnología arcaica que, sorprendentemente, todavía sobrevive en aplicaciones estatales.

Podría haber sido peor. Al menos no era un archivo .exe o un PDF con un formulario de Acrobat privativo. ¡Algo es algo! Así que, optimista, decidí seguir adelante.

La Inexistente Ayuda para Linux

El portal de contratación no ofrece prácticamente ninguna ayuda para usuarios de Linux. De hecho, si usas software libre, te invitan a enviarles un correo para que te envíen un manual. Ahí ya empecé a armarme de paciencia.

Primer Intento: OpenJDK y Java Web Start

Al ejecutar el archivo con:
javaws LicitacionelectronicaPLACSP.jnlp

la primera en la frente, un listado de errores de java, me dice que no encuentra los ficheros .jar online, estoy usando el OpenJDK que es el java libre de la comunidad… lo primero que pienso es lo típico “el Estado” no le gusta el software libre y solo programan para Windows y lo privativo, no me equivocaba, como veréis al final, me descargo el JRE de Oracle… me obligan a registrarme en su web y darles datos falsos de mi vida… para descargar el jdk-8u311-linux-x64.tar.gz
Lo ejecuto con JRE, mismo error…

  • Envío un email a soporte. :mailbox: :timer_clock:

Por suerte responden rápido, la primera respuesta parece venir de ChatGPT 0.1, me responde como si no hubiera para nada leido mi correo, hablandome de AutoFirma, etc…
Al segundo correo, ya veo que es un becario windowsero, firma como operador #13 (vaya suerte de numero, es mi favorito, sin sarcasmo), me habla con capturas de pantalla en Windows, de algo que no le he preguntado, al tercer email fallido ya pido audiencia con un superior…

AL rato me llega un mail de alguien(no el operador #13) el cual me pide un teléfono y el numero del expediente… me llama, lo primero que me pide respetuosamente es “paciencia”, que no estan acostumbrados que alguien pida un superior… espero no haber dejando llorando al #operador 13, le he tratado bastante respestuosamente incluso despues de 4 correos fallidos de ayuda no relacionada con mi problema.

Seguramente no están acostumbrados a pedir alguien que sepa, como en un McDonalds o un Hotel… esto es el ministerio de Hacienda… por favor.

El “superior” me dice que me va a pasar el tutorial para Linux… la conversación es corta…

Recibo un guia ubuntu v02.pdf (368,4 KB)(lo añado aquí para ahorrar frustraciones a amantes del software libre).

En breve me doy cuenta que la guía es muy escueta y no me dice mucho, el único descubrimiento es que he de descargarme Download - openwebstart.com y he de usar Chrome (todavía no sé para qué).

[Aquí han pasado ya dos días… ]
Avanzamos… ejecuto el .jnlp con el javaws de OpenWebStart descargado, y ya me sale otra logo y otros errores, al parecer es un fork de IcedTea-Web.

Me empiezan a salir error de

Caused by: java.lang.IllegalAccessError: class com.cifrado.applet.UtilidadesCifrador (in unnamed module @0x9fa8c04) cannot access class com.sun.org.apache.xml.internal.security.exceptions.Base64DecodingException (in module java.xml.crypto) because module java.xml.crypto does not export com.sun.org.apache.xml.internal.security.exceptions to unnamed module

vuelvo a enviar un mail preguntando.

Al poco ya me llama un informático [del cual acabaré haciéndome amigo] que me comenta un poco la situación… y que se abre a contarme algunos secretos de por qué tienen montada tal pesadilla… no me sorprende, lo típico… desarrollo hecho por una empresa externa, que ha ido parcheando esta aplicación desde años (cuando java todavía no daba ganas de llorar), que no se plantean rehacer la aplicación dentro de la propia web… porque les piden muchos dineros… (por que imagino que la administración se plantee hacer desarrollos libres y dejar que la comunidad les ayude con Merge Request es una locura utópica…, me hace reafirmar mi convicción que el Estado es un castillo de naipes que solo se aguanta porque creemos en él ).

Viendo que yo también soy informático se abre más, me confiesa que en la administración no les dejan usar “Linux” para trabajar [así les va luego con los troyanos], que él lo usa habitualmente en su casa… que tienen que usar entornos virtuales para probar, etc.

Gracias a este informático(que es el mismo que escribió la guía) me dice que he de abrir las settings del OpenWebStart, me recomienda que solo deje en la lista que sale de “JVM Manager”, el JRE de Oracle, así algo como aparece en la captura:

  • Repruebo, sigue fallando.
  • me recomienda reiniciar [para perpetuar el típico chiste de informáticos] ¿en GNU/linux?, lo hago, no cambia nada.

Finalmente me sugiere que ejecute la configuración de OpenWebStart con sudo

lo ejecuto:
sudo /opt/OpenWebStart/itw-settings

aquí he de volver a poner solo el JRE como las máquinas java disponibles.
Me dice que entonces pruebe el .jnlp con sudo
sudo /opt/OpenWebStart/javaws LicitacionelectronicaPLACSP.jnlp

y ahora sí, después de varios dialogos de “NO” descargar el JDK de Eclipe, y “Sí” de confíar en los certificados https no válidos… me abre la aplicación :crazy_face: OMG.


Me abre una ventana no ajutable de más de 3000px de ancho xD, me ocupa literalmente pantalla y media…

Reflexión Final

La aventura aún no ha terminado. Ahora debo ayudar a mi amigo a instalar la aplicación remotamente usando RustDesk, el TeamViewer libre. Todavía
queda por ver si la aplicación funcionará sin más problemas, especialmente cuando toque lidiar con AutoFirma.

Le recomendé al técnico que actualizara la guía con todas las indicaciones que me proporcionó, y que la publicaran en el portal en lugar de enviarla por correo bajo demanda. Me comentó que, de los 50 correos solicitando la guía, nadie más se había quejado. Imagino que la mayoría simplemente desiste y acaba usando Windows.

Al final, me quedó una sensación agridulce. La Administración está atrapada en sistemas antiguos y desarrollos externos que no se replantean actualizar o mejorar. Sin embargo, este técnico me recordó que detrás de la burocracia hay gente que, como nosotros, también lucha por usar herramientas libres.

Escribo este artículo por si algún defensor del software libre lo encuentra y puede ahorrarse la frustración. Porque, al buscar “LicitacionelectronicaPLACSP.jnlp Linux”, lo único que encontrarás… es silencio.

2 Likes

Tuvimos suerte y fueron pocos los problemas que continuar y al final se consiguió enviar. Ej. la aplicación usa todo el ancho de las multipantallas que tengas, y no te deja redimensionar. Al tener que ejecutarlo via root, a la hora de coger ficheros del escritorio del usuario normal es un poco engorro, hay que cambiar de /root/ a /home/xxxx/Escritorio…

Detectó la primera firma del PDF que le adjunté y el resto ya no… tuve que firmar desde la propia aplicación lo cual es un poco engorroso saber cómo abre al Autofirma instalado… se supone que busca los certificados de Chrome solo…

Después también hubo un problema burocrático donde le habían pedido el ayuntamiento menos documentos (solo la justificación económica) de los que pedía la aplicación… así que acabamos creandole un PDF con una frase explicando eso y adjuntándosela para que se lo comiera y nos dejara enviarlo todo.

2 Likes

gracias copiado y guardado para futuras situaciones

1 Like