¿Hay algún beneficio al solicitar datos mediante DAP4 en lugar de DAP2?#
Hay varias diferencias entre los protocolos DAP2 y DAP4.
DAP4 tiene un alcance más amplio#
|
|---|
Figura 1. Comparación entre modelos de datos y respuestas DAP2 y DAP4. |
El equipo de OPeNDAP recomienda firmemente comenzar a usar DAP4. Aunque Grid ya no forma parte del modelo de datos DAP4, una coverage compuesta por Maps, dimensions y Array proporciona en DAP4 la misma funcionalidad que Grid tenía en DAP2. Dicho esto, un dataset descrito por el protocolo DAP2 está descrito por DAP4.
Warning
Un servidor de datos DAP4 OPeNDAP busca proporcionar compatibilidad hacia atrás con DAP2. Sin embargo, como existen tipos de datos de datasets que no aparecen en el modelo de datos DAP2 de 1993, la compatibilidad hacia atrás de DAP no está garantizada.
DAP4 ofrece transporte HTTP mejorado#
El protocolo DAP2 fue concebido inicialmente en Cornillon, et al, 1993 y descrito en Gallagher J. and Flierl G., 1996, por lo que antecede al protocolo HTTP/1.1. Esto significa que en DAP2 los datos binarios (.dods) no están fragmentados en chunks. Además, DAP2 no implementa checksums, una práctica de transferencia estandarizada hoy en día. DAP4, en cambio, tiene respuestas dap fragmentadas en chunks, adoptando HTTP/1.1. Además, tanto Hyrax como Thredds implementan checksums, con checksums siempre implementados por Hyrax y solo cuando se solicitan (en la URL) por Thredds.
Una advertencia#
Cuando un Dataset posee variables o atributos de un tipo descrito en DAP4 pero no en DAP2 (por ejemplo, un valor int64), el servidor que implementa DAP4 devolverá un error (consulta este dataset y agrega .dds a la Data URL):
Error {
code = 400;
message = "Your request was for a response that uses the DAP2 data model. This dataset contains variables whose data type ( Int64 ) is not compatible with that data model, causing this request to FAIL. To access this dataset ask for the DAP4 binary response encoding.";
}
Puedes reproducir este error al intentar inspeccionar los metadatos DAP2 (dds) de este dataset ATLAS03. Es decir, reemplaza dmr.html por .dds.
Sin embargo, si el único tipo DAP4 que aparece en el dataset es un Group, que es un tipo contenedor en lugar de un tipo de datos, un servidor Hyrax DAP4 puede devolver una respuesta DAP2. Lo logra aplanando el dataset. Puedes inspeccionarlo mirando los metadatos (aplanados) de este archivo de prueba SimpleGroup.
DAP4 es el valor predeterminado#
En el caso de servidores Hyrax y NASA OPenDAP, DAP4 es el protocolo DAP expuesto de forma predeterminada. Una respuesta/metadatos generados en DAP2 enviados a la persona usuaria se traducen primero desde una respuesta DAP4, lo que puede producir respuestas más lentas. Esto es significativo para usuarios de NASA Earthdata.
Recomendación final#
El equipo de OPeNDAP considera que DAP4 es un protocolo DAP mucho más moderno, rápido, seguro y amplio, y recomienda firmemente que productores y usuarios de datos migren a servidores DAP4.
