1. 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.
2. 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.
3. 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.
4. 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.