Frage

Ich entscheide eine verteilte Anwendung, die aus einer Vielzahl von Ruhesystemen besteht. In letzter Zeit ging ich hin und her, ob ich meine Restdienste mithilfe der ASP.NET MVC 4-Web-API oder ODATA implementieren soll. Die Web-API scheint, als würde es eines Tages sein, was ich brauche, aber jetzt ist es nur halb gebacken. Insbesondere hat es nur eine teilweise Implementierung des URI-Abfragen von ODATA-Stil und tut Hypermedia nicht außerhalb der Box.

Das zwingt mir also, einen weiteren langen harten Blick auf Odata zu nehmen. Ich mag es wirklich, dass die URI-Abfrage von Fähigkeiten und strukturellen Hypermedien für das Lazy-Laden ist; Ich denke, ich werde diese Funktionen viel in meiner Anwendung verwenden. Die Atom-Pub-Spezifikation scheint jedoch grob ineffizient zu sein.

Ich habe kürzlich einen nach einem effizienten Format für Odata , die "dichtes JSON" erwähnt, aber ein solches Ding scheint nicht eigentlich zu existieren. Ist das wahr? Und selbst wenn es kein dichtes JSON gibt, ist regelmäßige JSON noch viel effizienter als die Atom-Pub, richtig?

Gibt es eine Situation, in der ich Atom Pub über JSON verwenden möchte?

War es hilfreich?

Lösung

Es sollte sehr wenig Unterschied zwischen Atom und JSON auf der semantischen Ebene mit ODATA geben.Auch die meisten ODATA-Server (WCF-Datendienste sicher) unterstützen beide, daher ist es eine Auswahl des Clients, der zu verwenden ist.Da der Blog-Beitrag von Pablo erwähnt, um die beste Nutzlastgröße zu erhalten, sollten Sie die HTTP-Komprimierung aktivieren.Es funktioniert gut auf Atom und JSON.

Lesen von JSON neigt dazu, schneller zu sein (XML-Analyse ist irgendwie teuer), aber wenn Sie sich mit dem CPU-Verbrauch auf dem Kunden befassen.Wenn ich mich richtig erinnere, sah ich das letzte Mal die Zahlen, die komprimierte Nutzlastgröße für Atom und JSON ist nicht so unterschiedlich.

Atom Pub ist in der Regel einfacher, in dem Client zu konsumieren, der gute XML- oder Atombibliotheken und nicht von JSON erhältlich hat.Und umgekehrt.Aber außer dem sollte es keinen großen Unterschied geben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top