Search

Search this site:

Interoperabilidad: ¿A qué aspiramos cuando hablamos de ella?

<p>El pasado 2 de junio, participé en el foro «Software Libre en      México, reflexiones y oportunidades», organizado por la Comisión      de Ciencia y Tecnología del Senado de la República. En este foro      tocamos cuatro temas principales (Educación, gobierno, industria      y sociedad).<p>

<p>Si bien el objetivo explícito central del foro fue      presentar ante los legisladores y medios interesados tanto los      puntos de vista que tenemos los activistas del software libre      como las historias de éxito, los avances y problemas con que nos      hemos encontrado en los ya más de quince años que llevamos de      existencia en nuestro país, posiblemente lo más importante que      nos llevamos los participantes fue la reactivación de un grupo      de discusión para tratar temas políticos relacionados con la      tecnología, y con el factor cohesivo de estar interesados en la      difusión del software libre.</p>

<p>Este grupo, coordinándose a través de una lista de correo      pública<a href="#fn-1" class="fn">1</a>, está actualmente en      proceso de definir los puntos de la <em>agenda digital</em> a      presentar; el primero de ellos es el de la      interoperabilidad.</p>

<p>El tema coincide con la presentación de la versión preliminar      de un acuerdo de la Secretaría de la Función Pública (SFP), a      ser discutido y –esperamos– aprobado en las próximas semanas o      meses. Nos resulta de gran importancia no sólo analizar y      proponer en lo relativo a esta temática hacia el interior de      nuestro grupo (y de las instancias gubernamentales      involucradas), sino que hacia los demás profesionales en el tema      — Como lo son los lectores de esta revista. Dada la      imposibilidad de proporcionar referencias a un documento aún      inexistente y motivado por el interés que seguramente ésto      causará a más de uno de ustedes, coloqué a su disposición una      copia de una versión preliminar de este texto en mi sitio      Web<a href="#fn-2" class="fn">2</a>.</p>

<h3>Definición</h3>

<p>¿A qué nos referimos con <em>interoperabilidad</em>?</p>

<p>Al enfrentar un desarrollo, un punto fundamental a considerar      desde muy temprano es cuál será su <em>límite</em> o interfaz —      Sea un sistema, un API <em>sobre la nube</em>, un servicio, un      componente o una biblioteca, debemos delimitar por qué mecanismo      recibiremos las solicitudes de los usuarios y por cuál le      entregaremos los resultados. Del mismo modo, nuestro sistema      parte de un <em>contrato</em> con diversos elementos      (nuevamente, de cualquiera de los niveles antes descritos) que      le brindarán facilidades, por ejemplo, de conectividad a red o      de manejo de bases de datos. Hablar de interoperabilidad      significa que en cada uno de dichos puntos, en cada una de las      interfaces, el intercambio de datos se realice de forma tal que      evite imponer dependencia en algún paquete específico, en los      designios de algún producto que a futuro pudiera –de cierto      modo– mantener como rehén sea al usuario final, al      desarrollador, o a la entidad que requirió del desarrollo en      cuestión.</p>

<p>En palabras del Grupo de Trabajo para la Interoperabilidad, de      la Asociación Francófona de Usuarios de Software      Libre<a href="#fn-3" class="fn">3</a>:</p>

<blockquote>La interoperabilidad es la capacidad que tiene un      producto o un sistema, cuyas interfaces son totalmente      conocidas, para funcionar con otros productos o sistemas      existentes o futuros y eso sin restricción de acceso o de      implementación. </blockquote>

<p>El borrador de la SFP divide la definición de interoperabilidad      en cinco sub-definiciones:</p>

<dl>
  <dt>Interoperabilidad</dt>
  <dd>Definición del concepto global</dd>
  <dt>Interoperabilidad organizacional</dt>
  <dd>Homologar criterios y procedimientos entre distintas	dependencias</dd>
  <dt>Interoperabilidad semántica</dt>
  <dd>Un manejo estandarizado del significado de los diversos	conceptos</dd>
  <dt>Interoperabilidad técnica</dt>
  <dd>A las especificaciones técnicas que garantizan que los	componentes tecnológicos de los sistemas de información están	preparados para interactuar de manera conjunta</dd>
  <dt>Neutralidad tecnológica</dt>
  <dd>Busca que cada dependencia pueda elegir los programas y	mecanismos más adecuados para su desarrollo sin que se	favorezca o penalice a ninguno por criterios más allá de los	puramente técnicos.</dd>
</dl>

<h3>Del dicho al hecho</h3>

<blockquote>
  Quien pegue una etiqueta que diga "esta página Web se ve mejor      con el navegador X" en una página Web es un nostálgico por los      días viejos y malos, antes de la Web, cuando tenías muy pocas      probabilidades de leer un documento escrito en otra computadora,      otro procesador de textos u otra red.<br/>      — Tim Berners-Lee, Technology Review, julio 1996
</blockquote>

<p>El documento presentado por la SFP nos parece muy esperanzador,      está escrito de forma clara y bastante exhaustiva. El cuidado      que debemos ahora poner va principalmente hacia que el acuerdo      no quede en letra muerta — Debe ser del conocimiento de las      diversas dependencias y ser tomado en serio para beneficio no      sólo de la población toda, sino que de cada una de dichas      dependencias. Además, debe ser conocido y comprendido por la      industria nacional de desarrolladores de software, dado que      interoperar sin restricciones no únicamente beneficia al sector      público, sino que –a fin de cuentas– a todos los      implicados. Escribir software que no dependa de implementaciones      específicas es sencillamente escribir mejor software.</p>

<p>Al día de hoy, como usuarios, tristemente nos resulta muy común      encontrar, una y otra vez, ejemplos de cosas que podrían      trivialmente ser interoperables, pero resultan no serlo — Y lo      que es peor, sin razón alguna.</p>

<p>Ejemplos de lo que digo son demasiado comunes. Desde la      aplicación desarrollada por el SAT para presentar la declaración      de impuestos (desarrollada en Java, plataforma que se popularizó      al ser la primera en impulsar explícitamente la      interoperabilidad como su principal promesa), que sencillamente      se niega a operar al ser llamada con cualquier navegador que no      sea Internet Explorer, hasta el SUA del IMSS, única manera en      que una empresa puede dar de alta y administrar a su plantilla      de trabajadores ante IMSS e INFONAVIT, que requiere ser      ejecutada en computadoras corriendo Windows. Y al igual que      estos dos casos de altísima visibiliad, seguramente ustedes      podrán citar a ejemplos adicionales que obligan a sus usuarios a      emplear tecnologías específicas, sin justificación técnica      alguna para hacerlo.</p>

<p>El pretexto más frecuente que encontramos ante cualquier      solicitud de que algún sistema sea utilizable desde una      plataforma distinta es el consabido <em>eso es lo que hay y no      podemos hacer nada al respecto</em>; modificar la base de      software ya desarrollado e instalado significaría una tarea      titánica. Sin embargo, los servicios fundamentales que deben      estar disponibles para toda la población deben ser priorizados —      Resulta inaceptable que a la población en general se le imponga      el requisito de emplear una tecnología específica      (independientemente del papel dominante que ésta tenga      actualmente en el mercado), especialmente dado el desarrollo y      rápida adopción de estándares como HTML5, que permiten un      despliegue extensivo de interfaces de usuario ricas y      completamente multiplataforma.</p>

<h3>Las múltiples facetas de la interoperabilidad</h3>

<p>Pero hablar de interoperabilidad no se limita a permitir que      usuarios con configuraciones diversas puedan usar los sistemas      de gobierno — Como lo mencionamos en el primer apartado, parte      importante de la interoperabilidad se refiere a cómo facilitar      el intercambio de información entre entidades del mismo      gobierno, a la creación de modelos estandarizados (la ya      citada <em>interoperabilidad semántica</em>) con los que puedan      representarse e intercambiarse datos acerca de las estructuras      más comunmente encontradas y repetidas — Y que posiblemente      facilite que paulatinamente se vaya creando, en vez de una      colección de sistemas que conforman al <em>e-gobierno</em>, una      nube de información con un mínimo de duplicación de      información.</p>

<p>¿Y cómo elegir entre tantos estándares disponibles? ¿Qué      formatos, protocolos y lenguajes son los más adecuados? ¿Cómo      podemos determinar cuál es un <em>estándar abierto</em>? Este es      un tema que da para largas discusiones, y motivo de los      diferentes foros referidos. Cito lo que marca el Proyecto de      Acuerdo al respecto:</p>

<blockquote>Los estándares abiertos deberán tener, como mínimo,      las características siguientes:
  <ol style="list-style: lower-alpha">
<li>Disponibilidad;</li>
<li>Que los derechos de autor estén disponibles, libres de
      regalías y condiciones;</li>
<li>Maduros;</li>
<li>Internacionalmente aceptados;</li>
<li>De fácil distribución, y</li>
<li>Con amplio soporte en el mercado;</li>
  </ol>
</blockquote>

<p>El sólo hecho de reducir la cantidad de datos redundantes (y      por consiguiente avanzar en la larga lucha contra los      peregrinares a mil ventanillas para cualquier trámite trivial)      ya por sí sólo lo valdría. Agreguemos a esto que reducirá      fuertemente la dependencia de proveedores únicos y de la      permanencia en el mercado de productos específicos, fomentando      el crecimiento de una verdadera industria de desarrollo de      software.</p>

<p>Sigamos, pues, la discusión que se presentará sobre estos temas      en los próximos meses. Este es un tema que indudablemente      impactará el trabajo de todos nosotros, y en el que todos      tendremos algo que aportar.</p>

<h3>Referencias</h3>
<p><a name="fn-1" class="ref">1</a>      <a href="http://lists.firefoxenlaescuela.org/pipermail/discusion-softlibre-senado-firefoxenlaescuela.org/">Archivo	público de la lista de correo
«discusion-softlibre-senado»</a></p>
<p><a name="fn-2" class="ref">2</a>      <a href="http://gwolf.org/files/interoperabilidad_y_datos_abiertos.pdf">Proyecto      del Acuerdo por el que se establece el Esquema de      Interoperabilidad y de Datos Abiertos de la Administración      Pública Federal</a></p>
<p><a name="fn-3" class="ref">3</a>      <a href="http://aful.org/gdt/interop">Grupo de Trabajo para la      Interoperabilidad, AFUL</a></p>

Attachments

Versión del artículo (en PDF) como apareció impresa en la revista (142 KB)