Schnittstelle zum Bundesamt für Arbeit
05. August 2009das Bundesamt für Arbeit (BA) bietet eine kostenlose Schnittstelle zum Veröffentlichen von Jobs auf deren Webseite. Das Interessante dabei ist, dass die Jobs von dort auch auf vielen anderen Job-Portalen veröffentlicht werden kann.
Für meine alte Firma hatte ich die Aufgabe, alle Jobs automatisiert über die XML Schnittstelle an das BA zu übertragen.
Der grobe Ablauf läuft folgendermaßen ab:
- Man erstellt eine XML Datei mit den Jobs im speziellen HR-BA Format.
- Diese Datei wird mit einem speziellen FTP Programm auf den BA Server übertragen.
- Das BA liest diese XML Datei ein und veröffentlicht die Jobs.
Vorbedingung
Um die XML Schnittstelle zu nutzen benötigt man einen Vertrag mit der BA. Wenn der Vertrag unterschrieben ist bekommt man neben der Dokumentation eine CD mit einen Zertifikat für die FTP Übertragung.
Die HR-BA XML Datei
Die XML Datei ist im Gegensatz zu anderen Jobportalen sehr umfangreich. Zum Glück gibt es eine XSD mit der man die erstellte Datei prüfen kann. Eine valide Datei kann aber noch fachliche Fehler haben, aber dabei bekommt man Hilfe vom BA.
Beim Erstellen der XML Datei gibt es einige Knackpunkte:
- Es wird ein Code für das Bundesland benötigt. In meinen Fall musste ich diesen Code erstmal aus der Postleitzahl ermitteln.
- Für den Titel muss ein spezieller Titel Code angegeben werden den man aus einer riesigen XML Datei ermitteln muss. Das macht ein automatisches Importieren sehr umständlich wenn man nicht die Titel des BA verwendet. In meinen Fall habe ich anhand einiger Merkmale den Job-Titel ermitteln können und hart hinterlegt. Das geht aber auch nur weil die Jobs in der Firma sehr ähnlich sind.
- Man muss leider angeben ob ein Job neu angelegt, aktualisiert oder gelöscht werden soll. Diesen Job übernimmt das BA leider nicht. Ich verwende dafür den Zeitstempel der zuletzt hoch geladenen Datei und vergleiche diesen mit den Zeitstempel des Eingangsdatum und dem Datum der Löschung des Job Eintrages.
- Die XML Datei muss einen ganz speziellen Datei Namen besitzen, damit die Datei überhaupt eingelesen wird. Dafür werden verschiedene IDs verwendet und das benötigte noch ein wenig Abstimmung mit der Technikabteilung des BA.
FTP Upload
Der FTP Upload geht leider nur mittels einem speziellen Programm: Connect Direct FTP+. Damit dieses überhaupt eine Verbindung zum BA Server zustande bekommt muss ein Spezielles Zertifikat installiert werden und dann kann man sich mittels einer GUI auf den Server verbinden. Es stehen einem zwei Ordner zur Verfügung.
- in: hier werden die XML Dateien zum hochladen der Jobs abgelegt
- out: hier kann man die Titel Codes der Berufe und die Fehler Protokolle herunterladen

Das Programm lässt sich auch über die Komandozeile aufrufen. Steuern lässt es sich darüber aber nicht. Man kann aber eine Art Steuerungs Datei beim Starten des Programm angeben und dieses enthält dann die Befehle die das FTP Programm ausführen soll.
Ich habe dafür ein kleines Visual Basic Programm geschrieben das diese Steuerungsdatei anhand der erzeugten XML Datei (Dateiname ist immer unterschiedlich) erstellt und dann das FTP Programm zusammen mit dieser Datei aufruft:
Sub Upload()
Console.WriteLine("Start CDFtp Upload")
Dim content As String = vbCr & "cd in" & vbCr
content = content & "lcd current" & vbCr
content = content & "put " & XmlFile & vbCr
content = content & "quit"
My.Computer.FileSystem.WriteAllText(SyncFile, content, False)
Dim command As String = "C:\Programme\CDFtp\CDFtp.exe -s:" & SyncFile & " open"
Dim returnID As Integer = Shell(command, AppWinStyle.NormalFocus, True)
Console.WriteLine("Finish CDFtp Upload")
End Sub
Dieses Programm führe ich über die geplanten Tasks täglich aus. Dieses Verfahren läuft jetzt schon seit einigen Monaten problemlos. Die aktuell aktiven Jobs kann man sich im Service bereich für Arbeitgeber des BA anschauen und auch per Hand ergänzen oder löschen.

Tags:HR-BA XML, Programmierung, Schnittstelle
Veröffentlicht in Allgemein | Keine Kommentare »
Wiesbaden