Was ist Open Government Data (OGD)? – OGD sind Daten aus der Verwaltung, die von ALLEN – frei benutzt – weiterverwendet & – geteilt werden können.» – OGD umfasst – Keine Gebühren: kostenfreie Nutzung – Keine Logins: einfacher Zugang – Offene Datenformate: keine kostspielige Software notwendig – Offene Lizenzen: keine Nutzungsbeschränkungen
Was ist NICHT OGD? – OGD umfasst KEINE – persönlichen Daten – sicherheitsrelevanten Daten – urheberrechtlich geschützten Daten – Daten, die dem Amtsgeheimnis unterliegen Gläserner Staat, nicht gläserne Bürger
Open Data Team – Koordination von OGD innerhalb der Stadtverwaltung – Beratung / Workshops / Anleitungen – Datenaufbereitung, -publikation und Pflege von Metadaten – Zentrale Anlaufstelle bei Fragen – Betreuung des Open-Data-Portals – Kommunikation (Twitter, Blog, Intranet, Events) – Austausch mit der Open Data Community – Mitarbeit bei der nationalen OGD-Initiative
Mehrwert von Open Data – Mehrfachnutzung und Wiederverwendbarkeit – Wirtschaftlichkeit: kostspielig erhobene Daten, die von der Öffentlichkeit finanziert wurden, können nicht nur von ein paar wenigen, sondern von allen verwendet werden. – Innovation – Mit den Daten können Services und Dienstleitungen von Dritten erstellt werden gesellschaftlicher & wirtschaftlicher Mehrwert – Effizientere und effektivere Dienstleistungen – Kosteneinsparungen durch Selbstbedienungsangebot, innerstädtischer Datenaustausch – Transparenz – Nachvollziehbarkeit und Image
DCAT-AP Switzerland – Offizieller Schweizer Standard für Katalog-Metadaten – eCH-0200 (https://www.ech.ch/de/standards/39919) – Basiert auf DCAT-AP EU (Europäischer Standard) – DCAT ist ein RDF Vocabulary (definiert von W3C) – data.stadt-zuerich.ch liefert seine Daten als DCAT-AP Switzerland RDF an opendata.swiss
Was ist CKAN? Python-basiertes Framework um Datenportale zu bauen – Extensions erlauben das System zu erweitern – API-driven, Web Frontend ist optional (headless) – Flexibles Schema für Datensätze und Ressourcen – Open Source, mit aktiver Community
CKAN Extensions – CKAN kann durch Extensions erweitert werden – Das Framework bietet diverse Interfaces um sich ins System einzuhängen – Für diverse Use Cases gibt es bereits Standard-Extensions – ckanext-harvest (Harvesting) – ckanext-dcat (DCAT/RDF Bereitstellung) – ckanext-pages (einfaches CMS) – ckanext-comments (Kommentarfunktion) – …
Was ist Harvesting? – Unter "Harvesting" (engl. to harvest – ernten) versteht man das automatisierte Zusammentragen von Daten – Ziel ist es, die Daten an einem zentralen Ort zur Verfügung zu stellen – Das Harvesting ist häufig ein zeitaufwändiger Prozess (viel IO) und wird meistens über Nacht durchgeführt
Architektur eines CKAN Harvesters – Harvest Cronjob – Startet den Harvest-Prozess – Führt gather stage aus – Füllt die fetch queue – 1 Prozess – Fetch Daemon – Konsumiert Daten aus der fetch queue – Führt die fetch stage aus – Füllt die import queue – 1 bis X Prozesse – Import Daemon – Konsumiert Daten aus der import queue – Führt die import stage aus – 1 bis X Prozesse
Message Queue – Eine Message Queue folgt dem klassischen FIFO-Prinzip ("First In – First Out") – Kanal für die asynchrone Kommunikation – Es ist ein Protokoll, d.h. es ist Implementation-agnostisch – Jede Komponente (Sender, Empfänger, MQ) kann in beliebiger Programmiersprache/Betriebssystem etc. implementiert werden – CKAN verwendet den AMQP-Standard (Advanced Message Queuing Protocol) für das Harvesting
RabbitMQ als Message Queue – Implementiert AMQP vollständig – Open Source, in Erlang geschrieben – Empfohlen für grosse Umgebung mit vielen Messages – Clustering – Garantierte Zustellung von Messages – Routing von Messages – Erlaubt die Überwachung der Queues
Redis als Message Queue – "Poor Man's Message Queue" – Redis ist eine In-Memory-Datenbank (Key/Value Store) – Queue wird über Namenkonvention erstellt – 1 Eintrag für fetch queue – 1 Eintrag für import queue – Bei definiertem Key wird eine Liste angelegt – Konsumieren mit BLPOP ("blocking POP") auf der Liste while True: key, body = self.redis.blpop(self.routing_key)
Schutzbedarf eines Datensatzes – Amtsgeheimnis – Datenschutz, falls sich dieser nicht durch technische Methoden (zum Beispiel Aggregierung) gewährleisten lässt – Übergangsdaten, Daten zu laufenden Geschäften, Notizen – Übergeordnetes öffentliches Interesse, zum Beispiel Staatsschutz – Informationsschutz, zum Beispiel als «intern» klassifizierte Daten – Urheberrecht – Übergeordnetes Recht, zum Beispiel die Geoinformationsgesetzgebung – Konkurrenzsituation, falls eine Dienstabteilung marktwirtschaftlich operiert und das Veröffentlichen von Daten Wettbewerbern entscheidende Vorteile verschaffen würde