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&highRes=true&
usertoken=PD94bW ... hbGl6YWJsZT4=
</DownloadUrl>
<PreviewUrl>
http://localhost:57824/AssetPreview.ashx?assetId=17&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.

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.

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

Suche: Web-Methode zur Suche nach Media Assets

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

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)
