Página principal

De Document Product Lines wiki

Actualmente existen soluciones tecnológicas para la generación de documentos personalizados en cuanto a sus contenidos y apariencia. Sin embargo, todas ellas requieren de amplios conocimientos en lenguajes especializados (XML, XSLT o XPATH entre otros) y no contemplan tareas relacionadas específicamente con el dominio, como es la identificación de la variabilidad en el contenido de los documentos.

DPL (Document Product Lines o Líneas de Producto de Documentos en castellano) es una propuesta metodológica para especificar la variabilidad de una familia de documentos en términos de características, que son transformadas en elementos de contenido mediante editores personalizados que se generan siguiendo una aproximación de Líneas de Producto Software. DPL se construye sobre un metamodelo de características de documento, que guiará el posterior proceso de generación.

Páginas de interés en esta wiki

Document Product Lines

Gestionar documentos con contenido variable es un aspecto fundamental en diversos ámbitos, tales como la enseñanza a distancia, el comercio electrónico o el gobierno electrónico, imponiéndose la filosofía de "1 persona → 1 documento" vs "1 documento → n personas". Los principales retos en la generación de manuales personalizados, contratos o documentos gubernamentales, por ejemplo, son la definición de variantes del documento y la reutilización de contenidos. En el campo de la Ingeniería de Documentos, la generación de documentos personalizados se conoce como Impresión de Datos Variables —Variable Data Printing (VDP)—. En las últimas décadas se han realizado diversas propuestas. Desde las primeras propuestas al estilo de Mail Merge se ha llegado a otras con mayor grado de sofisticación, permitiendo, por ejemplo, la generación de documentos multimedia personalizados [1]. Sin embargo, estas herramientas proporcionan una gestión de la variabilidad a bajo nivel donde el diseñador de documentos está obligado a tener un amplio conocimiento de XML y tecnologías asociadas para poder definir el documento personalizado. Además, en numerosas ocasiones, la reutilización es oportunista, en vez de potenciar una reutilización sistemática. En este contexto el objetivo es proporcionar una alternativa para la generación automática de documentos, a la vez que oculte la complejidad intrínseca a una alta variabilidad.

Una solución para ocultar la complejidad consiste en el desarrollo de herramientas para usuarios finales que acerquen la definición de la variabilidad al dominio del problema: los usuarios seleccionan qué contenidos de un documento son fijos y cuáles pueden variar independientemente del formato final del mismo. Además, la funcionalidad de dichas herramientas debe soportarse por una metodología que guíe el proceso de generación de un documento. Igualmente, y con el fin de incrementar la eficiencia, es deseable que se dé un soporte integrado para la reutilización de componentes de documento de forma sistemática.

DPLfw

DPLfw, es un framework para la generación de documentos con contenido variable que cumple con los requisitos anteriores. Este framework, presentado inicialmente en 2012 [2], está basado en las Líneas de Producto de Documentos —Document Product Lines (DPL) [3]— que proporcionan un marco de trabajo alternativo a la aproximación tradicional seguida en VDP. DPL permite la creación de documentos con contenido variable a usuarios no expertos y asegura la reutilización de contenidos a nivel del dominio, siguiendo los principios de la Ingeniería de Líneas de Productos Software —Software Product Line Engineering (SPLE) [4]—. La clave para el éxito de un proceso de DPL reside, por una parte, en la definición de un modelo de variabilidad (llamado modelo de características) que describa cómo pueden variar los documentos; y por otra parte, en la existencia de una colección organizada de componentes de documento (core assets según la terminología de SPLE). Los componentes de documento son piezas de contenido que pueden combinarse para producir el documento final de acuerdo con el modelo de características. DPLfw implementa el proceso DPL siguiendo los principios de la Ingeniería Dirigida por Modelos —Model Driven Engineering (MDE) [5].

Referencias

  1. Lumley, J., Gimson, R., Rees, O.: A framework for structure, layout & function in documents. In: DocEng ’05. pp. 32–41. ACM (2005)
  2. Gómez, A., Penadés, M.C., Canós, J.H., Borges, M.R., Llavador, M.: DPLfw: A framework for Variable Content Document Generation. In: 16th International Software Product Line Conference, SPLC 2012, Salvador, Brazil, September 2-7 (2012)
  3. Penadés, M.C., Canós, J.H., Borges, M.R., Llavador, M.: Document product lines: variability-driven document generation. In: DocEng ’10. pp. 203–206. ACM (2010)
  4. Clements, P., Northrop, L.: Software Product Lines: practices and patterns, vol. 0201703327. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA (2001)
  5. Kent, S.: Model driven engineering. In: Butler, M.J., Petre, L., Sere, K. (eds.) IFM 2002, Finland. LNCS, vol. 2335, pp. 286–298. Springer (2002)