Discussion:
Kontoauszüge automatisiert auslesen (HBCI, FinTS)
Benjamin Meichsner
2009-01-30 18:53:21 UTC
Permalink
Hey,

ich bin auf der Suche nach einer eleganten Möglichkeit automatisierte
Kontoauszüge (und vielleicht mehr ebanking) in eine Rails-Anwendung
einzubauen. Weil die Deutschen mit HBCI offensichtlich ein eigenes
Süppchen kochen http://www.hbci-zka.de/ gibt es dementsprechend auch
wenig open source bibliotheken.
Das einzige, was ich bisher gefunden habe ist aqbanking
http://www.aquamaniac.de/sites/aqbanking/. Allerdings gibt es damit nur
über den Umweg über die Konsole Zugriff auf das Konto.

Mit der aktuellen FinTS Spezifikation (Nachfolger von HBCI)
http://www.hbci-zka.de/spec/fints_v4_0.htm benutzt HBCI nun Standards
wie http/s als Übertragungsprotokoll und XML als Dateiformat.
Eigentlich sollte sich damit doch relativ einfach eine ruby-bibliothek
basteln lassen, die dann nativ in Ruby-Anwendungen eingebaut werden
könnte, oder? ;-)

Ich freu mich über Anregungen und Tipps.
gruß,
benni
--
Posted via http://www.ruby-forum.com/.
Roland Moriz
2009-01-30 19:11:24 UTC
Permalink
Hallo Benjamin,
Post by Benjamin Meichsner
Weil die Deutschen mit HBCI offensichtlich ein eigenes
Süppchen kochen http://www.hbci-zka.de/ gibt es dementsprechend auch
wenig open source bibliotheken.
Immerhin ist HBCI ein Standard ;-)
Post by Benjamin Meichsner
Das einzige, was ich bisher gefunden habe ist aqbanking
http://www.aquamaniac.de/sites/aqbanking/. Allerdings gibt es damit nur
über den Umweg über die Konsole Zugriff auf das Konto.
Mit der aktuellen FinTS Spezifikation (Nachfolger von HBCI)
http://www.hbci-zka.de/spec/fints_v4_0.htm benutzt HBCI nun Standards
wie http/s als Übertragungsprotokoll und XML als Dateiformat.
Eigentlich sollte sich damit doch relativ einfach eine ruby-bibliothek
basteln lassen, die dann nativ in Ruby-Anwendungen eingebaut werden
könnte, oder? ;-)
ich glaube FinTS/HBCI in allen Ausprägungen (Versionen, PIN/TAN, iTAN,
SmartCard, "Diskettenverfahren"/Keyfile) ist extrem komplex.

Ich würde das einsetzen was es bereits gibt:

Der Java HBCI/Homebanking Client Hibiscus hat eine XML-RPC
Schnittstelle: http://www.willuhn.de/projects/hibiscus/

Von den PHP Leuten gibt es einen Vortrag dazu:
http://phpugffm.de/wp-content/uploads/2007/03/onlinebanking-mit-php.pdf

Das Thema finde ich schon seit einigen Jahren spannend - halte uns auf
dem Laufenden!

Viele Grüße,
Roland
--
Moriz GmbH
Theresienstraße 66
80333 München

Tel: 089/216 685 91
Fax: 089/216 685 92

Vertretungsberechtigter
Geschäftsführer:
Roland Moriz

Registergericht: Amtsgericht München
Registernummer: HRB 174 294
USt-ID: DE260422784
Benjamin Meichsner
2009-01-30 20:12:55 UTC
Permalink
ich glaube FinTS/HBCI in allen Auspr�gungen (Versionen, PIN/TAN, iTAN,
SmartCard, "Diskettenverfahren"/Keyfile) ist extrem komplex.
Das stimmt. Aber man kann sich ja beschränken. So würde ich behaupten,
dass das PIN/TAN Verfahren (ohne TAN), beschränkt auf die Möglichkeit
des Kontoauszugs, für die meisten Anwendungen völlig ausreichen würde.
Häufig geht es ja nur für eine automatisierte Erkennung oder einfachere
Zuordnung von Überweisungen und die anschließende Überführung in die
Webapplikation. Ob die Umsetzung dieser schmalspur Bibliothek trotzdem
kompliziert genug ist, kann ich aber nicht einschätzen.
Auf jeden Fall gibt es mit der neuesten aqbanking version ja schon den
Versuch eine solche Bibliothek kommerziell zu verwerten, das
aqbanking-konsolen-tool steht nicht mehr unter einer opensource-Lizenz!
Der Java HBCI/Homebanking Client Hibiscus hat eine XML-RPC
Schnittstelle: http://www.willuhn.de/projects/hibiscus/
Guter Tipp, das hatte ich auch schon ausprobiert. Allerdings sträube ich
mich sehr, für diese Aktivitäten einen Speicher fressenden Javaserver
laufen zu lassen. Meine Installation ließe ich sich sicherlich noch
optimieren, aber >50MB Ram ist für so ein Feature dann doch zu viel.
Das Thema finde ich schon seit einigen Jahren spannend - halte uns auf
dem Laufenden!
Ende März werde ich vor. so ein Funktion umgesetzt haben (oder es
komplett verwerfen). Mal gucken wie es dann aussieht ;-)

Viele Grüße aus Berlin,
Benni
--
Posted via http://www.ruby-forum.com/.
Beate Paland
2009-06-03 13:56:08 UTC
Permalink
Hallo Benjamin,

ich hole das Thema noch mal aus der Versenkung :)
Post by Benjamin Meichsner
Ende März werde ich vor. so ein Funktion umgesetzt haben (oder es
komplett verwerfen). Mal gucken wie es dann aussieht ;-)
Wie siehts denn aus? Alles verworfen? Ich bin auch gerade über
Hibiscus gestolpert,
das sah wirklich recht interessant aus. Oder hast du das jetzt anders gelöst?

Viele Grüße
Beate
Benjamin Meichsner
2009-06-03 18:10:40 UTC
Permalink
Hallo Beate,

tja, die Prioritäten haben sich ein wenig verschoben und die HBCI
Bibliothek wurde erstmal nach hinten verschoben. Ich habe also noch
keine Lösung dafür. Allerdings hat mir der Autor von HBCI4Java einen
Wrapper in Delphi geschickt. Den könnte mensch vielleicht nach Ruby
portieren ... (Achtung, der Wrapper soll veraltet sein und funktioniert
u.U. nicht mehr mit der aktuellen Java-Bibliothek. Aber Abgucken müsste
ja gehen.)

Falls ich aber mal ne Lösung zusammen stecke, sage ich Bescheid. Ich
hoffe, alle anderen verfahren ähnlich ...

Gruß,
benni

Attachments:
http://www.ruby-forum.com/attachment/3778/hbci4java4delphi.zip
--
Posted via http://www.ruby-forum.com/.
j***@public.gmane.org
2009-06-03 19:43:07 UTC
Permalink
Post by Roland Moriz
Hallo Benjamin,
ich hole das Thema noch mal aus der Versenkung :)
Post by Benjamin Meichsner
Ende März werde ich vor. so ein Funktion umgesetzt haben (oder es
komplett verwerfen). Mal gucken wie es dann aussieht ;-)
Wie siehts denn aus? Alles verworfen? Ich bin auch gerade über
Hibiscus gestolpert,
das sah wirklich recht interessant aus. Oder hast du das jetzt anders gelöst?
Ich habe das mit Hibiscus für einen Kunden umgesetzt. Für diesen Zweck
hab ich das Hibiscus XML/RPC-Modul um eine recht mächtige
Abfrage-Funktion erweitert. Die ist bisher aber nur im Quellcode
dokumentiert.

Unser Kunde ist bei der entgültigen Installation auf das Problem
gestoßen, dass er eine RSA-Karte verwendet. RSA-Karten werden von
HBCI4Java (und damit von Hibiscus) NICHT unterstützt. Man kann hier nur
DDV-Karten verwenden. Der Kunde musste dann auf TAN-Listen umsteigen.

Grüße
Julian
Roland Moriz
2009-06-03 20:18:19 UTC
Permalink
Hallo Julian,
Post by j***@public.gmane.org
Unser Kunde ist bei der entgültigen Installation auf das Problem
gestoßen, dass er eine RSA-Karte verwendet. RSA-Karten werden von
HBCI4Java (und damit von Hibiscus) NICHT unterstützt. Man kann hier nur
DDV-Karten verwenden. Der Kunde musste dann auf TAN-Listen umsteigen.
kannst Du mir sagen, welches Institut dies betrifft? Gerne auch off-list.

Grüße,
Roland
--
Moriz GmbH
Hedwig-Dransfeld-Allee 14
80637 München

Tel: 089/78795079 (AB)

Vertretungsberechtigter
Geschäftsführer:
Roland Moriz

Registergericht: Amtsgericht München
Registernummer: HRB 174 294
USt-ID: DE260422784
j***@public.gmane.org
2009-06-04 00:07:19 UTC
Permalink
Post by Roland Moriz
Hallo Julian,
Post by j***@public.gmane.org
Unser Kunde ist bei der entgültigen Installation auf das Problem
gestoßen, dass er eine RSA-Karte verwendet. RSA-Karten werden von
HBCI4Java (und damit von Hibiscus) NICHT unterstützt. Man kann hier nur
DDV-Karten verwenden. Der Kunde musste dann auf TAN-Listen umsteigen.
kannst Du mir sagen, welches Institut dies betrifft? Gerne auch off-list.
Am besten Fragst du direkt bei der Bank des Kunden an. Ich bin bei der
Bremer Sparkasse und hab eine DDV-Karte. Möglicherweise haben alle
Sparkasse DDV-Karten. Unser Kunde ist bei der Deutschen Bank Berlin und
die bieten ihm nur RSA-Karten an.

Grüße
Julian
Sebastian Korfmann
2009-01-31 14:52:07 UTC
Permalink
Hallo Benjamin,

ich beschäftige mich derzeit mit der gleichen Thematik. Allerdings ist
bei mir ein universellerer Ansatz geplant. Und zwar möchte ich
"on-the-fly" konten hinzufügen können. Es geht mir dabei (vorerst) nur
um die Umsatzabfrage der entsprechenden Konten.

Mein Ansatz war bislang HBCI4Java via Konsole anzusprechen und die
ausgegebenen Textfiles mit Ruby zu parsen. Allerdings klingt der Ansatz
mittels XML-RPC Hibiscus anzusprechen "runder" :)

Was mir noch durch den Kopf gegangen ist: Es solle doch möglich sein,
HBCI4Java mittels JRuby nativ anzusprechen, oder irre ich mich da? Hab
leider keinerlei Java-Kenntnisse und auch wenig Erfahrungen mit JRuby.
Aber vielleicht kann ja einer von euch mehr dazu sagen.
--
Posted via http://www.ruby-forum.com/.
Roland Moriz
2009-01-31 17:20:31 UTC
Permalink
Hi,
Post by Sebastian Korfmann
Was mir noch durch den Kopf gegangen ist: Es solle doch möglich sein,
HBCI4Java mittels JRuby nativ anzusprechen, oder irre ich mich da? Hab
leider keinerlei Java-Kenntnisse und auch wenig Erfahrungen mit JRuby.
Aber vielleicht kann ja einer von euch mehr dazu sagen.
ja, das wird gehen. Viel Erfolg :)

Wenn Ihr nur lesend tätig sein wollt (Zahlungseingänge checken,
"kontoblick.de" clonen[1]) ist das mit Pin/Tan und auch dem
Diskettenverfahren (z.B. bei Volksbanken) 'relativ' einfach.

Mit Smartcards (z.B. bei Sparkassen) kannst Du das so gut wie vergessen
(Pin/Tan nehmen wenn das auch geht).

Für firmeninterne Abläufe reicht uU auch ein (CSV/XML/...) Export aus
einem Finanzprogramm aus (StarMoney, -Business, db-dialog usw. usf.),
geht manchmal auch automatisiert.

Viel Erfolg,
Roland

[1] Ich schätze (Spekulation), die machen die komplette HBCI
Kommunikation über ein Java Applet vom Userrechner aus, sodass keine
HBCI/Kontozugangsdaten auf einem Server gespeichert werden müssen. Das
eingesetze Applet schickt dann wohl nur die Kontobewegungen zum
Webserver/Javascript im Browser)
--
Moriz GmbH
Theresienstraße 66
80333 München

Tel: 089/216 685 91
Fax: 089/216 685 92

Vertretungsberechtigter
Geschäftsführer:
Roland Moriz

Registergericht: Amtsgericht München
Registernummer: HRB 174 294
USt-ID: DE260422784
Benjamin Meichsner
2009-02-02 12:57:19 UTC
Permalink
Post by Roland Moriz
Was mir noch durch den Kopf gegangen ist: Es solle doch m�glich sein,
HBCI4Java mittels JRuby nativ anzusprechen, oder irre ich mich da? Hab
leider keinerlei Java-Kenntnisse und auch wenig Erfahrungen mit JRuby.
Aber vielleicht kann ja einer von euch mehr dazu sagen.
ja, das wird gehen. Viel Erfolg :)
Hallo, ich habe mal den Entwickler von HBCI4Java kontaktiert. Offenbar
existiert nämlich schon ein Wrapper in Delphi. Vielleicht kann man so
einen Wrapper auch in Ruby umsetzten. Ich bin aber immer noch scharf auf
eine richtige Portierung (Pin/Tan-Kontoauszüge) nach Ruby - HBCI4Ruby
oder so ;-)
Post by Roland Moriz
F�r firmeninterne Abl�ufe reicht uU auch ein (CSV/XML/...) Export aus
einem Finanzprogramm aus (StarMoney, -Business, db-dialog usw. usf.),
geht manchmal auch automatisiert.
Ja, mit fastercsv als Parser geht das wahrscheinlich am einfachsten.
Komfortabel (für die Benutzerinn) ist das aber nicht.

Viele Grüße,
Benni
--
Posted via http://www.ruby-forum.com/.
Roland Moriz
2009-02-02 13:11:34 UTC
Permalink
Hi,
Post by Benjamin Meichsner
Hallo, ich habe mal den Entwickler von HBCI4Java kontaktiert. Offenbar
existiert nämlich schon ein Wrapper in Delphi. Vielleicht kann man so
einen Wrapper auch in Ruby umsetzten. Ich bin aber immer noch scharf auf
eine richtige Portierung (Pin/Tan-Kontoauszüge) nach Ruby - HBCI4Ruby
oder so ;-)
gab es nicht sogar Python bindings für HBCI4Java oder Aqbanking?

Grüße,
Roland
--
Moriz Softwareentwicklung
Roland Moriz
Theresienstraße 66
80333 München

Tel: 089 - 216 685 91
Fax: 089 - 216 685 92

Steuernummer: 145/334/35675
Finanzamt München III
Benjamin Meichsner
2009-02-02 16:45:29 UTC
Permalink
gab es nicht sogar Python bindings f�r HBCI4Java oder Aqbanking?
Stimmt, für aqbanking gibt es die offenbar:
http://www.pilotennetz.de/computing/linux/rpms.shtml

Ich habe auf die schnelle aber keine Quellen gefunden. Vielleicht sollte
man nochmal den Martin Preuß (aqbanking-author) nochmal angehen...

bis demnächst,
benni
--
Posted via http://www.ruby-forum.com/.
Martin Honermeyer
2009-06-07 22:42:06 UTC
Permalink
Hi,

da ich diese Liste nur ab und zu überfliege, habe ich diesen Thread leider erst
heute gesehen. Möchte jetzt gerne meinen Senf dazu geben.

Generell scheint die Zahl an HBCI-Bibliotheken im Open-Source-Bereich sehr
niedrig zu sein. Ursprünglich hatte ich auch mit aqbanking herum
experimentiert. Da ich jedoch kaum Entwickler-Dokumentation dazu finden konnte
und das Ganze auch nicht weiter entwickelt zu werden scheint (?), habe ich das
fallen gelassen.

Ich habe mich dann mit dem hier bereits angesprochenen HBCI4Java auseinander
gesetzt. Ich kann die Bibliothek sehr empfehlen, da sie aktiv weiter
entwickelt wird und mit den aktuellen HBCI-Standards stabil funktioniert.
Sowohl Pin/TAN- als auch RDH-Zugänge funktionieren bei mir problemlos. Es gibt
auch ein Forum, in dem man Probleme mit einer aktiven Community austauschen
kann.

Kurz zu meiner Umsetzung: Ich habe eine Rails-Anwendung auf JRuby laufen, die
HBCI4Java als JAR einbindet und direkt aus Rails heraus aufruft. Ich nutze
eine Schlüsseldatei, die ich mit einem Kommandozeilentool von HBCI4Java
initialisiert habe und die direkt auf dem Server liegt. Die Anwendung kann
(aus HBCI-Sicht) Kontoauszüge abrufen und Lastschriften rausschicken. Dies
geschieht im Vordergrund, d.h. während des jeweiligen Seitenaufrufs, also ohne
Hintergrundprozesse.

Da eine HBCI-Transaktion, wie z.B. eine Umsatzabfrage, den Ruby-Prozess für
weitere Requests sperrt, sollte man unbedingt auf einen "richtigen"
Applikationsserver wie z.B. Glassfish deployen und die Multithreading-
Fähigkeiten nutzen. (Es sei denn, das Ganze soll eine 1-User-Anwendung sein -
dann kann man bei Mongrel/Webrick bleiben!) Um HBCI4Java in diesem
Multithread-Szenario nutzen zu können, muss man ein paar Hürden bewältigen.
Das habe ich inzwischen aber geschafft.

Wenn man keine Bedenken (oder Probleme) hat, die Rails-Anwendung auf JRuby
umzustellen, kann ich das nur wärmstens empfehlen. Falls jemand Interesse hat,
kann ich gerne weitere Details zu meiner Umsetzung abgeben. Oder meine
Erfahrungen direkt bloggen, damit noch mehr Leute was davon haben.


Schöne Grüße
Martin
Post by Benjamin Meichsner
gab es nicht sogar Python bindings f�r HBCI4Java oder Aqbanking?
http://www.pilotennetz.de/computing/linux/rpms.shtml
Ich habe auf die schnelle aber keine Quellen gefunden. Vielleicht sollte
man nochmal den Martin Preuß (aqbanking-author) nochmal angehen...
bis demnächst,
benni
Stefan Tilkov
2009-06-08 05:41:46 UTC
Permalink
Oder meine Erfahrungen direkt bloggen, damit noch mehr Leute was
davon haben.
Das fände ich prima.

Stefan
--
Stefan Tilkov, http://www.innoq.com/blog/st/
Martin Honermeyer
2009-08-02 19:34:10 UTC
Permalink
Hallo Leute,

ich hatte einen halbfertigen Artikel zum Thema schon seit längerem
unveröffentlicht in meinem Blog liegen. Ich habe mich jetzt durchgerungen (Dank
an Christian), den ersten Teil jetzt einzeln zu veröffentlichen. Es geht um die
Nutzung von HBCI4Java mit JRuby. Ich hoffe, jemand kann etwas damit anfangen.
Die Codeschnipsel sind meinem (closed-source) Projekt entnommen und erheben
keinen Anspruch auf Vollständigkeit.

Bitte entschuldigt die lange Verzögerung - man hat ja immer soviel zu tun..
;-/ Mit dem zweiten Teil zum Deployment auf dem Glassfish-Applikationsserver
habe ich leider noch nicht begonnen. Das sollte aber nicht mehr so langwierig
sein!


Schöne Grüße
Martin
Post by Stefan Tilkov
Oder meine Erfahrungen direkt bloggen, damit noch mehr Leute was
davon haben.
Das fände ich prima.
Stefan
--
Stefan Tilkov, http://www.innoq.com/blog/st/
_______________________________________________
rubyonrails-ug mailing list
http://mailman.headflash.com/listinfo/rubyonrails-ug
Martin Honermeyer
2009-08-02 19:36:07 UTC
Permalink
Jetzt habe ich doch glatt die URL vergessen. Bitte schön:

http://www.strahlungsfrei.de/2009/08/03/hbci-banking-mit-jruby-on-rails


Martin
Post by Martin Honermeyer
Hallo Leute,
ich hatte einen halbfertigen Artikel zum Thema schon seit längerem
unveröffentlicht in meinem Blog liegen. Ich habe mich jetzt durchgerungen
(Dank an Christian), den ersten Teil jetzt einzeln zu veröffentlichen. Es
geht um die Nutzung von HBCI4Java mit JRuby. Ich hoffe, jemand kann etwas
damit anfangen. Die Codeschnipsel sind meinem (closed-source) Projekt
entnommen und erheben keinen Anspruch auf Vollständigkeit.
Bitte entschuldigt die lange Verzögerung - man hat ja immer soviel zu tun..
;-/ Mit dem zweiten Teil zum Deployment auf dem
Glassfish-Applikationsserver habe ich leider noch nicht begonnen. Das
sollte aber nicht mehr so langwierig sein!
Schöne Grüße
Martin
Post by Stefan Tilkov
Oder meine Erfahrungen direkt bloggen, damit noch mehr Leute was
davon haben.
Das fände ich prima.
Stefan
--
Stefan Tilkov, http://www.innoq.com/blog/st/
_______________________________________________
rubyonrails-ug mailing list
http://mailman.headflash.com/listinfo/rubyonrails-ug
_______________________________________________
rubyonrails-ug mailing list
http://mailman.headflash.com/listinfo/rubyonrails-ug
Loading...