Pregunta

Estoy diseñando una aplicación distribuida que consistirá en una variedad de servicios de descanso. Últimamente, he estado yendo de un lado a otro sobre si implementar mis servicios de descanso utilizando la API de Web o Odata de ASP.NET MVC 4. La API de la Web parece que algún día será lo que necesito, pero ahora mismo es medio cocido. Específicamente, solo tiene una implementación parcial de la consulta de URI de estilo odata y no hace hipermedia fuera de la caja.

Así que esto me obliga a tomar otra mirada larga en odata. Realmente me gusta la capacidad de consulta de URI y la hipermedia estructural para la carga perezosa; Creo que usaré estas características mucho en mi solicitud. Sin embargo, la especificación del pub Atom parece ser extremadamente ineficiente.

Recientemente leí un Publicar sobre un eficiente El formato para ODATA que menciona "JSON denso", pero tal cosa no parece existir. ¿Es esto cierto? E incluso si no hay tal cosa como JSON denso, JSON regular es aún mucho más eficiente que el pub Atom, ¿correcto?

¿Hay alguna situación en la que quiera usar Atom Pub sobre JSON?

¿Fue útil?

Solución

Debería haber muy poca diferencia entre Atom y JSON en el nivel semántico con Odata.También la mayoría de los servidores de ODATA (Servicios de datos de WCF, seguro), admiten ambos, por lo que es una opción del cliente que se usa.Como la publicación del blog de Pablo menciona, para obtener el mejor tamaño de carga útil, debe habilitar la compresión HTTP.Funciona muy bien en Atom y JSON.

La lectura de JSON tiende a ser más rápida (el análisis XML es un poco caro), pero eso es si le preocupa el consumo de CPU en el cliente.Si recuerdo correctamente, la última vez que vi los números, el tamaño de carga útil comprimido para Atom y JSON no es tan diferente.

El pub Atom suele ser más fácil de consumir en el cliente que tiene disponibles las bibliotecas XML o ATOM disponibles y no JSON.Y viceversa.Pero aparte de eso, no debería haber gran diferencia.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top