Tools zur BSON-Bearbeitung

Binäre JSON-Unterstützung für MongoDB

  • Grafischer BSON-Editor
  • Unterstützung für die BSON-Validierung
  • Konvertierung von BSON von/in JSON und YAML
  • Abfrage von BSON-Daten mittels XQuery
  • Generierung von BSON-Dateien anhand von JSON-Schemas
  • Bearbeitung von JSON-Schemas für BSON
  • Integrierte Unterstützung für die Auswahl von BSON-Typen
  • MongoDB-Datenmapping

Was ist BSON?

BSON (Binary JSON) ist das von der beliebten NoSQL-Datenbank MongoDB verwendete Datenformat. Es ähnelt dem JSON-Format, ist aber für das effiziente Speichern und Scannen von Daten konzipiert. Im Gegensatz zu JSON handelt es sich bei BSON um ein Binärformat, das standardmäßig nicht für Menschen lesbar ist. In der binären Struktur von BSON sind Typ- und Längeninformationen kodiert, wodurch BSON viel schneller als einfaches JSON geparst werden kann. Seit der ersten Spezifikation wurde BSON erweitert und um einige optionale Nicht-JSON-native Datentypen, wie für MongoDB essentielle Datumsangaben und Binärdaten, ergänzt.

BSON-Editor: Grid-Ansicht

Da es sich bei BSON um ein Binärdatenformat handelt, können die Daten nicht einfach in einem textbasierten Editor bearbeitet werden. XMLSpy enthält jedoch einen einzigartigen grafischen BSON-Editor, nämlich die Grid-Ansicht. Bei der Bearbeitung von BSON-Daten in der Grid-Ansicht sehen Sie die Struktur des Binärdokuments auf einen Blick. Sie können durch Einträge scrollen und diese erweitert/reduziert anzeigen, um die Dokumentstruktur auf verschiedenen Ebenen zu analysieren. Die Struktur kann durch Hinzufügen, Löschen oder Verschieben von Objekten im Raster ganz einfach geändert werden. So können Sie hier ganze Textblöcke (z.B. durch Sortieren oder Verschieben) schnell neu strukturieren.

Dank Funktionalitäten wie dem Tabellenmodus für sich wiederholende Nodes, automatischer Typerkennung und Befehlen zur Bearbeitung von Daten innerhalb von Zellen lässt sich die Struktur des Binärdokuments sofort überblicken und bei Bedarf bearbeiten.

Grafischer BSON-Editor

Zusätzlich zur grafischen Bearbeitung in der Grid-Ansicht unterstützt XMLSpy folgende Funktionalitäten:

  • Validierung von BSON anhand von JSON-Schema
  • Konvertierung zwischen BSON und JSON oder YAML
  • Generierung von BSON-Instanzen anhand eines JSON-Schemas
  • Abfrage von BSON-Daten mittels XQuery

Bearbeitung von BSON in JSON Schema

BSON-Typen in JSON Schema

XMLSpy enthält einen leistungsstarken grafischen JSON-Schema-Editor mit integrierter Unterstützung für die Definition von BSON-Datentypen.

MongoDB bietet die Möglichkeit, Datenbankdaten anhand eines JSON-Schema-Dokuments zu validieren. Da BSON-Datentypen eine Ergänzung zu den Standard-JSON-Typen bilden, bietet XMLSpy eine Bearbeitungsebene für BSON-Daten, über die Sie bei der JSON-Schema-Entwicklung BSON-spezifische Schema-Funktionalitäten hinzufügen und modifizieren können.

Wenn Sie in der JSON-Schema-Ansicht die BSON-Unterstützung aktivieren, stehen für JSON-Objekte, -Eigenschaften und Array-Elemente BSON-Datentypen zur Auswahl. Wenn als Basistyp einer Komponente BSON ausgewählt wurde, stehen die BSON-Typen zur Auswahl.

Dank BSON-Unterstützung im grafischen JSON-Schema-Editor von XMLSpy können reale BSON-Daten für MongoDB und andere Applikationen validiert werden.

Anwendungsbeispiel

MongoDB funktioniert standardmäßig ohne ein Schema, doch müssen Apps in der Praxis oft die Struktur und gespeicherten Daten validieren. Hierfür wird JSON Schema benötigt. Dank der Unterstützung von BSON lässt sich dies in XMLSpy leicht implementieren.

Ein praktisches Beispiel für diese Implementierung ist z.B. eine Gesundheits-App, in der Patientendaten mit Hilfe von MongoDB gespeichert werden. Aufgabenstellung:

  • Validierung eingehender Daten aus einer mobilen App
  • Sicherstellen, dass Felder wie _id (ObjectId), Geburtsdatum (Date), und Dosierung (Decimal128) richtig verwendet werden.

Mit XMLSpy können Sie:

  • ein JSON-Schema erstellen, in dem BSON-Datentypen verwendet werden
  • reale Daten validieren, bevor sie in die Datenbank übernommen werden
  • das Schema Frontend-Entwicklern und API-Teams zur Verfügung stellen

Mit den visuellen Schema-Design-Konzept von XMLSpy lässt sich diese Aufgabe schnell und ohne viele Fehler bewerkstelligen. In einem optionalen letzten Schritt können die MongoDB-Daten abschließend mit Hilfe von Altova MapForce gemappt, transformiert und in andere Systeme wie SQL-Datenbanken und XML-Berichte integriert werden.