jueves, 18 de abril de 2019

Diferencias entre JSON , XML y YAML


Autor : Michael V.

Diferencias entre JSON , XML y YAML

Cuando los desarrolladores usan XML para el intercambio, suelen navegar el XML por medio de XML DOM o SAX. La capacidad de trabajar con la misma estructura de datos JSON a los fines de la manipulación y el intercambio simplifica el proceso de desarrollo mediante la provisión de acceso declarativo al objeto en el lenguaje de programación host de la aplicación.

en mi opinión Personal pienso que  no hay ningún formato de intercambio de información uno mejor que otro ,pero como desarrollador uno debe adecuarse a cualquier estilo propuesto, y tratar de sacar la mayor ventaja posible .

a continuación se muestra los conceptos ventajas y desventajas de cada uno.


JSON

(JavaScript Object Notation - Notación de Objetos de JavaScript) es un formato ligero de intercambio de datos. Leerlo y escribirlo es simple para humanos, mientras que para las máquinas es simple interpretarlo y generarlo.

JSON está constituido por dos estructuras:

Una colección de pares de nombre/valor. En varios lenguajes esto es conocido como un objeto, registro, estructura, diccionario, tabla hash, lista de claves o un arreglo asociativo.

Una lista ordenada de valores. En la mayoría de los lenguajes.


Ventajas

JSON es mucho más simple que XML ya que JSON tiene una gramática mucho más pequeña y mapas más directos sobre las estructuras de datos utilizadas en lenguajes 
de programación modernos.

JSON tiende a ser un mecanismo de codificación más eficaz, por lo que un mensaje JSON habitual será más pequeño que el mensaje XML equivalente.

JSON resulta fácil de integrar en aplicaciones JavaScript, no como  XML. Esto hace que JSON sea el formato de datos preferido para muchos desarrolladores de aplicaciones móviles.

JSON se adapta muy bien a los navegadores y es una forma natural de evolucionar la plataforma debido a su estrecha relación con JavaScript.


JSON está estructurado de intercambio de datos. Se sirve a este propósito mediante la representación directa objetos, matrices, números, cadenas y valores booleanos.

Desventajas

no acepta comentarios.


JSON no es extensible, ya que no es un lenguaje de marcado de documentos, por lo que es necesario definir nuevas etiquetas o atributos para representar datos en ella.

Una de las desventajas de JSON en comparación con el protocolo SOAP es la dificultad a la hora de documentar la estructura de una interfaz de JSON.

 Los servicios web SOAP tienen la ventaja de los documentos WSDL, además de los esquemas XML. Es posible que un documento WSDL no resulte sencillo de entender, pero hay muchas herramientas disponibles para trabajar con documentos WSDL.

JSON no cuenta con la variedad de características que tiene XML

Formato JSON:




XML:

XML es un estándar para la creación de documentos no sólo para Internet, sino para todo tipo de actividad en la cual se necesite estructurar y publicar información sin importar el medio final donde esta será expuesta.

Las arquitecturas orientadas al servicio (SOA), la integración de aplicaciones empresariales (EAI), la integración de información empresarial (EII), los servicios web, el bus de mensajes empresarial (ESB) y los esfuerzos de estandarización en muchas industrias todos se basan en XML como la tecnología subyacente para el intercambio de datos.

XML se concentra en ofrecer una notación de intercambio que se auto defina y que,
opcionalmente, esté asociada a un esquema riguroso que se pueda intercambiar. XML también le ofrece una variedad de características (como, por ejemplo, espacios de nombres, compresión, firmas digitales y seguridad) junto con lenguajes declarativos, como XQuery y XSLT, que se pueden invocar desde los lenguajes de programación C, Java y Ruby para manipular uno o más Documentos XML



Ventajas

una ventaja es que se puede crear nuevos tipos de datos.

útil para servicios SOAP, en java por ejemplo se usa XSD y WSDL los cuales están en xml y se pueden declarar métodos para los servicios.

Si tengo un webservice,lo mejor es usar xml, si mi pagina esta en php, json seria lo mas idóneo.

existen Estándares de análisis: DOM, SAX que se adaptan a XML


Archivo WSDL:





Archivo XSD:








Desventajas:


Una de las desventajas de XML es que requiere el conjunto completo de datos para ser cargado en la base de datos antes de que pueda ser visto, por lo que no se pueden controlar en parte sin cargar toda la base de datos


XML está diseñado para la creación de documentos de formato libre. Mientras que los documentos XML pueden mantenerse indefinidamente, las bases de datos XML creadas a partir de estos documentos no están diseñados para el almacenamiento de datos a largo plazo.

Un inconveniente de XML es su tamaño, ya que contiene muchos caracteres estrictamente relacionados con el formato. 




YAML

es un formato para el intercambio de información que tiene como objetivo facilitar el mapeo de  estructuras de datos más complejas (como listas y arreglos asociativos) en un documento de texto  plano legible para un ser humano.

Si bien es un formato joven, sus características le han hecho ganarse un lugar importante en la web, junto con XML y JSON.

no es usado para servicios web o APIs REST sino para archivos de configuración, depuración u otros fines en los que la facilidad de lectura juegan un rol 

importante. Ha tenido muy buena acogida entre los desarrolladores de Ruby

Ventajas:

Los datos de un documento YAML deben ser legibles, imprimibles y utilizando caracteres Unicode, UTF-8 ó UTF-16.

Los comentarios se realizan utilizando el carácter # dentro de la línea que contiene el comentario.

Los caracteres , y ; deben ir seguidos de un espacio en blanco. De esta forma, se podrán representar valores que queramos que tengan esos caracteres.

Los espacios en blanco están permitidos, pero no los tabuladores.

Las listas comienzan por el carácter – con un valor por cada línea, aunque también se pueden utilizar corchetes [] poniendo los valores dentro de ellos separados por
comas , junto con un espacio en blanco.

Un vector estará formado por el par clave/valor, estando separados ambos por : poniendo uno por línea, aunque también podemos utilizar {} 


poniendo cada uno de ellos dentro separados por comas , junto con un espacio en 
blanco.



Desventajas:

El parser (Formateo de Dato) de un documento JSON es más sencillo que el de un documento YAML.

En intercambio de datos, la serialización de JSON es más adecuada que YAML.

Algunos parsers de YAML no tienen un completo soporte a todas las características de YAML de acuerdo a la última especificación 1.2.


La complejidad del parser de YAML y tareas de serialización no invita a utilizar YAML en sustitución de JSON.
























No hay comentarios:

Publicar un comentario