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.
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.
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)