IMtrevista con Doug Mahugh: Open XML

En los próximos meses estaremos realizando una serie de entrevistas exclusivas via Instant Messaging (IMtrevistas) usando Messenger con empleados de Microsoft, expertos de la Industria, MVPs, líderes de Comunidad, clientes y partners sobre temas de importancia para los desarrolladores de software de nuestra región.

Como entrevista inicial contactamos a Doug Mahugh, ingeniero de Microsoft, para que nos hable un poco sobre el nuevo formato de los archivos de Office, Open XML.

Ricardo J: Hola Doug, muchas gracias por esta IMtrevista.

Doug M: Es un placer para mi, Ricardo!

RJ: Cuéntanos un poco sobre ti

DM: Mi nombre es Doug Mahugh y mi título es Evangelista Técnico para los formatos de archivo Open XML. Mi trabajo incluye enseñar, escribir, bloggear, hablar en público, y reunirme con desarrolladores de software para ayudar a que sus preguntas sobre Open XML sean contestadas.

RJ: Qué bien! Tu oficina está en Redmond cierto?

DM: Si, estoy con el equipo de DPE (Developer & Platform Evangelism) aquí en Redmond. Aunque debo viajar muy a menudo!

RJ: Gracias Doug. Quería hacerte algunas preguntas sobre Open XML para compartir acá con los desarrolladores de Caribe y Centroamérica. Empecemos con qué es Open XML?

DM: Open XML es un nuevo set de formatos de archivos para tres tipos de documentos: procesadores de palabras, hojas de cálculos y presentaciones. Los formatos son basados en XML, y son usados por las últimas versiones de Word, Excel y PowerPoint.

RJ: Esas versiones son las que están incluidas en Office 2007 cierto?

DM: Si, eso es correcto.

RJ: Y Doug, porqué cambiamos el formato de archivos?

DM:  Los formatos binarios anteriores eran complicados, y los developers frecuentemente tenían que usar los clientes de Office (via automation) para trabajar con ellos. 

Los nuevos formatos son basados en tecnologías simples que todos los developers entienden ya: XML y ZIP. Esto hace que sea muy sencillo para los developers trabajar con estos formatos. Ya no necesitan usar automation de Microsoft Office para crear documentos, sino que ahora los developers pueden leer y escribir los nuevos formatos desde cualquier ambiente usando cualquier lenguaje de programación común.

RJ: Entonces digamos que para crear un archivo, Excel por ejemplo, ya no necesito usar los objetos COM de Excel que se instalaban con Office?

DM: Exactamente. Puedes crear una hoja de cálculo simple con tan solo escribir unas cuantas líneas de XML en unos archivos, grabarlos en un paquete ZIP y listo. Puedes crear un documento Open XML con solo usar Notepad y WinZIP por ejemplo.

RJ: Yo intenté eso recientemente! Uno puede renombrar un archivo Open XML para que tenga una extensión ZIP y luego ver dentro de él, cierto?

DM: Si, esa es una forma fácil de aprender sobre los nuevos formatos. Renombra cualquier DOCX/XLSX/PPTX a ZIP y revisa el archivo por dentro -- verás muchas partes XML, así como imágenes y otro contenido, todo dentro de un sencillo paquete ZIP.

RJ: Y cuáles dirías que son las principales ventajas de Open XML?

DM: Para los usuarios finales, el pequeño tamaño del archivo (debido a la compresión ZIP) es de las cosas principales que van a notar. Para los developers, la facilidad de acceder al contenido y la facilidad de creación son las ventajas más grandes. Y para ambos, es menos probable que los nuevos formatos se corrompan -- un archivo dañado puede ser mucho más fácilmente recuperado/reparado que en el pasado.

RJ: Y qué hay de las versiones viejas de Office leyendo estos nuevos formatos, es eso posible?

DM: Si, existe un download gratuito llamado el Compatibility Pack que agrega soporte para leer/escribir archivos Open XML en las últimas tres versiones de Office: 2000, XP y 2003.

RJ: Leí que Open XML es un estándar ECMA, qué significa eso y porqué sería eso importante para los desarrolladores de software?

DM: Si, Open XML se convirtió en un estándar Ecma el año pasado. Esto significa que Ecma controla ahora el formato, y ya Microsoft no puede hacerle cambios. Los developers entonces pueden ahora diseñar soluciones sobre Open XML sin tener que preocuparse porque la próxima versión de Office haga cambios en los formatos donde su aplicación no correría. Eso no puede suceder, ya que Ecma controla el estándar.

RJ: También estamos buscando la estandarización ISO, cierto? Qué está pasando con eso?

DM: ISO es la organización líder de estándares en el mundo, y Ecma envió el formato Open XML a ISO para que lo considerara al inicio de este año. Este proceso es largo y complicado, con muchos comités técnicos en muchos países revisando el estándar en estos momentos, para realizarse una votación en Septiembre de este año. Los comités técnicos incluyen personas de proveedores como IBM, Sun y Microsoft, así como consultores independientes, oficiales de gobierno y otros.

RJ:  Ahora, porqué es importante para uno como desarrollador de software aprender sobre estos nuevos formatos?

DM: Los nuevos formatos son el default para Word, Excel y PowerPoint, por lo que su uso crecerá rápidamente a medida que las personas actualicen a Office 2007. Para ser competitivo en este nuevo ambiente, los desarrolladores de software necesitarán entender cómo trabajar con los nuevos formatos. Y las buenas noticias son: los nuevos formatos son mucho más fáciles de aprender que los antiguos formatos binarios.

RJ: Y para los desarrolladores que quieran aprender sobre los nuevos formatos, deben leerse toda la especificación de Open XML? Vi que es un documento muy grande. A dónde los dirigirías?

DM: Es un documento grande, pero la mayoría de las cosas en él son opcionales. Por ejemplo, un documento word sencillo requiere menos de 20 líneas de XML. La mejor forma de empezar es leyendo la sección Fundamentals, que es la parte 1 de la especificación -- es una visión de alto nivel de Open XLM.

RJ: Si estos nuevos formatos están basados en XML, podría uno integrar de alguna forma información en XML de mi sistemas o aplicaciones?

DM: Si, esa es una de las cosas que los desarrolladores encontrarán más útiles sobre Open XML. Uno puede colocar datos XML existentes dentro de un documento como una "parte" separada dentro del "paquete" del documento, y luego sería muy fácil de leer o escribir esos datos de negocio.

RJ: Suena como a oportunidades de negocio para nuestros ISVs. Tienes algunos ejemplos de aplicaciones que se podrían construir sobre Open XML que le diera ideas a nuestros desarrolladores sobre nuevos productos que podrían construir?

DM: Tal vez la mejor forma de contestar eso es dando algunos ejemplos existentes. Considera estos tres...

DM: Primero, Mindjet (www.mindjet.com). Ellos han creado un add-in para su producto que permite interoperabilidad en ambas vías entre su propio formato propietario de gráficos de vector 2D y Open XML, permitiendo colaboración entre sus clientes y los usuarios de Word 2007.

DM: Segundo, Datawatch (www.datawatch.com). La última versión de su producto Monarch puede escribir hojas de cálculo Open XML, inlcuyendo fórmulas -- una de las fortalezas de Open XML es el soporte para fórmulas bien-documentadas.

DM: Y tercero, Bluespring (www.bluespring.com). Ellos están usando los formatos Open XML para generar documentos de Office sin la necesidad de automatizar Office en el servidor, lo que les resulta en menor tiempo de desarrollo para ellos, y mucho mejor desempeño y estabilidad para sus clientes.

DM: Estos son algunos ejemplos típicos de proyectos Open XML que he visto en estos días.

RJ: Están muy interesantes, no conocía ninguna de esas aplicaciones. Finalmente, podrías compartir con nosotros algunos links de herramientas, entrenamiento o documentación que pudiera ayudar a los desarrolladores a aprender y sacarle provecho a este nuevo formato?

DM: El link más importante de recordar es OpenXmlDeveloper.org. Ahí puedes obtener una gran variedad de recursos Open XML, además de ejemplos de código, foros de soporte y un link para descargar la especificación de Ecma. También he ido recopilando una lista de links útiles sobre Open XML en mi blog: https://blogs.msdn.com/dmahugh/linklist.aspx

RJ: Doug, muchas gracias por tu tiempo, este es un tema muy importante en nuestra industria. Imagino que los desarrolladores también pueden contactarte para más información en tu blog cierto?

DM: Si, por supuesto! Me encantaría oir sobre desarrolladores de Open XML. Lo único que les pido es ser pacientes -- viajo frecuentemente y a veces me tardo un poco en responder, pero definitivamente contestaré sus preguntas si puedo.

Foto que nos compartió Doug: