Aufgaben „Open Data“

  1. Definieren Sie den Begriff Open Data und erläutern Sie dessen gesetzliche Verankerung.
    • Frei zugängliche, maschinenlesbare Daten
    • Fördert Transparenz und Innovation
    • gesetzliche Verankerungen:EU-Richtlinie 2019/1024, Open-Data-Gesetz (Deutschland), IFG, Datenschutz
  2. Nennen Sie Vor- und Nachteile zur Nutzung von Open Data und veranschaulichen Sie diese anhand von Beispielen (siehe auch https://bund.dev/apis).
    • Vorteile:
      • Innovation und Wirtschaft:
        • Neue Apps und Geschäftsmodelle.
        • Beispiel: Flughafen-Apps nutzen Flugdaten in Echtzeit.
    • Transparenz:
      • Stärkt das Vertrauen in öffentliche Institutionen
      • Beispiel: Haushaltsdaten auf GovData.
    • Effizienz:
      • Spart Ressourcen durch Wiederverwendung von Daten.
      • Beispiel: Verkehrs-Apps optimieren Routen mit Open Data.
  3. Erklären Sie anhand von Beispielen die Besonderheiten und den jeweiligen Aufbau für die Open-Data-Formate CSV und JSON.
    • 1. CSV (Comma-Separated Values)
    • Besonderheiten:
    • Ein einfaches und weit verbreitetes Textformat, das Daten in Tabellenform darstellt.
    • Jede Zeile repräsentiert einen Datensatz, und die Werte in einer Zeile werden durch ein Trennzeichen getrennt (meist Komma , oder Semikolon ;).
    • Kein Support für verschachtelte Strukturen – eignet sich daher vor allem für flache Daten (Tabellen).
    • Aufbau-Beispiel:
    • Name,Alter,Stadt
    • Alice,30,Berlin
    • Bob,25,München
    • Clara,28,Hamburg
    • Besonderheiten des Aufbaus:
    • Die erste Zeile enthält in der Regel die Header (Spaltennamen).
    • Nachfolgende Zeilen enthalten die Werte.
    • Kein Datentyp, alle Werte werden als String behandelt.
    • 2. JSON (JavaScript Object Notation)
    • Besonderheiten:
    • Ein hierarchisches Datenformat, das Daten als Schlüssel-Wert-Paare strukturiert.
    • Unterstützt komplexe und verschachtelte Strukturen wie Arrays oder Objekte.
    • Maschinen- und menschenlesbar, weit verbreitet in Webanwendungen.
    • Aufbau-Beispiel:
    • {
    •   „Personen“: [
    •     {
    •       „Name“: „Alice“,
    •       „Alter“: 30,
    •       „Stadt“: „Berlin“
    •     },
    •     {
    •       „Name“: „Bob“,
    •       „Alter“: 25,
    •       „Stadt“: „München“
    •     },
    •     {
    •       „Name“: „Clara“,
    •       „Alter“: 28,
    •       „Stadt“: „Hamburg“
    •     }
    •   ]
    • }
    • Besonderheiten des Aufbaus:
    • Daten werden in Objekten ({}) und Arrays ([]) organisiert.
    • Werte können verschiedene Typen haben: String, Zahl, Boolean, Array oder ein weiteres Objekt.
    • Flexibler und ausdrucksstärker als CSV.
  4. Erläutern Sie die Besonderheiten der Datenübertragung mithilfe der Netzwerkprotokolle/-verfahren SOAP und REST-API.
    • 1. SOAP (Simple Object Access Protocol)
      Besonderheiten:
      Ein protokollbasiertes Verfahren, das XML für die Strukturierung und Übertragung von Daten verwendet.
      Plattformunabhängig und stark standardisiert (WSDL – Web Services Description Language beschreibt die Schnittstelle).
      Unterstützt komplexe Operationen wie Transaktionen und Sicherheitsfunktionen (z. B. WS-Security).
      Aufbau-Beispiel für eine SOAP-Nachricht:
      <soap:Envelope xmlns:soap=“http://www.w3.org/2003/05/soap-envelope“>
        <soap:Header>
          <Auth>Token12345</Auth>
        </soap:Header>
        <soap:Body>
          <GetUserInfo xmlns=“http://example.com“>
            <UserID>123</UserID>
          </GetUserInfo>
        </soap:Body>
      </soap:Envelope>
      Besonderheiten:
      Header: Metadaten für Authentifizierung oder Routing.
      Body: Enthält die eigentliche Nachricht oder Anfrage.
      SOAP ist schwergewichtig und benötigt zusätzliche Verarbeitung (z. B. Parsing von XML).
      2. REST (Representational State Transfer)
      Besonderheiten:
      Ein architekturstilbasiertes Verfahren, das HTTP-Protokolle nutzt.
      Einfacher, weniger standardisiert und flexibler als SOAP.
      RESTful APIs verwenden Ressourcen (z. B. /users) und HTTP-Methoden (GET, POST, PUT, DELETE) für CRUD-Operationen.
      Aufbau-Beispiel für eine REST-API-Anfrage:
      HTTP GET-Anfrage:
      URL: https://api.example.com/users/123
      HTTP POST-Anfrage (JSON-Daten):
      POST /users HTTP/1.1
      Host: api.example.com
      Content-Type: application/json
       
      {
        „Name“: „Alice“,
        „Alter“: 30,
        „Stadt“: „Berlin“
      }
      Besonderheiten:
      REST verwendet JSON oder XML, wobei JSON bevorzugt wird, da es kompakter ist.
      Leichtgewichtig und effizient, insbesondere für einfache Webanwendungen.
      Basiert auf stateless Kommunikation (keine Sitzungszustände werden gespeichert).

      Vergleich SOAP vs. REST
      Kriterium
      SOAP
      REST
      Datenformat
      XML
      JSON, XML, Text, HTML
      Komplexität
      Schwergewichtig, stark standardisiert
      Einfach, flexibel
      Transaktionen
      Unterstützt (z. B. ACID-Transaktionen)
      Weniger geeignet
      Sicherheit
      WS-Security
      HTTPS, OAuth
      Leistung
      Langsamer (XML-Parsing)
      Schneller (JSON kompakter)