Kennen Sie ows.js?


Sie kennen ows.js nicht? Dies ist nicht sehr verwunderlich, da das Projekt noch so neu ist, dass es sprichwörtlich gerade erst aus dem Ei geschlüpft ist.

Worum geht es? ows.js ist ein neues Open Source Projekt, was zum Ziel hat, eine JavaScript-API für die standardisierten Schnittstellen von OGC-Diensten (OGC Web Services) bereitzustellen. Diese Dienste kommunizieren über XML-basierte Datenaustauschformate. Die meisten Anwendungen im Bereich Webmapping werden jedoch mittlerweile in JavaScript programmiert und JavaScript „spricht“ von Haus aus kein XML sondern JSON. Bislang fehlte der Webmapping-Welt aber eine zentrale JavaScript-Bibliothek, die die OGC-XML-Daten in JSON-Dokumente umwandelt, um diese direkt in Webmapping-Clients nutzen zu können. Viele Entwickler haben sich mit den Format- und Parserklassen von OpenLayers in der Version 2.x beholfen. Mit dem Einzug weiterer Client-Lösungen wurde der Bedarf an einer standalone OWS-JavaScript-Bibliothek immer größer. Diese Lücke soll nun ows.js schließen.

Die ersten Gedanken zu diesem Projekt gab es bereits auf der FOSS4G Europe 2014 in Bremen. Zwischenzeitlich wurden viele infrastrukturelle Vorarbeiten, wie eine Mailingliste oder ein github-Repository eingerichtet. Auch die ersten Code-Beiträge gab es in der Zwischenzeit. Auf der FOSSGIS-Konferenz in Münster im März diesen Jahres gab es ein ows.js-Entwicklertreffen, bei dem der aktuelle Stand und das mögliche weitere Vorgehen im Projekt diskutiert wurde:

Alexey Valikov stellte seine Bibliothek Jsonix vor, die es ermöglicht aus XML-Dokumenten entsprechende JSON-Daten (und umgekehrt) zu erzeugen. Auf Basis von XML-Schemata können sogenannte Mapping-Dateien kompiliert werden mit denen wiederum XML-Dokumente in JSON transformiert werden – mittels JavaScript. Damit steht also ein mächtiges Werkzeug zur Serialisierung und Deserialisierung von OGC-Dokumenten in eine JSON-Representation bereit. Dankenswerterweise hat Alexey bereits eine Fülle an OGC-Schemata kompiliert, sodass diese mit Jsonix im JavaScript-Umfeld nutzbar werden.
Des weiteren wurde im Anwendertreffen deutlich, dass zwei weitere wichtige Dinge für das Projekt fehlen: Eine API, um direkt mittels JavaScript mit OWS zu kommunizieren (beispielsweise das Absetzen eines DescribeFeatureType-Requests an einen WFS) sowie die Definition von Use-Cases aus der Praxis, um die Bibliothek nahe an den Bedürfnissen der Nutzer zu halten. Zur API-Definition gab es erste Ideen sich an der API des Projektes OWSLib zu orientieren, was letztlich das Vorbild für ows.js aus der Python-Welt ist. Die angesprochenen Use-Cases können natürlich auch von den Entwicklern definiert werden. Viel wichtiger sind aber die Szenarien der potentiellen Anwender der Bibliothek – also auch von Ihnen.

Helfen Sie mit, dass ows.js ein Erfolg wird. Wie können Sie das tun? Am einfachsten, in dem Sie uns Ihre Use-Cases, Vorstellungen aber auch Ideen zu ows.js mitteilen. Am besten können Sie dies über die Mailingliste tun. Natürlich können Sie auch gerne Code beitragen, den bestehenden Code reviewen oder auch eventuelle Bugs melden. Das alles können Sie im ows.js github Repository erledigen.