Online Banking

Aus FreiBier
Wechseln zu: Navigation, Suche

Online-Banking mit Hibiscus

Diese Seite hat vorerst mal gar nichts direkt mit FreiBier zu tun. Dennoch ist Online-Banking natürlich ein sehr wichtiges Thema. Wir brauchen hierzu eine Banking-Software, die die gängigen Kommunikationsprotokolle für deutsche Banken versteht. Die einzige mir bekannte freie Lösung ist HBCI4Java. Dieses ist eine von Olaf Willuhn erstellte und gepflegte Bibliothek. Ich selber habe eine ganze Weile eine Applikation benutzt, die diese Bibliothek einsetzte und kann einerseits bestätigen, das sie sehr sauber und ordentlich geschrieben ist. Andererseits ist das Online-Banking ein ständiger Quell von Veränderungen und Anpassungen und bedarf daher einigem Pflegeaufwand. Olaf Willuhn selber ist Autor des Online-Banking Programms Hibiscus. Dieses ist vielleicht von einigen Eigenschaften her nicht die allererste Wahl für den Unternehmenseinsatz andererseits aber eine stabile und gepflegte Lösung zum Empfang und Versand von Bankdaten.

Um nun diese Funktionalität in FreiBier zu integrieren gibt es zwei Wege: Entweder man integriert die Bibliothek und kümmert sich alle paar Jahre um die Anpassung eines Protokolls oder einer Bankspezifischen Änderung. Oder man benutzt hierfür komplett Hibiscus und schafft eine Schnittstelle hierzu. Vom Grundsatz her scheint Hibiscus hierzu bereits vorbereitet zu sein. Es gibt eine Serverversion, die automatische Synchronisation bietet und es gibt eine RPC-Schnittstelle zum Zugriff auf die Daten.

Inhaltsverzeichnis

Hibiscus-Installation

Um hier Erfahrungen zu sammeln, habe ich mich entschlossen, Hibiscus erst einmal normal zu installieren. Der erste Versuch ging (nach der Anleitung auf der Webseite) ruck-zuck und erlaubte mir einen einfachen Zugang zum Programm und zu meinen Bankdaten. Schön! :-)

Dann wollte ich es allerdings ein kleines bisschen "adempieriger". :-) sprich: Ich wollte direkten Zugang zur Datenbank. Im Hibiscus-Wiki gibt es eine Seite zur Installation mit MySQL. Da es aber auch Hinweise gab, das auch PostgreSQL unterstütz wird, habe ich da mal nachgeforscht. Hierzu geht man im Grunde vor, wie in der MySQL-Seite beschrieben und schreibt am Ende in die Datei cfg/de.willuhn.jameica.hbci.rmi.HBCIDBService.properties etwas wie das folgende:

 database.driver=de.willuhn.jameica.hbci.server.DBSupportPostgreSQLImpl
 database.driver.postgresql.jdbcurl=jdbc\:postgresql://postgresserver.local/hibiscus
 database.driver.postgresql.username=hibiscus
 database.driver.postgresql.password=tb

Vorher habe ich einen Benutzer "hibiscus" und eine Datenbank "hibiscus" angelegt. Wer will, kann PostgreSQL auch so manipulieren, das Hibiscus ein eigenes Schema in der ADempiere-Datenbank benutzt. Das erlaubt dann, von ADempiere aus direkt auf die Tabellen zuzugreifen.

Wie man nun am besten Daten zwischen den beiden Programmen austauscht, werde ich noch austesten. Bis hierhin bin ich erst einmal froh, das ich eine Banking-Software habe, die mir Kontoauszüge in eine PostgreSQL-Datenbank schiebt. :-)

Mehrere Benutzer

Mit Hilfe der Datenbank auf dem Server ist es auch problemlos möglich, das mehrere Benutzer auf derselben Datenbank arbeiten. Da Hibiscus nicht offiziell mehrbenutzer-fähig ist, sollte man bei gleichzeitigen Schreibzugriffen etwas vorsichtig sein. Ansonsten werden nur die Konto- und Zahlungsdaten in die Datenbank geschrieben. Die Konten-Zugriffskonfigurationen sind bei jedem Nutzer lokal abgelegt. Daher ist es also auch möglich, das nur ein Benutzer eine solche Konfiguration hat um Kontoauszüge abzuholen oder Überweisungen zu tätigen, während andere Benutzer die Auszüge einsehen und Überweisungen in die Datenbank eingeben können.

Ich mag es übrigens, wenn jeder Benutzer seine eigene Datenbank-Rolle hat. Das erlaubt, letztlich auf Datenbank-Ebene Rechte zu erteilen oder zu sperren und erlaubt außerdem ein Logging, wer was wann gemacht hat. Bei PostgreSQL bietet es sich an, einen Gruppen-Benutzer zum Inhaber der Datenbank (und der einzelnen Tabellen) zu machen und dann mehrere einzelne Benutzer-Rollen anzulegen, die die Rechte der Gruppe erben. Um das ordentlich zu bewerkstelligen muss die Datei mit den Datenbank-Einstellungen nach /.jameica/cfg/de.willuhn.jameica.hbci.rmi.HBCIDBService.properties kopiert und entsprechend angepasst werden. Der erste Start, bei dem die Tabellen angelegt werden, sollte entweder unter der Rolle der Gruppe geschehen oder man muss später die Inhaberschaft der Tabellen entsprechend ändern.

Mehrere Konfigurationen

Im [Wiki von Olaf Willuhn] steht, wie man Hibiscus mit verschiedenen Konfigurationsdateien starten kann. Auf diese Art kann man in einem Netzwerk auch eine Konfiguration einrichten, die auf die gleiche Datenbank wie ein anderer Mitarbeiter zugreift (sagen wir: für das normale Firmenkonto) und eine andere, private (sagen wir: für das eigene Privatkonto).

Links

Meine Werkzeuge
Namensräume

Varianten
Aktionen
Navigation
Werkzeuge