Zur Homepage www.HI-Tier.de REST-Service
Zurück Home Nach oben
Öffentlicher Bereich für Entwickler

 

Allgemein - REST Version 2

bulletSeit 1.April 2019 ist neue, komfortablere Version des REST-Services in Betrieb
bulletSchnittstellendefinitionen, Dokumentation und Testinterface gibt es getrennt nach Anmelde- und Datenkontext für
bulletProduktionssystem
bulletTestdatensystem

Einführung in die Nutzung der Schnittstellen (API) HIT-REST v2

An den Endpunkten (REST-URL) der Version 2 ist sowohl die alte API des REST Version 1 (Details unten) als auch die neue API Version 2 verfügbar.

Die neue API Version 2 gliedert sich grundsätzlich in zwei Arten von Funktionen

bulleteinfache Funktionen, die ohne Anmeldung benutzt werden können, z.B.
bulletPrüfen einer Ohrmarke oder Betriebsnummer auf syntaktische Korrektheit
bulletUmwandeln einer beliebig formatierten Ohrmarke oder Betriebsnummer in die numerische bzw. alphanumerische normierte Darstellungsform
bulletzugriffsbeschränkte Funktionen, die nur mit Anmeldung benutzt werden können, z.B.
bulletEinfügen mittels PUT, abfagen mittels GET, ändern mittels POST, stornieren mittels DELETE gemäß CRUD-Pattern (Standard-REST-Modell)
bulletEinfügen, abfagen, ändern, stornieren mittels HIT-Abfragesyntax mit strukturieren Daten

Weiterführende Dokumentation der APIs HitCom, HitBatch und HitRaw:

bulletProduktionsystem REST-API - Dokumentation und Interface für das Produktionssystem
bulletTestsystem REST-API - Dokumentation und Interface für das Testsystem

Grundsätzlich dienen die REST-Schnittstellen von HIT/ZID als Transportmittel für das generische HIT-Protokoll.

In der Regel sind die HTTP Verben GET und POST, teilweise auch PUT und DELETE implementiert. Die Parameter beim GET sind im QueryString URL-encoded anzugeben. Beim POST können die Formulardaten mittels Content-type: application/x-www-form-urlencoded oder application/json übermittelt werden. Die Antwortdaten werden standardmäßig im JSON-Format ausgegeben, können aber mittels HTTP-Header Accept: application/xml auch im XLS-Format angefordert werden.

 

Allgemeines zu den Endpunkten

Aus Gründen der Redundanz und Verfügbarkeit gibt es jeweils verschiedene Server. Bei Wartungsarbeiten werden die DNS-Namen nicht-verfügbarer Server auf andere System umgeleitet. Es ist daher kontraproduktiv, auf Client-Seite IP-Adressen oder lang andauerndes DNS-Caching zu verwenden. Empfehlenswert ist, bei Nichterreichbarkeit eines Servers automatisch von Seiten des Clients eine alternative URL zu versuchen. Die verschiedenen Server sind völlig identisch ausgestattet und können in beliebiger Reihenfolge benutzt werden.

Für die verschiedenen Systeme ("Testsystem", "Produktionssystem", "Wartungssystem", und "Clonesystem") gibt es jeweils eine gemeinsame URL / Webadresse unter https://www.hi-tier.de/<subweb> (www ohne angehängte Ziffer).

Hinter der Webadresse https://www.hi-tier.de/ wird von der DNS-Namensauflösung zufällig eine der Adressen der (derzeit) einzelnen Server "www1",  "www2", "www3" oder "www4" geliefert.

Basis-URLs der Endpunkte der verschiedenen Systeme REST v2

Testsystem

bulletGemeinsame Adresse: https://www.hi-tier.de/HitTest3/ (via DNS-Balancing)
bulletDezidierte Serveradressen
bullethttps://www1.hi-tier.de/HitTest3/
bullethttps://www2.hi-tier.de/HitTest3/
bullethttps://www3.hi-tier.de/HitTest3/
bullethttps://www4.hi-tier.de/HitTest3/

Produktionssystem

bulletGemeinsame Adresse: https://www.hi-tier.de/HitCom3/ (via DNS-Balancing)
bulletDezidierte Serveradressen
bullethttps://www1.hi-tier.de/HitCom3/
bullethttps://www2.hi-tier.de/HitCom3/
bullethttps://www3.hi-tier.de/HitCom3/
bullethttps://www4.hi-tier.de/HitCom3/

Wartungssystem

bulletGemeinsame Adresse: https://www.hi-tier.de/HitWart3/ (via DNS-Balancing)
bulletDezidierte Serveradressen analog

Clonesystem

bulletGemeinsame Adresse: https://www.hi-tier.de/HitClone3/ (via DNS-Balancing)
bulletDezidierte Serveradressen analog

horizontal rule

Allgemein - REST Version 1 (alt)

bulletDie Dienste von HI-Tier sind seit September 2014 auch über einfache Webdienste - so genannte REST-Services (Representational State Transfer) - verfügbar. Die Kommunikation erfolgt ausschließlich über durch den Port 443.
bulletAls Transportprotokoll muss verschlüsseltes HTTPSs verwendet werden. Die interne "Nutzlast" basiert weiterhin auf dem HIT-Protokoll.
bulletREST wurde als einfache Alternative zu ähnlichen Verfahren wie SOAP und WSDL und dem verwandten RPC gewählt. Das Verfahren wird noch weiterentwickelt. Insbesondere ist geplant, vereinfachte Objekt-Strukturen an zu bieten. Die jetzt schon bestehenden Schnittstellen sind aber weitestgehend stabil. Neuerungen sollen (möglichst) abwärtskompatibel eingeführt werden.

Allgemeines zu den Endpunkten

Analog oben bei REST v2.

Endpunkte der verschiedenen Systeme REST v1

Testsystem

bulletGemeinsame Adresse: https://www.hi-tier.de/hittest2 - (DNS-Balancing)
bulletDezidierte Serveradressen
bulletPrimary: https://www1.hi-tier.de/hittest2
bulletBackup: https://www2.hi-tier.de/hittest2

Produktionssystem

bulletGemeinsame Adresse: https://www.hi-tier.de/hitcom2 - (DNS-Balancing)
bulletDezidierte Serveradressen
bulletPrimary: https://www1.hi-tier.de/hitcom2
bulletBackup: https://www2.hi-tier.de/hitcom2

Wartungssystem

bulletGemeinsame Adresse: https://www.hi-tier.de/hitwart2 - (DNS-Balancing)
bulletDezidierte Serveradressen analog

Clonesystem

bulletGemeinsame Adresse: https://www.hi-tier.de/hitclone2 - (DNS-Balancing)
bulletDezidierte Serveradressen analog

Einführung in die Nutzung der Schnittstellen (API) HIT-REST v1

Grundsätzlich dienen die REST-Schnittstellen von HIT/ZID als Transportmittel für das generische HIT-Protokoll. Es gibt die oben aufgeführten verschiedene Schnittstellen-Gruppen mit unterschiedlicher Zielsetzung und unterschiedlicher Nähe zum rohen HIT-Protokoll.

In der Regel sind die HTTP Verben GET und POST, teilweise auch PUT und DELETE implementiert. Die Parameter beim GET sind im QueryString URL-encoded anzugeben. Beim POST können die Formulardaten mittels Content-type: application/x-www-form-urlencoded oder application/json übermittelt werden. Die Antwortdaten werden standardmäßig im JSON-Format ausgegeben, können aber mittels HTTP-Header Accept: application/xml auch im XLS-Format angefordert werden.

Weiterführende Dokumentation zu den einzelnen Schnittstellendefinitionen siehe Data Dictionary.

bulletProduktionsystem REST-API v1/v2 - Dokumentation der in Produktion befindlichen API
bulletTestsystem REST-API v1/v2 - ggf. neuere Funktionen, die erst im Test sind)

Clients

Diese REST-Services können sehr einfach über verschiedene Clienttechniken angesprochen werden.

bulletHitBatch Version 46 Stand 23.09.2014, kann alternativ über Port 443 mittels HTTPS kommunizieren und benötigt keine Freischaltung des proprietären HIT-Protokolls an Port 2222 / 2223 und weiteren.
bulletREST kann einfach über JavaScript aus Webseiten direkt angesprochen werden, Beispiele finden sich direkt auf den oben angegebenen Service-URLs. Einen sehr guten Einblick in die stattfindende  Kommunikation erhält man durch die Entwicklungs- und Debugfunktionen der Webbrowser