Ein Korpus als REST-Webservice bereitstellen

Ein Korpus als REST-Webservice bereitstellen
 
Der CorpusExplorer erlaubt es ein Korpus als RESTlike-Webservice bereitzustellen. Wie mehrfach erwähnt, ist das Ziel der CorpusExplorerConsole die Dinge einfach zu handhaben. Der Service verfügt daher nicht über Komprimierung, SSL oder Caching. Vielmehr sollte der Webservice wie ein Datenbankserver (z. B. wie MySQL) nur lokal erreichbar sein. Eine Webanwendung (Frontend) sollte dann mittels REST-Aufruf den Webservice (Backend) zugreifen, die Daten aufbereiten und an den Client übermitteln.
 
Nach dem Start des Webservices stehen folgende Funktionen bereit.
  • GET http://localhost:[PORT]/actions - Beispiel: http://localhost:8080/actions - Sie erhalten eine Auflistung (im JSON-Format), über alle verfügbaren ACTIONS inkl. Parametern.
  • POST http://localhost:[PORT]/execute - Beispiel: curl -d "{'action':'basic-information'}" -X POST http://localhost:8080/execute - Mittels curl (oder andere Werkzeuge) wird eine POST-Abfrage gegen http://localhost:8080/execute gesendet. -d (die Daten) müssen als JSON kodiert sein. Folgende Parameter können übergeben werden:
  • action - OBLIGATORISCH - Typ: string - Welcher Befehl soll ausgeführt werden? Verfügbare Befehle siehe: GET http://localhost:[PORT]/actions
  • arguments - ABHÄNGIG von action - Typ: string-array - siehe: GET http://localhost:[PORT]/actions
  • guids - FAKULTATIV - Typ:string-array - Einige actions wie query-list, get-document-displaynames oder cluster-list geben die GUIDs der jeweiligen Dokumente zurück. Da Sie mit dem Webservice nicht so interagieren können, wie mit der lokalen CEC - z. B. kann die lokale CEC mehrfach hintereinander ausführen, um Ergebnisse (mittels query) immer weiter zu präzisieren. Der Webserivce bietet immer nur statisch das gesamte Korpus an. Daher müssen Sie diese Logik in die auf den Webservice zugreifende Webanwendung auslagern. Nutzen Sie die *-list-Actions um GUIDs zu erhalten. Geben Sie die GUIDs der jeweiligen Dokumente an, die Sie abfragen möchten und der Analysefokus liegt nur auf diesen Dokumenten.
 
Am Ende dieser Erklärung finden Sie ein Copy&Paste-Snippet
1

cec

1. cec
Startet die CorpusExplorerConsole
2

Format

2. Format
Welches Datenformat soll bereitgestellt werden. Dieses Format kann nicht geändert werden solange der Service läuft.
Sinnvoll sind hier eigentlich nur JSON und XML - HTML, SQL, CSV und TSV eignen sich nur wenig für einen Webservice.
Bitte beachten Sie das unabhängig von der Einstellung die Kommunikation mit dem Service GET /actions und POST /exceute immer über JSON läuft.
3

Port

3. Port
<TODO>: Hier Beschreibung einfügen...
4

Korpus

4. Korpus
<TODO>: Hier Beschreibung einfügen...
Copy&Paste
cec F:JSON PORT:8080 import#ImporterCec6#C:\corpus.cec6
Hinweis: Achten Sie darauf, dass das Korpus C:\corpus.cec6 exsistieren muss. Andernfalls passen Sie die Dateipfade an.