XML y Adjuntos. Ministerio de Economía Fomento y Reconstrucción



Documentos relacionados
MANUAL PARA RADICACIÓN Y ADMINISTRACIÓN ELECTRÓNICA DE FACTURAS APLICA PARA PROVEEDORES DEL BSC Y DEMÁS GRUPOS DEL BANCO

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio).

Sistema de Mensajería Empresarial para generación Masiva de DTE

La interoperabilidad se consigue mediante la adopción de estándares abiertos. Las organizaciones OASIS y W3C son los comités responsables de la

Sistemas de Gestión de Documentos Electrónicos de Archivo (SGDEA)

Guía para Desarrollo de Sitios Web - Gobierno de Chile

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo.

INFORMÁTICA IE. Términos a conocer y conceptos básicos. World Wide Web (WWW):

INTEROPERABILIDAD SISTEMA DE INFORMACIÓN GENERAL DE ESTUDIANTES (SIGE) SOFTWARE DE GESTIÓN ESCOLAR

Almacenamiento de CFD de Proveedores

Mi propuesta consiste en crear un portal Web que contemple las siguientes funcionalidades:

Autenticación Centralizada

Arquitectura Básica CÍCLOPE CMS

(Certificado de Empresa): guía para las empresas

Capacitación del Sistema de seguimiento de PAIMEF. Módulo I.F.I

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA

Proceso de Compra de Avisos Clasificados desde Internet

Documentación Técnica Conector

"Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios

PROCEDIMIENTO DE GESTIÓN DE INCIDENCIAS

LICITACIÓN N L13045 NUEVO SISTEMA LEY DE TRANSPARENCIA

MICQ. Trabajo Práctico Final Seminario de Ingeniería en Informática I Facultad de Ingeniería, UBA. Junio Cátedra: Pablo Cosso

Comparación entre Active Reports, Crystal Reports, y MS Reporting Services

evaluación de competencias de 360

Estándares para el Uso de Herramientas de Desarrollo y Plataformas de Aplicaciones Web

GENERALES GENERALES TIPO DE PREGUNTAS RESPUESTA

5. Diseño e Implementación del sistema (software)

Qué necesito saber para tener mi sitio web en Internet?

Servicios Web Ubicuos Activados por Voz

Descripción. Introducción. Acceso al correo

CIERRE DE PERÍODOS DE LIQUIDACIÓN

Manual de usuario para Facturación Electrónica 2011

Capítulo 5. Cliente-Servidor.

Plataforma CGN. Comunicaciones con terceros. Fecha del Documento 07/10/2008 Versión 0.2

Diplomado en. Servicio Nacional. De Facilitadores Judiciales

Instituto de Acceso a la Información Pública y Protección de Datos Personales del Distrito Federal

REQUERIMIENTOS HARDWARE Y SOFTWARE QWEBDOCUMENTS VERSION 4

Modulo I. Introducción a la Programación Web. 1.1 Servidor Web.

Novedades en Q-flow 3.02

DISPOSITIVO DE BANDA ANCHA

Capítulo I. Definición del problema y objetivos de la tesis. En la actualidad Internet se ha convertido en una herramienta necesaria para todas

Fundación Universitaria Konrad Lorenz Departamento de Sistemas y Registro Académico Versión 1.0 MANUAL DE USUARIO SOLICITUDES DE CRÉDITO WEB

Anexos de Bases de Presentación de Propuestas. Consultoría para la implementación de sistemas de gestión de contenidos para comunidades de RedCLARA

Guía de configuración para cuentas de correo

Manual de Usuarios Contratistas y Consultores

Manual del Portal de Consulta y Descarga del Comprobante Fiscal Digital por Internet (CFDI)

REGISTRO DE PEDIDOS DE CLIENTES MÓDULO DE TOMA DE PEDIDOS E INTEGRACIÓN CON ERP

Informe Técnico Etapa 4

Qué es Record Keeper?

Introducción a los Servicios Web. Ing. José Luis Bugarin ILUMINATIC SAC jbugarin@consultorjava.com

MANUAL PARA CONFIGURACIÓN DEL COMPUTADOR DE LOS USUARIOS PARA EL USO DEL SISDON

GPS Colaboración PERSONALIZAR PROCESOS DE SELECCIÓN

Qué es Google Calendar? Qué se puede hacer en Google Calendar?

Manual del Usuario. Su Sistema Facturación Electrónica (CFDI)

Presentación y Planificación del Proyecto: Administración de Calzado

Sistema de Administración de Documentos (SIAD)

Manual de usuario Proveedor. Portal para proveedores GEPP

Oficina virtual IFAPA. Preguntas y respuestas frecuentes /Presenta-PCT

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE

UNIVERSIDAD COOPERATIVA DE COLOMBIA POSTGRADO MULTIMEDIA PARA LA DOCENCIA ELECTIVA I CREACIÓN DE AMBIENTES VIRTUALES

Manual de Usuario. Sistema Municipal de Facturación Electrónica. Página 1 de 26

DOCUMENTOS COMPARTIDOS CON GOOGLE DOCS

Práctica de introducción a

Manual para usuarios USO DE ONEDRIVE. Universidad Central del Este

Esta guía describe los pasos y actividades para realizar actas de reuniones por medio de Google Drive

SISTEMAS DE INFORMACIÓN III TEORÍA

Novedades de Microsoft Dynamics 2011

MANUAL MONITOR EMISOR

MANUAL DE NAVEGACIÓN DEL SIIA-WEB versión PRONAD

PLATAFORMA VIRTUAL BASADA EN MOODLE

Infraestructura Tecnológica. Sesión 8: Configurar y administrar almacenamiento virtual

Práctica 6 - Página Web

COMISIÓN NACIONAL PARA EL USO EFICIENTE DE LA ENERGÍA

Reflexión. Inicio. Contenido

UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA Departamento de Información Académica

PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN

PREPARATORIA DIURNA DE CUAUTLA

PERFIL TÉCNICO ANALISTA-PROGRAMADOR

Servinómina. Servicio de Visualización de Nóminas. (Servinómina) Agosto de Página 1 de 8 MINISTERIO DE HACIENDA Y ADMINISTRACIONES PÚBLICAS

Sencillo: Usuarios no técnicos crean y publican encuestas profesionales.

DE VIDA PARA EL DESARROLLO DE SISTEMAS

Redes de Computadores I

Dirección General de Administración de Bienes y Contratación Administrativa

LENGUAJES DE PROGRAMACIÓN WEB (PHP1, HTML52)

LAS FACTURAS ELECTRÓNICAS.COM

COMISIÓN NACIONAL PARA EL AHORRO DE ENERGÍA

Plataforma e-ducativa Aragonesa. Manual de Administración. Bitácora

Sistema de SaaS (Software as a Service) para centros educativos

El sistema está solicitandome ingresar nuevamente porque mi sesión ha expirado. Qué significa esto?

Planificación en Team Foundation Server 2010

SIEWEB. La intranet corporativa de SIE

Autor: Microsoft Licencia: Cita Fuente: Ayuda de Windows

Organizándose con Microsoft Outlook

Guía Documentos Tributarios Electrónicos en organismos públicos


SISTEMAS DE INFORMACIÓN II TEORÍA

DESARROLLO WEB EN ENTORNO CLIENTE

Ambiente Virtual de Comercio Electrónico B2B para la Comunidad Virtual de Negocios del departamento del Cauca

Capítulo 1. Introducción

Buzón CFDI. Aplicación de administración, validación y recepción de facturas electrónicas

Transcripción:

XML y Adjuntos Ministerio de Economía Fomento y Reconstrucción Santiago, octubre 2009

ÍNDICE 1. Objetivo...2 2. Incorporación de adjuntos en documentos XML...2 2.1. Incluir el adjunto o apuntar a una ubicación del adjunto...2 2.1.1. Incluir el adjunto...2 2.1.2. Apuntar o referenciar a la dirección del adjunto...5 3. Visualización de un documento XML con adjunto...6 3.1. Data URI scheme...6 3.2. Desarrollo a medida...7 4. Elección de formatos de adjuntos...8 5. Envío de archivos en los servicios Web...8 5.1. Estándares...9 5.2. MTOM...9 5.2.1. Capas de un Servicio WEB utilizando MTOM...10 5.2.2. Flujo de la optimización MTOM...10 6. Consideraciones de archivos XML...11 7. Referencias...12 Página 1 of 13

1. Objetivo El presente documento tiene como objetivo explicar las alternativas técnicas para el envío de documentos adjuntos en una estructura XML y algunos métodos de visualización, como por ejemplo en el caso de la estructura de oficio, como incluir una imagen, un pdf, etc.. 2. Incorporación de adjuntos en documentos XML Para completitud de información en algunos documentos XML se requiere incorporar piezas adjuntas o documentos como parte de la estructura de datos a manejar, unos de los ejemplos más frecuente es adjuntar documentos escaneados en formato de imagen. El primer análisis está enfocado en poder saber si se pueden modelar estos datos en formato XML y evaluar técnicas de captura de estos datos. En muchos casos no se puede por la naturaleza misma de la fuente como por ejemplo, un documento XML de aceptación de obra de construcción donde se adjuntan los planos. Para resolver este tema se manejan dos alternativas de solución: Incluir los documentos adjuntos en el XML. Apuntar desde el XML a un repositorio donde se encuentren almacenados los documentos. 2.1. Incluir el adjunto o apuntar a una ubicación del adjunto Al momento de modelar el documento XML en la etapa de creación del esquema, se deben considerar las características del proceso de negocio que se quiere desarrollar y de las características de los documentos a incluir para tomar la decisión correcta. 2.1.1. Incluir el adjunto Al incluir un documento dentro de una representación XML se ve como una cadena de caracteres como se muestra a continuación: <documentoxml> <boleta>tu0akgaaqagaa.</boleta> <carta>tu0akgaaqagaa.</carta> </documentoxml> Página 2 of 13

Ventajas: El documento XML contiene todos los datos modelados. (Ej.: datos modelados+boleta+carta). Cuando se intercambia (envía/recibe) el documento XML, se transfiere un solo documento. Si el documento se debe firmar con Firma Electrónica Avanzada, la aplicación de firma tiene todos los elementos para el procesamiento. Agiliza la arquitectura de repositorio y el flujo de trabajo basados en el documento XML. Desventajas: La incorporación de archivos binarios puede aumentar el tamaño del archivo XML hasta un punto que dificulta el procesamiento o intercambio. Modelo técnico XML permite la inclusión de archivos binarios a través del tipo de datos: xs: base64binary definido por la W3C (http://www.w3.org/tr/2001/rec-xmlschema-2-20010502/#base64binary ), este tipo de dato representa al archivo binario codificado en base64. Se codifica en base64 para tener una cadena de caracteres donde ningún carácter sea prohibido por el lenguaje XML como son: < & Por ejemplo de estructura esquema para una imagen corresponde a: Página 3 of 13

En una instancia XML: <Adjuntos> <imagen> <Nro>1</Nro> <Nombre>Resolucion-02478-01.jpg</Nombre> <MimeType>image/jpeg</MimeType> <DataCodificada>/9j/4AAQSkZJRgABAAEAyADIAAD//gAfTEVBRCBUZWNobm9sb2dpZX MgSW5jLiBWMS4wMQD/2wCEAAgFBgcGBQgHBgcJCAgJDBQNDAsLDBgREg4UHRkeHhwZHB sgjc4nicirihsckdyoky8xmzqzhyy4pdgypc4ymzebcakjdaomfw0nfzehhcexmtexmtexmt ExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMf/EAaIAAAEFAQE BAQEBAAAAAAAAAAABAgMEBQYHCAkKCwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcI CQoLEAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVL R8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdH V2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX 2Nna4eLj5OXm5+jp6vHy8/T19vf4+foRAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVE HYXETIjKBCBRCkaGxwQ.... </DataCodificada> </imagen> </Adjuntos> Página 4 of 13

2.1.2. Apuntar o referenciar a la dirección del adjunto Apuntar o referenciar un documento adjunto, significa indicar la URL en la cual se encuentra dicho documento. La forma correcta de referenciar los documentos en un XML, puede ser de las siguientes formas: href <documentoxml> <boleta href= http://aem.gov.cl/repo/doc123.jpg /> <carta href= http://aem.gov.cl/repo/doc987.doc /> </documentoxml> XLink <documentoxml> <boleta xmlns:xlink="http://www.w3.org/xml/xlink/0.9" xlink:type="simple" xlink:href="http://aem.gov.cl/repo/doc123.jpg /> <carta xmlns:xlink="http://www.w3.org/xml/xlink/0.9" xlink:type="simple" xlink:href="http://aem.gov.cl/repo/doc987.doc /> </documentoxml> Ventajas: Permite no cargar la instancia XML en término de tamaño. Permite tener extensibilidad en caso de lista (el documento XML puede apuntar tanto a 10 documentos como a 10.000) Desventajas: El documento XML no contiene todos los datos modelados. Cuando se intercambia (envía/recibe) el documento XML, se transfiere un documento. Luego, el receptor debe pedir los documentos relacionados según necesidades. Si el documento se firma con Firma Electrónica Avanzada, la aplicación de firma debe pedir todos los documentos antes de generar una representación del objeto a firmar. Esto en el caso de que los adjuntos sean parte de los datos que se requiere firmar. Requiere de un repositorio permanentemente disponible y de simple acceso, especialmente cuando se intercambian estos documentos XML. Requiere una gestión de cambios de los adjuntos y permanencia de todas las versiones en repositorio. Página 5 of 13

Si un documento en formato XML firmado con Firma Electrónica Avanzada apunta a adjuntos en un repositorio, al momento de verificar la firma electrónica 4 años después de su creación, los adjuntos a los cuales apunta el XML deben ser los originales no modificados. 3. Visualización de un documento XML con adjunto El método básico de visualización de instancias XML es XHTML mediante una transformación XSL (T). Este método supone la visualización en un navegador de Internet como son Microsoft Internet Explorer, Mozilla Firefox, Safari, Google Chrome, etc. Los navegadores no tienen métodos de representación para todos los tipos de archivos binarios, pero en XHTML se puede incluir imágenes dentro del flujo de las páginas o hacer referencia a un archivo binario. Algunos programas instalan plugins en los navegadores para obtener una representación del tipo de archivo que representan (plugin flash, plugin pdf, plugin MS word, etc.) y así lograr una integración mas cercana con el navegador y entregar una mejor experiencia al usuario. Estas limitaciones son válidas también para las representaciones destinadas a la captura de los datos en formato distinto a XHTML. El modelo de procesamiento de XSLT consiste en la lectura de uno o múltiples nodos XML que se transforman según reglas generando un árbol XHTML de destino, por lo tanto al entregar a un navegador una instancia XML y un XSLT no es suficiente para procesar la extracción de archivos binarios del XML, el cual decidirá si es capaz de presentarlo o si debe llamar un plugin o si lo debe guardar en disco. Existen dos alternativas para abordar este tipo de proceso: El uso de Data URI scheme Desarrollar un programa a medida. 3.1. Data URI scheme Corresponde a un esquema URI que permite la inclusión de pequeños elementos de datos en línea, como si fueran referenciados hacia una fuente externa. Ver: Página 6 of 13

http://www.ietf.org/rfc/rfc2397.txt http://en.wikipedia.org/wiki/data_uri_scheme Restricciones: Sirve sólo para imágenes en formato gif, jpg y png (restricción entregada por los navegadores) Todos los navegadores de Internet procesan Data URI schema, salvo Microsoft Internet Explorer. Ejemplo: <html><body><h2>ejemplo de uso data uri</h2> <img src="data:image/png;base64, ivborw0kggoaaaansuheugaaaaoaaaakcayaaacnms+9aaaabgdbtueaalgp C/xhBQAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9YGARc5KB0XV+IA AAAddEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIFRoZSBHSU1Q72QlbgAAAF1J REFUGNO9zL0NglAAxPEfdLTs4BZM4DIO4C7OwQg2JoQ9LE1exdlYvBBeZ7jq ch9//q1uh4tlzw4d6+erxmmcxuhwxid3koetnnxxv6mjpcq2mlai97cer3n0 vr4mkhoxe0rzigaaaabjru5erkjggg==" alt="red dot" width="100" height="100"/> <br/>ref: http://en.wikipedia.org/wiki/data_uri_scheme#examples</body></html> Visualización en Firefox: 3.2. Desarrollo a medida Debido a que los procesadores XSLT no están diseñados para crear visualización de elementos de tipo base64binary, es necesario agregar un motor adicional para estos efectos. Por ejemplo, se puede ocupar un lenguaje de programación como java, php,.net, etc. para construir un programa o aplicación que separe los adjuntos de los documentos XML antes de la creación de la visualización. Página 7 of 13

Gráficamente se puede entender de la siguiente forma: 4. Elección de formatos de adjuntos Según el uso del documento XML, se debe evaluar el formato de los adjuntos a incluir. Si el documento XML esta destinado a almacenar datos para su presentación, sin realizar cambios posteriores en los datos, como los son los actos administrativos, podría ser mejor incluir adjunto en formato imagen en vez de documentos Word, Excel, etc.. Para la evaluación, se recomienda considerar los métodos de presentación. Si los documentos van a ser publicados en XHTML, mediante una aplicación que ocupa XSLT, se puede lograr la visualización completa con imágenes. Si los archivos adjuntos tienen distintos formatos, la pagina XHTML tendrá vínculos a los adjuntos que se abrirán con sus programas respectivos, con el supuesto que el navegador tenga estos programas. 5. Envío de archivos en los servicios Web En el proceso de intercambio de información entre instituciones, se debe resolver el problema de transferir un expediente de documentación asociado a un proceso de negocio. Este intercambio de información actualmente se realiza a través de Servicios Web con estructura SOAP. La estructura SOAP es un documento XML, donde se pueden incluir otro documento XML como parte del SOAP o como archivo binario. En un mensaje SOAP, se ocupa la misma técnica de incorporación del archivo binario en formato Base64binary como se indicó anteriormente. Página 8 of 13

Este método es ocupado por los servidores de correo cuando transfieren los archivos adjuntos de un correo, dicha transformación se hace a nivel del servidor y es transparente al nivel del usuario. Al nivel de la interfaz del servicio Web, se pueden especificar los métodos de envío que optimizan el mensaje cuando contiene archivos. 5.1. Estándares Los estándares de optimización de transferencia de archivos binarios han ido evolucionando para incorporar compatibilidad con los estándares de Web Services WS-*. El estándar más reciente es MTOM: Message Transfer Optimization Mecanism (http://www.w3.org/tr/soap12-mtom/ ) Cronológicamente, los estándares de transferencia de archivos en servicios Web SOAP son: SOAP Messages with Attachments (SwA) Direct Internet Message Encapsulation (DIME) WS-Attachments XML-binary Optimized Packaging (XOP) SOAP Message Transmission Optimization Mechanism (MTOM) 5.2. MTOM Se sugiere utilizar el estándar MTOM por que: MTOM optimiza la transferencia de binarios (de tipo base64binary en el XML) MTOM es un mecanismo implementado al nivel del servicio Web (en la práctica, es el servidor que se encarga de implementar MTOM). MTOM opera al nivel de la transmisión del mensaje, eso es, entre el servicio web SOAP y el consumidor del servicio web. MTOM serializa el mensaje en formato MIME Multipart/Related utilizando XOP (http://www.w3.org/tr/2005/rec-xop10-20050125/ ) Página 9 of 13

5.2.1. Capas de un Servicio WEB utilizando MTOM 5.2.2. Flujo de la optimización MTOM Página 10 of 13

6. Consideraciones de archivos XML La creación, almacenamiento, transferencia, presentación de documentos XML debe considerar factores tales como: 1. Los procesos de serialización de XML para distintos procesos como validación contra esquema, firma electrónica, indexación en repositorio, procesamiento usando XPath, XQuery, etc., son muy exigentes en términos de recursos (procesador, memoria) e influencian la planificación del tamaño de los archivo. 2. Se debe considerar los recursos del actor más débil en la cadena de uso del documento XML. 3. Una plataforma puede permitir crear, almacenar documentos XML de 100 MB, pero este XML difícilmente podrá ser entregado a un navegador junto con un XSLT para efectuar su transformación en formato XHTML. 4. Si se requiere el uso de Firma Electrónica, una aplicación de verificación de firma podría ver sus recursos sobrepasados por este tipo de tamaño. 5. En términos de transferencia de documentos vía Web Services SOAP, se debe considerar múltiples factores como: Las plataformas de IT El ancho de banda Las capacidades operacionales de los receptores de los archivos (Ej.: Ministerio vs. Municipio, empresa multinacional vs. PYME, empresa vs. ciudadano) Como base de comparación se puede tomar el intercambio de archivos a través de correo electrónico. Se deben responder las mismas preguntas: Si creo un archivo de texto de 100 MB, podré enviarlo por correo? Podrá la persona que lo recibe abrirlo en su computador? Las respuestas dependen de la clarificación de los actores en la vida del documento. Es aceptable transferir planos de 1 GB de tamaño a un arquitecto, pero no necesariamente a la persona que compra la casa. Página 11 of 13

7. Referencias Uso de DIME : http://msdn.microsoft.com/en-us/magazine/cc188797.aspx#s2 Migrar de DIME a MTOM: http://msdn.microsoft.com/en-us/library/aa529283.aspx Envío y recepción de archivos, grandes cantidad de datos en.net: http://msdn.microsoft.com/en-us/library/aa528822.aspx Web Services, Opaque Data, and the Attachments Problem: http://msdn.microsoft.com/en-us/library/ms996462.aspx XML-binary Optimized Packaging : http://www.w3.org/tr/2005/rec-xop10-20050125/ SOAP Message Transmission Optimization Mechanism: http://www.w3.org/tr/2005/rec-soap12-mtom-20050125/ Describing Media Content of Binary Data in XML: http://www.w3.org/tr/xml-media-types/ XML Linking Language (XLink) Version 1.0: http://www.w3.org/tr/xlink/ Página 12 of 13