Anforderungen

Technische Anforderungen

Die Anwendung Medienverwaltung stellt dokumentenbasierte Web Services zur Verfügung, über welche Daten gesucht und abgefragt werden können. Diese REST Web Services werden mit HTTPS als Nachrichtenprotokoll und Transportprotokoll realisiert. Für den Austausch der Nachrichten wird der XML oder JSON-Standard als Basis von REST verwendet.

Protokolle

Die Webservices werden als REST Services über HTTPS realisiert. Die Antworten werden als XML- oder JSON Daten (abhängig vom Http Request) zurückgegeben.

Sicherheit

Die Kommunikation zwischen dem Server und der Drittanwendung wird mit SSL verschlüsselt.

Berechtigung

Die Authentifizierung der Aufrufer erfolgt mit Basic Authentication (Paar Benutzername/Passwort steht in Http Header). Im Abschnitt Zugriff ist die Fehlermeldung "Error! Reference source not found." beschrieben, wie und mit welchen Benutzern der Service angesprochen werden kann.

Fehlerbehandlung

Jeder Methodenaufruf, der vom System nicht behandelt werden kann, wird mit einer HTTP Exception quittiert.

Action HttpStatusCode Status description Message content (localized)
Download / Preview InternalServerError 500 Handler error Während des Ladens der Datei ist ein interner Fehler aufgetreten.
All Unauthorized 401 Usertoken expired Usertoken nicht mehr gültig
All BadRequest 400 Bad Usertoken Usertoken ist ungültig
All All others 404 Not found (IIS http error message)
Search / Usertoken InternalServerError 500 Internal error Ein interner Fehler ist aufgetreten.
Search / Usertoken BadRequest 400 Missing http context Der Server kann den Request nicht verstehen. Der HttpContext fehlt.
Search Unauthorized 401 Missing usertoken Usertoken ist in HttpHeader nicht verfügbar
Search LengthRequired 411 Missing search query Kein gültiger Suchtext vorhanden
Search BadRequest 400 Unknown Organisation Der Name der Organisation ist ungültig
Usertoken Forbidden 403 Https required SSL ist für dieses Query nötig
Usertoken Unauthorized 401 Action not allowed Dieses Query ist für diesen Benutzer nicht erlaubt.
Usertoken InternalServerError 500 User not found Internal Benutzer kann nicht gefunden werden.

Kommunikation

Die Kommunikation zwischen dem Medienverwaltungs-Server und den Benutzern erfolgt durch HTTP Anfragen. Diese Nachrichten übertragen die Anfragen und Antworten zwischen Client (Umsystem) und Server (Medienverwaltung). Client und Server bauen zum Austausch der Nachrichten eine TCP/IP-Verbindung auf. Die auch Request und Response genannten Nachrichten bestehen im Wesentlichen aus zwei Teilen: Header und Daten. Der Header enthält Steuerinformationen wie zum Beispiel die Authentifizierung oder den gewünschten Response Format. Der Datenabschnitt der Nachricht selbst besteht aus einer XML/JSON-Nachricht (Response).

Request Format (HTTP)

Die Anfragen sind als RESTful Request ausgeführt. Alle Parameter stehen entweder in der URL oder im HTTP Header. Alle Parameter, die in der URL stehen, müssen den Konventionen einer URL entsprechen. Spezielle Zeichen (z.B. für eine Suche) sind nicht erlaubt.

Beispiel
falsch Soldat mit Hund
richtig Soldat%20mit%20Hund

Response Formate (XML)

Beispiel einer Antwort bei einer ‚Usertoken‘ Abfrage (Authentication)

<UserToken xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
    <Token>PD94bWwgdmVyc2lvbj0iMS4wIj ... l6YWJsZT4=</Token>
</UserToken>

Beispiel einer Antwort bei einer ‚Asset Suche‘ Abfrage (1 Asset wird zurückgegeben)

<ArrayOfAssetSearchSummary xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
    <AssetSearchSummary>
        <AssetId>17</AssetId>
        <AssetType>PIC</AssetType>
        <Description>Beschreibung</Description>
        <DownloadUrl>
            http://localhost:57824/AssetDownload.ashx?assetId=17&amp;highRes=true&amp;
            usertoken=PD94bW ... hbGl6YWJsZT4=
        </DownloadUrl>
        <PreviewUrl>
            http://localhost:57824/AssetPreview.ashx?assetId=17&amp;thumbnail=false
        </PreviewUrl>
        <Title>Title</Title>
    </AssetSearchSummary>
</ArrayOfAssetSearchSummary>

Response Formate (JSON)

Beispiel einer Antwort bei einer ‚Usertoken‘ Abfrage (Authentication)

{ 
"Token":"PD94bWwgdmVyc2lvbj ... Gl6YWJsZT4=" 
}

Beispiel einer Antwort bei einer ‚Asset Suche‘ Abfrage (1 Asset wird zurückgegeben)

[ 
    { 
        "AssetId": 17, 
        "Title": "", 
        "Description": 
        "Beschreibung", 
        "AssetType": "PIC", 
        "PreviewUrl": "http://localhost:57824/AssetPreview.ashx?assetId=17&thumbnail=false",
        "DownloadUrl": "http://localhost:57824/AssetDownload.ashx?assetId=17&highRes=false
        &usertoken=PD94bWwgdmVyc2 ... WJsZT4=" 
    } 
]


Fachliche Anforderungen

URLs – Aufrufe der Webservices

Link Beispiel
Usertoken Gültiges Usertoken anzufragen
Search Suche nach Media Assets
Search All Alle Assets anfragen

Integrationssystem

URL: https://www.mediathektest.admin.ch/api
User (Basic Authentication): cmsuser
Passwort:

Produktivsystem (Livesystem)

URL: https://www.mediathek.admin.ch/api
User (Basic Authenticaiton): cmsuser
Passwort: [****]

Zugriff / Benutzer und organisatorische Trennung der Services

Die Fehlermeldung "Error! Reference source not found." zeigt wie auf einen Service zugegriffen werden kann und welche technischen Benutzer dabei beteiligt sind. Weiter ist aus der Abbildung die organisatorische Trennung sichtbar. Die URL, um einen Usertoken zu erstellen, ist über den Benutzer an den entsprechenden Mandanten gebunden.

Schematischeraufbau des Zugriffes
Die Grafik zeigt den schematischen Aufbau des Systems

Auflistung und Beschreibung der Webservices-Methoden

Die Abbildung 37: "Ablauf eines Aufrufes" zeigt den Ablauf eines Zugriffs auf die Medienverwaltungs Webserviceschnittstelle. Das System muss sich mit den Credentials bei der Schnittstelle authentifizieren. Ist die Authentifizierung erfolgreich so wird ein Usertoken erstellt. Dieser Usertoken ist zeitlich begrenzt (momentan 30min) und wird an den Aufrufer zurückgeliefert. Ist das System authentifiziert kann eine Suchanfrage gestartet werden. Als Ergebnis werden die gefundenen Media Assets gemäss 3.7 Response Formate zurückgeliefert. Über die im Resultat enthaltenen URL’s können nach Bedarf die Mediadaten für Vorschaubild und die effektive Mediadatei vom Server geladen werden und im aufrufenden System angezeigt werden.

Ablauf bei einem Aufruf des Systems
Die Grafik zeigt den Ablauf bei einem Aufruf

Suche: Web-Methode um ein gültiges Usertoken zu kriegen (Authentication)

Sichtbarkeit der Assets

Suche: Web-Methode zur Suche nach Media Assets

Sichtbarkeit der Assets

Suche: Web-Methode zur Suche nach Media Assets (Alle)

Sichtbarkeit der Assets

Herunterladen: Web-Methode um ein bestimmtes Media Asset zu lesen

In der Rückgabe einer Suche wird jeweils die URL für das Vorschaubild und die effektive Mediadatei mitgeliefert. Durch den Aufruf der entsprechenden URL kann das Vorschaubild oder die Mediadatei vom Server geladen werden. Diese Lösung ist aus zwei Gründen implementiert worden. Wenn die gesamten Daten einer Mediadatei in der Rückgabe der Suche mitgeliefert würden, hätte dies direkte Auswirkungen auf die Geschwindigkeit der Suche. Der Benutzer führt eine Suche aus, um später eine Auswahl zu treffen, somit sind die Mediadaten erst in einem zweiten Schritt von Interesse.

Sichtbarkeit der Assets für die Umsysteme (Organisation DMA)

Die Sichtbarkeit der Assets wird über sogenannte Container gesteuert. Befindet sich ein Asset in einem entsprechenden Container, so ist dieses über die Schnittstelle verfügbar. In Abbildung 4: Sichtbarkeit der Assets im VBS CMS ein Beispiel welches dies verdeutlicht. Über die Schnittstelle sind nur die Assets verfügbar welche sich in den berechtigten Containern befinden. In unserem Beispiel die beiden Assets welche in der Ansicht CMS VBS dargestellt werden.
Die Assets müssen sich in den folgenden Containern befinden, um für das Umsystem sichtbar / verfügbar zu sein:

  • ‚Internet‘ Container
  • ‚{UmsystemContainer}‘ Container (z.B.: ‚CMS-VBS‘ für VBS CMS)
Sichtbarkeit der Assets
Die Grafik zeigt die Sichtbarkeit der Assets auf den verschiedenen Systemen