ENI – Transmisión de ficheros en el esquema del Documento Electrónico

El Esquema Nacional de Interoperabilidad define en la Norma Técnica de Interoperabilidad de Documento Electrónico las especificaciones XSD para el intercambio de Documentos Electrónicos Interoperables:

Tanto en la Guía de Aplicación de la NTI Documento Electrónico como en el Manual de usuario para los esquemas XML de intercambio de documentos electrónicos y expedientes electrónicos se trata el bloque de Contenido de un documento electrónico. El fichero se puede incluir en el esquema de diferentes formas:

  • En formato XML
  • Binario codificado en base 64
  • Como referencia interna a otro punto interno de la estructura XML

La mayoría de los documentos generados en las Sedes Electrónicas son archivos PDF (binarios), por lo que la forma recomendada debería ser un binario codificado en base 64. En ambos documentos parece insinuarse que la manera de transmitir el fichero es incrustándolo en el XML SOAP codificado en base 64.

El envío del contenido de ficheros a través de servicios web empleando esta técnica presenta una serie de inconvenientes que conviene recordar:

  • El cliente debe codificar en base64 el contenido del fichero
  • El cliente debe construir en memoria una estructura XML que contiene los datos de la petición y el contenido completo del fichero
  • La petición del cliente viaja completa hasta el servidor
  • El servidor debe construir en memoria la misma estructura XML (con los datos de la petición y el contenido completo del fichero)
  • El servidor debe decodificar de base64 el contenido del fichero

Resulta evidente que este mecanismo limita el tamaño de los ficheros que pueden ser enviados a la capacidad de memoria de las máquinas y que sobrecarga el proceso al incluir la codificación y decodificación en base64.

Cómo implementar el envío de una manera eficiente

MTOM es un estándar que permite la transmisión de ficheros en tecnologías de servicios web de una manera eficiente y que está soportado tanto por WS-i como por múltiples fabricantes (Axis 2, Apache CXF, Microsoft WCF…). La utilización de este mecanismo permite enviar el contenido de los ficheros en formato binario y hacerlo en modo streaming. Gracias a estas características tanto servidor como cliente ahorran mucho tiempo de proceso (al evitar el formato base64 y la manipulación en memoria de XML) y se elimina la limitación para el tamaño del fichero que se intercambia.

Comparativa entre el envío XML base64 y el uso de MTOM

Comparativa entre el envío XML base64 y el uso de MTOM

Existen diferentes técnicas para implementar clientes y servidores que gestionen servicios web que usen MTOM, pero la única manera de garantizar la interoperabilidad entre diferentes plataformas (Java, .NET, PHP…) es utilizando el estándar WS-Policy, que permite indicar la serialización de contenidos de una manera interoperable. Dado que es posible declarar el uso de este mecanismo en el bloque de binding del WSDL, los esquemas XSD del Documento Electrónico pueden ser respetados.

Conclusiones

Las administraciones públicas deben prestar especial atención a cómo se aborda este punto por parte de su personal técnico o de las empresas de tecnología contratadas, ya que un enfoque propietario (como el basado en el “xmime:contentype” de Java) puede generar problemas de interoperabilidad entre organismos y una implementación que no soporte MTOM podría generar graves limitaciones en el intercambio de información.

Tampoco estaría de más que en la documentación suministrada por el Ministerio en relación al ENI y sus NTI, se tratase esta cuestión de una manera más profunda y detallada.

Referencias

Microsoft CodePlex – Software para asegurar compatibilidad de WCF con IBM WebSphere, Oracle WebLogic, Java Metro y Apache (Axis 2 y CXF).

Web Service Attachments Support Matrix – Estudio, aunque desactualizado, del soporte de los diferentes frameworks de servicios web para MTOM y otros mecanismos de envío de ficheros

Anuncios

La aplicación del ENI en época de crisis (de ideas)

El Esquema Nacional de Interoperabilidad y sus Normas Técnicas han sido recibidas con cierta frialdad por parte de las administraciones públicas. En lo relativo a las políticas de firma recomendadas (basadas en XAdES, CAdES y PAdES), la mayoría de las organizaciones han optado por la solución más cómoda: lo firmo todo con CAdES detached y ya puedo decir que estoy cumpliendo el ENI. Esto me suena un poco a la bandera de la “Instancia General” para la Ley 11/2007…

¿De verdad queremos seguir invirtiendo ingentes esfuerzos en construir complejas directrices técnicas alineadas con la estrategia europea para que luego sus bondades sean ignoradas sistemáticamente por los responsables de ponerlas en práctica?

Pasaré de puntillas por el asunto de que la interoperabilidad no solo se construye de puertas adentro, sino que debe planearse contemplando la recepción de la información que viene de fuera… ¿Qué ocurrirá cuándo a una de estas organizaciones “CAdES-ya-me-sirve” les llegue un documento de otra organización firmado en PAdES? No van a ser capaces de admitirlo, por lo que la interoperabilidad será de nuevo una quimera inalcanzable. Y esto se traducirá en nuevos paseos del ciudadano de un organismo a otro para hacer de correo de la información.

Lo que me gustaría como ciudadano

Es bien cierto que cuando uno actúa como juez y parte, la subjetividad puede resultar esquiva. No obstante, el objetivo de todo este proceso debería ser que pudiese disponer de todos mis documentos, resoluciones y contratos administrativos en un formato legible, unitario, fechado y legal. Y si además pudiesen ser almacenados por la Administración del Estado de una manera centralizada, me evitaría mucho tiempo, dinero y esfuerzo.

PAdES es un formato de firma que permite incrustar la firma electrónica con su sello de tiempo de manera legible y verificable en un documento PDF. Aunque actualmente todavía presente algún problema de uso relativo a los lectores de PDF disponibles, a priori parece la mejor solución.

En cuanto al almacenamiento de documentos de ciudadanos, la implantación del CSV promovido por la Ley 11/2007, ha dotado a los organismos públicos de sofisticados sistemas de gestión documental que permiten poner a disposición del ciudadano una base de datos documental con todos los documentos administrativos electrónicos emitidos por el propio organismo. Dado que esta infraestructura tecnológica ya existe, sería un detalle por parte de la administración que también incluyese un CSV a los documentos que aporta el ciudadano y que permitiese su consulta a través de esa misma base de datos documental. De esta manera, todos los documentos (tanto los emitidos como los aportados) podrían ser accedidos de la misma manera y evitaría al ciudadano tener que preocuparse de dónde conservar esta documentación.

¿Pensarán, por una vez, en la comodidad del ciudadano las Administraciones Públicas para invertir su recortado presupuesto en la implantación del ENI?

Safe Creative #1112070686394