XML
 Concepto
XML esunlenguaje de marcadosimilaraHTML. SignificaExtensible MarkupLanguage
(Lenguaje de Marcado Extensible) y es una especificación de W3C como lenguaje de
marcado de propósito general. Esto significa que, a diferencia de otros lenguajes de
marcado, XML no está predefinido,por lo que debesdefinir tus propias etiquetas. El
propósito principal del lenguaje es compartir datos a través de diferentes sistemas,
como Internet.
 Esquema de almacenamiento
Es muyutilizadoparaestructurar documentos. Podríamosdecirque,lo mismoque las
bases de datos relacionales son adecuadas para almacenar y tratar datos, XML es
adecuado para almacenar y tratar documentos. XML no hace nada por si
mismo. Estructura la información y permite que otros programas la utilicen.
Son una alternativa a las BBDD relacionales. Si estas son adecuadas para almacenar
datos, las BBDD nativas XML son más adecuadas para almacenar documentos.
Existencada vezmás sistemasgestoresde basesde datos relacionalesque soportanel
almacenamiento XMLy que,consus herramientas,permitenlaconsultaymodificación
de los mismos. Dentro de éstas podemos destacar: Oracle y Microsoft SQL Server
 Utilizaciónenla trasferenciade Datos
Es muy utilizado para intercambio de información. Ya que XML es texto plano es
adecuado para almacenar información y transmitirla.
Para transformar documentos XML se utiliza XSL que es una familia de lenguajes,
basados en XML Dentro de estos podemos destacar XSLT y XSL-FO. XSLT nos permite
transformardocumentosXML enotros documentosXML, HYML o texto. XSL-FOes un
lenguaje de maquetado que, combinado con las transformaciones, permite generar
documentosde salidaenformatospdf,PostScript, RTF,etc.apartirde datoscontenidos
en documentos XML.
 Plataformas en las que se puede usar.
XML no hanacidoúnicamente parasuaplicaciónenInternet,sinoque se propone como
un estándar para el intercambio de información estructurada entre diferentes
plataformas.Se puede usarenbasesde datos,editoresde texto,hojasde cálculoycasi
cualquier cosa imaginable.
La mayoría de los navegadoresactualessoncapaces de entenderXML. Por ejemplo,el
Internet Explorer lee los ficheros XML y los trata de una forma especial, pudiendo
presentar la jerarquía a diferentes niveles. Otros navegadores, como el Mozilla o el
Netscape,tambiénentiendenXML,aunque nopermiteneditarlode formaadecuadani
de presentarlo de forma jerárquica como el IE. En algunos casos, son capaces también
de aplicar transformaciones tales como XSLT o CSS (cascading style sheets).
Hoy endía esusual que lospropiosIDEde desarrolloincluyenfacilidadesparavalidarel
códigoXML resultante,peroestose puede hacertambiénusandoanalizadoresXML,de
los cuales hay muchos, de bastante buena calidad, y la mayor parte de ellos gratuitos.
Uno de losmás conocidosy usados esel Xerces,del cual hay versionesenJava,enPerl
y en C++. Es adecuadamente rápido, y además incorpora todos los últimosestándares
del W3.
JSON
 Concepto
Es un formato de texto sencillo para el intercambio de datos. Se trata de un
subconjuntode lanotaciónliteralde objetosde JavaScript,aunque,debidoasuamplia
adopcióncomoalternativaa XML, se considera(año 2019) un formatoindependiente
del lenguaje. Una de las supuestas ventajas de JSON sobre XML como formato de
intercambio de datos es que resulta mucho más sencillo escribir un analizador
sintáctico (parser) para él. En JavaScript, un texto JSON se puede analizar fácilmente
usando la función eval(), algo que (debido a la ubicuidad de JavaScript en casi
cualquiernavegadorweb)hasidofundamentalparaque hayasidoaceptado porparte
de la comunidad de desarrolladores AJAX.
 Esquema de almacenamiento
La primera decisión sobre el diseño del almacenamiento es cómo almacenar
documentos JSON en las tablas. Hay dos opciones disponibles:
 Almacenamiento de LOB: los documentos JSON se pueden almacenar tal cual en
las columnas NVARCHAR. Esta es la mejor manera para realizar la ingesta y carga
rápidade datos,porque lavelocidadde cargacoincide conlacargade lascolumnas
de cadena. Este enfoque podríasignificarunareducciónadicional del rendimiento
entiempode consulta/análisissinose realizalaindexaciónenvaloresJSON,porque
los documentos JSON sin formato se deben analizar mientras se ejecutan las
consultas.
 Almacenamientorelacional:losdocumentosJSON se puedenanalizarmientrasse
insertanen la tabla con las funciones OPENJSON, JSON_VALUEo JSON_QUERY. Es
posible almacenarfragmentosdelosdocumentosJSON deentradaenlascolumnas
de tipo de datos SQL o en columnas NVARCHAR que contienen subelementos
JSON. Este enfoque aumenta el tiempo de carga, porque el análisis de JSON se
realiza durante la carga. Sin embargo, las consultas coinciden con el rendimiento
de las consultas clásicas en los datos relacionales.
 Utilizaciónenla trasferenciade Datos
Usa un formato abierto y es utilizadocomo alternativa al XML para la transferencia de
datos estructurados entre un servidor de Web y una aplicación Web. Su lógica de
organizacióntienepuntosdesemejanzaconel XML,peroposee unanotacióndiferente.
El formatoganópopularidadenserviciosdelaWeb,comoclientesdecorreoelectrónico
y páginas de compras, dado que consigue transmitirunagran cantidadde información
entre el cliente y el servidor utilizando una menor cantidad de caracteres.
Los archivos JSON también trabajan con pares de atributos y valores, y en vez de
marcadores, como en el XML, utilizan delimitadores en cadenas: {}, []; y "". Un típico
archivo JSON queda estructurado de la siguiente manera:
 Plataformas en las que se puede usar.
Las siguientes API JSON principales utilizan únicamente:Facebook Graph API, API de Google
Maps, Twitter API, API AccuWeather, API Pinterest, Reddit API, API de Foursquare. Y las
siguientesAPIprincipalesque utilizanXMLy JSON son: Google CloudStorage,LinkedinAPI,API
de Flickr.
Entre API para desarrolladores de sitios web modernos y populares, JSON parece claramente
preferible. Esto también indica que más desarrolladores de aplicacionesque utilizan estas API
prefierenJSON. Por otra parte, la mayoría de estas API se comunican mediante datos en lugar
de documentos, por lo que JSON sería más apropiado. Por ejemplo, Facebook se ocupa
principalmente de lacomunicaciónde datosde usuariosy mensajes,Google Mapsse ocupa en
lascoordenadasylainformaciónsobrelasentidadesensusmapas.Enlaactualidadlatendencia
es, sin duda haciendo pivotar hacia JSON.

XML y JSON

  • 1.
    XML  Concepto XML esunlenguajede marcadosimilaraHTML. SignificaExtensible MarkupLanguage (Lenguaje de Marcado Extensible) y es una especificación de W3C como lenguaje de marcado de propósito general. Esto significa que, a diferencia de otros lenguajes de marcado, XML no está predefinido,por lo que debesdefinir tus propias etiquetas. El propósito principal del lenguaje es compartir datos a través de diferentes sistemas, como Internet.  Esquema de almacenamiento Es muyutilizadoparaestructurar documentos. Podríamosdecirque,lo mismoque las bases de datos relacionales son adecuadas para almacenar y tratar datos, XML es adecuado para almacenar y tratar documentos. XML no hace nada por si mismo. Estructura la información y permite que otros programas la utilicen. Son una alternativa a las BBDD relacionales. Si estas son adecuadas para almacenar datos, las BBDD nativas XML son más adecuadas para almacenar documentos. Existencada vezmás sistemasgestoresde basesde datos relacionalesque soportanel almacenamiento XMLy que,consus herramientas,permitenlaconsultaymodificación de los mismos. Dentro de éstas podemos destacar: Oracle y Microsoft SQL Server  Utilizaciónenla trasferenciade Datos Es muy utilizado para intercambio de información. Ya que XML es texto plano es adecuado para almacenar información y transmitirla.
  • 2.
    Para transformar documentosXML se utiliza XSL que es una familia de lenguajes, basados en XML Dentro de estos podemos destacar XSLT y XSL-FO. XSLT nos permite transformardocumentosXML enotros documentosXML, HYML o texto. XSL-FOes un lenguaje de maquetado que, combinado con las transformaciones, permite generar documentosde salidaenformatospdf,PostScript, RTF,etc.apartirde datoscontenidos en documentos XML.  Plataformas en las que se puede usar. XML no hanacidoúnicamente parasuaplicaciónenInternet,sinoque se propone como un estándar para el intercambio de información estructurada entre diferentes plataformas.Se puede usarenbasesde datos,editoresde texto,hojasde cálculoycasi cualquier cosa imaginable. La mayoría de los navegadoresactualessoncapaces de entenderXML. Por ejemplo,el Internet Explorer lee los ficheros XML y los trata de una forma especial, pudiendo presentar la jerarquía a diferentes niveles. Otros navegadores, como el Mozilla o el Netscape,tambiénentiendenXML,aunque nopermiteneditarlode formaadecuadani de presentarlo de forma jerárquica como el IE. En algunos casos, son capaces también de aplicar transformaciones tales como XSLT o CSS (cascading style sheets). Hoy endía esusual que lospropiosIDEde desarrolloincluyenfacilidadesparavalidarel códigoXML resultante,peroestose puede hacertambiénusandoanalizadoresXML,de los cuales hay muchos, de bastante buena calidad, y la mayor parte de ellos gratuitos. Uno de losmás conocidosy usados esel Xerces,del cual hay versionesenJava,enPerl y en C++. Es adecuadamente rápido, y además incorpora todos los últimosestándares del W3.
  • 3.
    JSON  Concepto Es unformato de texto sencillo para el intercambio de datos. Se trata de un subconjuntode lanotaciónliteralde objetosde JavaScript,aunque,debidoasuamplia adopcióncomoalternativaa XML, se considera(año 2019) un formatoindependiente del lenguaje. Una de las supuestas ventajas de JSON sobre XML como formato de intercambio de datos es que resulta mucho más sencillo escribir un analizador sintáctico (parser) para él. En JavaScript, un texto JSON se puede analizar fácilmente usando la función eval(), algo que (debido a la ubicuidad de JavaScript en casi cualquiernavegadorweb)hasidofundamentalparaque hayasidoaceptado porparte de la comunidad de desarrolladores AJAX.  Esquema de almacenamiento La primera decisión sobre el diseño del almacenamiento es cómo almacenar documentos JSON en las tablas. Hay dos opciones disponibles:  Almacenamiento de LOB: los documentos JSON se pueden almacenar tal cual en las columnas NVARCHAR. Esta es la mejor manera para realizar la ingesta y carga rápidade datos,porque lavelocidadde cargacoincide conlacargade lascolumnas de cadena. Este enfoque podríasignificarunareducciónadicional del rendimiento entiempode consulta/análisissinose realizalaindexaciónenvaloresJSON,porque los documentos JSON sin formato se deben analizar mientras se ejecutan las consultas.  Almacenamientorelacional:losdocumentosJSON se puedenanalizarmientrasse insertanen la tabla con las funciones OPENJSON, JSON_VALUEo JSON_QUERY. Es posible almacenarfragmentosdelosdocumentosJSON deentradaenlascolumnas de tipo de datos SQL o en columnas NVARCHAR que contienen subelementos JSON. Este enfoque aumenta el tiempo de carga, porque el análisis de JSON se realiza durante la carga. Sin embargo, las consultas coinciden con el rendimiento de las consultas clásicas en los datos relacionales.  Utilizaciónenla trasferenciade Datos Usa un formato abierto y es utilizadocomo alternativa al XML para la transferencia de datos estructurados entre un servidor de Web y una aplicación Web. Su lógica de organizacióntienepuntosdesemejanzaconel XML,peroposee unanotacióndiferente.
  • 4.
    El formatoganópopularidadenserviciosdelaWeb,comoclientesdecorreoelectrónico y páginasde compras, dado que consigue transmitirunagran cantidadde información entre el cliente y el servidor utilizando una menor cantidad de caracteres. Los archivos JSON también trabajan con pares de atributos y valores, y en vez de marcadores, como en el XML, utilizan delimitadores en cadenas: {}, []; y "". Un típico archivo JSON queda estructurado de la siguiente manera:  Plataformas en las que se puede usar. Las siguientes API JSON principales utilizan únicamente:Facebook Graph API, API de Google Maps, Twitter API, API AccuWeather, API Pinterest, Reddit API, API de Foursquare. Y las siguientesAPIprincipalesque utilizanXMLy JSON son: Google CloudStorage,LinkedinAPI,API de Flickr. Entre API para desarrolladores de sitios web modernos y populares, JSON parece claramente preferible. Esto también indica que más desarrolladores de aplicacionesque utilizan estas API prefierenJSON. Por otra parte, la mayoría de estas API se comunican mediante datos en lugar de documentos, por lo que JSON sería más apropiado. Por ejemplo, Facebook se ocupa principalmente de lacomunicaciónde datosde usuariosy mensajes,Google Mapsse ocupa en lascoordenadasylainformaciónsobrelasentidadesensusmapas.Enlaactualidadlatendencia es, sin duda haciendo pivotar hacia JSON.