Zum Hauptinhalt springen

DVDV-Bibliotheken

Um die Softwareentwickler von Fachverfahren oder Anwendungsprogrammen bei der Integration von Anfragen über die OSCI-Schnittstelle an das DVDV zu unterstützen, werden für beide Schnittstellen DVDV-Bibliotheken bereitgestellt. Diese bieten Funktionalitäten in Form von Klassen und Methoden, um möglichst komfortabel Anfragen an das DVDV zu formulieren und dessen Antworten auszuwerten. Die Bibliotheken entlasten die Softwareentwickler, so weit möglich, von der Entwicklung der Kommunikationsinfrastruktur oder Nachrichtenformaten. Es werden sowohl Einzelanfragen als auch eine Stapel-Verarbeitung unterstützt.

Die DVDV-Bibliotheken können entweder als direkt nutzbare Programmierschnittstelle unverändert verwendet werden oder die Quellen der Implementierung können ganz oder in Teilen als Muster für die eigene Integrationsprogrammierung dienen. Die Programmierschnittstellen machen keine Vorgaben hinsichtlich der Laufzeit-Architektur der nutzenden Programme.

Die Bibliotheken können zusammen mit der erforderlichen Dokumentation sowie einigen Beispielen kostenlos über das Entwicklungsportal der FITKO bezogen werden.

Bibliothek für die OSCI-Schnittstelle

Die Kommunikation von Fachverfahren oder Anwendungsprogrammen mit der OSCI-Schnittstelle des DVDV erfolgt über OSCI-Transport 1.2. Zu diesem Zweck stützt sich die DVDV-Bibliotheksimplementierung auf die OSCI-Bibliothek der IT-Planungsratsanwendung Governikus. 1

SDK mit der DVDV-Bibliothek zur Nutzung der OSCI-Schnittstelle sind für Java und .Net-Umgebungen verfügbar. Sie unterstützen drei definierte Anfragen an das DVDV, nämlich:

  • find.ServiceDescription: Diese DVDV-Anfrage dient dazu, alle notwendigen Informationen zu ermitteln, die ein anfragender Fachverfahrens-Client benötigt, um den angebotenen Dienst einer Behörde nutzen zu können. Primär sind dies technische Verbindungsparameter, wie Netzwerkadressen und Zertifikate der Infrastruktursysteme, aber ggf. auch Schemata zu Inhaltsdaten, Anforderungen an das Signaturniveau usw.
  • find.AuthorityDescription: Mit Hilfe dieser Anfrage erhält ein Fachverfahrens-Client nähere Informationen zu einer im DVDV verzeichneten Organisation, z.B. allgemeine Daten zu der Behörde und deren Stellvertretern, wie Name, postalische Anschrift, Behördenschlüssel und identifizierende Client-Zertifikate sowie eine Auflistung aller von der Behörde und deren Stellvertretern angebotenen Diensten.
  • verify.Category: Diese Anfrage wird von Fachverfahrens-Clients in der Rolle Dienstanbieter gestellt, d.h. von Behörden, die einen fachlichen Dienst implementiert und im DVDV publiziert haben. Mit Hilfe der verifyCategory-Anfrage kann ein Dienstanbieter überprüfen lassen, ob das den Dienst anfragende Fachverfahren einer bestimmten Behördenkategorie zugeordnet ist (siehe auch Organisationskategorie) und damit eine Autorisierungsentscheidung stützen.

Alle drei genannten Anfragen sind vom DVDV-Server implementiert als OSCI-Transport-Services des Kommunikationstyps request/response. Sowohl die Anfrage als auch die Antwort werden in Form von XML-Dokumenten als Inhalt eines OSCI-Inhaltcontainers transportiert.

Bibliothek für die Directory-Schnittstelle

Auch für die Nutzung der Directory-Schnittstelle wird den Softwareentwicklern von Fachverfahren oder Anwendungsprogrammen eine DVDV-Bibliothek in den Varianten Java und .Net angeboten. Sie wird zusammen mit einer Dokumentation und lauffähigen Beispielen zur Nutzung veröffentlicht. In der Bibliothek sind die folgenden Features umgesetzt:

  • Authentifizierung entweder am DVDV-IAM/Keycloak oder direkt am DVDV-Server mittels zertifikatbasierter Authentifizierung
  • Failover (Vertreterregelung) zur Nutzung von mehreren DVDV-Servern. Ist ein Server nicht erreichbar, dann wird der nächste Server in der Kette verwendet. In regelmäßigen Abständen wird die Erreichbarkeit des primären Servers erneut geprüft und auf diesen zurückgeschwenkt, sobald die Verbindung wieder etabliert ist. Details zur Vertreterregelung finden sich unter Betreiber.
  • Aufruf der nachfolgend beschriebenen Anfragen an das DVDV und Aufbereitung der Antworten in einem dedizierten Datenmodell.

Folgende DVDV-Anfragen können am Interface „DVDVManager“ der DVDV-Bibliothek verwendet werden:

  • findOrganizationDescription: Diese DVDV-Anfrage dient der Suche nach einer Organisation oder einem Stellvertreter mit Hilfe von Organisationsschlüssel und Kategorie der gesuchten Organisation. Sie ist vergleichbar mit der Methode find.AuthorityDescription aus dem DVDV-SDK,Bibliothek für die OSCI-Schnittstelle.
  • findServiceDescription: Mit Hilfe dieser DVDV-Anfrage kann über den Organisationsschlüssel und die URI der Dienstbeschreibung nach einem Dienst zu einer Organisation gesucht werden. Sie ist vergleichbar mit der entsprechenden Methode find.ServiceDescription aus dem DVDV-SDK.
  • verifyCategory: Diese Anfrage wird zur Überprüfung verwendet, ob das einen Dienst anfragende Fachverfahren einer bestimmten Behördenkategorie zugeordnet ist. Sie ist vergleichbar mit der Anfrage verify.Category aus dem DVDV-SDK.
  • findCategories: Diese Anfrage dient der Ermittlung der Kategorie einer Organisation oder eines Stellvertreters durch Angabe des Organisationsschlüssels und des Fingerprints eines Client-Zertifikats. Zurückgegeben wird eine Liste der Kategorien der gefundenen Organisation bzw. ihrer Stellvertreter.
  • findOrganizationsByServiceElement: Diese Anfrage dient zur Suche nach Organisationen anhand bestimmter Eigenschaften eines ihrer Dienstelemente.
  • findCertificateByFingerprint: Die letzte Anfrage liefert bei Angabe des Fingerprints eines Zertifikats das zugehörige, im DVDV hinterlegte Zertifikat.

Footnotes

  1. siehe https://www.governikus.de/service/osci-bibliothek/