AqBanking: Unterschied zwischen den Versionen

Aus OrgaMon Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Zeile 12: Zeile 12:


== Überblick ==
== Überblick ==
== Historisches ==
zurück zum Hauptartikel [[AqBanking]].
=== Erreichte Meilensteine ===
# Linux-Anwendungsebene: QBankingManager installieren (Erfolg: 21.02.2008)
## ein Giro-Konto abfragen um zu sehen, ob das Teil funktioniert (Erfolg: 21.02.2008)
## Transaktion "Konto-Umsatz-Abfrage" ausprobieren! (Erfolg: 21.02.2008)
## Transaktion "Sammel-Lastschrift" (DTA) ausprobieren! (Geht nicht! Nur Einzeln)
# Linux-Programmierebene: "aqbanking 3" versuchen zu compilieren (Erfolg: 19.02.2008)
# Mini-Programm Konsolen-Programm erstellen das z.B. die Kontenliste auf den Schirm bringt (Erfolg: 22.02.2008)
# AH_Job_GetBalance ("~kto~.~blz~") : double (Erfolg: 26.03.08)
# AH_Job_GetTransactions ("~kto~.~blz~","20.02.2008") : (Erfolg: 28.02.2008)
# AH_Job_MultiDebitNode_new (Achtung schwierig: "Multi-Job" + "TAN" notwendig + DTAUS Importer verwenden!) (07.03.2008)
#Erfolgreiche erzeugung eines DebitNote-Auftrags aus Kommandozeilenparametern und csv-Datei (07.03.2008)
#Erfolgreiche auftragsübertragung bis zur TAN-Abfrage über den Passwort-Callback!! (05.03.2008)
#Erfolgreiche Lastschriften mit einer einzelnen, sowie mit 2 Lastschriften in einer Sammellastchrift. (07.03.2008)
# REST - Server in PHP verwirklicht, Technologie: mod_rewrite und "$fn();" (13.03.2008)
# REST - Mappings definieren auf ein nun fertiges "aqbc"-Programm das in C programmiert ist. (13.03.2008)
# REST: Lastschriften (15.03.2008)
# Umlaute (scheinbar durchgängig UTF-8, wär ja OK!) (19.03.2008)
# Integration in den OrgaMon 1/2 "Umsatz" (20.03.2008)
# Integration in den OrgaMon 2/2 "Sammellastschrift" (26.03.2008)
=== Offen ===
# aqbd TimeOut-Problem bei den Lastschriften (Erfolg mit AqBanking 3.5.0)
# aqbd nun als richtiges / eigentständiges Linux Projekt beginnen und Know-How aus abtest übernehmen (Info: http://www.openismus.com/documents/linux/automake/automake.shtml)
# Sammellastschrift mit iTAN (Erfolg mit AqBanking 3.5.0)
# Sammellastschrift mit 2000 Posten durchführen (Massentest!)


===Dokumentation===
===Dokumentation===


== [[AQBProjekt|Projekt]] ==
*[[AQBInstallation|Installation]]
*[[AQBInstallation|Installation]]
*[[AQBKommandozeile|Bedinung über Kommandozeile]]
*[[AQBKommandozeile|Bedinung über Kommandozeile]]

Version vom 7. Juli 2008, 19:56 Uhr

aqbd ist ein für Linux verfügbares Commando-Zeilen-Tool (und Dämon), das es ermöglicht ...

  • ... Umsätze und Salden eines Kontos via AqBanking-HBCI auszulesen. Als Ausgabe erzeugt aqbd CSV-Dateien, die leicht weiterverarbeitet werden können.
  • ... Laschriften, die als CSV-Datei vorliegen, via AqBanking-HBCI an die Bank zu übertragen und durchzuführen.

weitere Infos über aqbd ...

  • ... basiert 100% auf der Arbeit von Martin Preuss http://www.aquamaniac.de/ und der Bibliothek "AqBanking"
  • ... nutzt die neueste Generation des "AqBanking" (Version >=3.3.0)
  • ... liegt im C-Quelltext (GPL 3.0 Lizenz) vor
  • ... bietet im Zusammenspiel mit Apache2+PHP einen RESTful Webservice an
  • ... bietet ein simples Webinterface, das es ermöglich eigene Konto-Daten mit einem Browser weltweit abzurufen



Überblick

Historisches

zurück zum Hauptartikel AqBanking.


Erreichte Meilensteine

  1. Linux-Anwendungsebene: QBankingManager installieren (Erfolg: 21.02.2008)
    1. ein Giro-Konto abfragen um zu sehen, ob das Teil funktioniert (Erfolg: 21.02.2008)
    2. Transaktion "Konto-Umsatz-Abfrage" ausprobieren! (Erfolg: 21.02.2008)
    3. Transaktion "Sammel-Lastschrift" (DTA) ausprobieren! (Geht nicht! Nur Einzeln)
  2. Linux-Programmierebene: "aqbanking 3" versuchen zu compilieren (Erfolg: 19.02.2008)
  3. Mini-Programm Konsolen-Programm erstellen das z.B. die Kontenliste auf den Schirm bringt (Erfolg: 22.02.2008)
  4. AH_Job_GetBalance ("~kto~.~blz~") : double (Erfolg: 26.03.08)
  5. AH_Job_GetTransactions ("~kto~.~blz~","20.02.2008") : (Erfolg: 28.02.2008)
  6. AH_Job_MultiDebitNode_new (Achtung schwierig: "Multi-Job" + "TAN" notwendig + DTAUS Importer verwenden!) (07.03.2008)
  7. Erfolgreiche erzeugung eines DebitNote-Auftrags aus Kommandozeilenparametern und csv-Datei (07.03.2008)
  8. Erfolgreiche auftragsübertragung bis zur TAN-Abfrage über den Passwort-Callback!! (05.03.2008)
  9. Erfolgreiche Lastschriften mit einer einzelnen, sowie mit 2 Lastschriften in einer Sammellastchrift. (07.03.2008)
  10. REST - Server in PHP verwirklicht, Technologie: mod_rewrite und "$fn();" (13.03.2008)
  11. REST - Mappings definieren auf ein nun fertiges "aqbc"-Programm das in C programmiert ist. (13.03.2008)
  12. REST: Lastschriften (15.03.2008)
  13. Umlaute (scheinbar durchgängig UTF-8, wär ja OK!) (19.03.2008)
  14. Integration in den OrgaMon 1/2 "Umsatz" (20.03.2008)
  15. Integration in den OrgaMon 2/2 "Sammellastschrift" (26.03.2008)

Offen

  1. aqbd TimeOut-Problem bei den Lastschriften (Erfolg mit AqBanking 3.5.0)
  2. aqbd nun als richtiges / eigentständiges Linux Projekt beginnen und Know-How aus abtest übernehmen (Info: http://www.openismus.com/documents/linux/automake/automake.shtml)
  3. Sammellastschrift mit iTAN (Erfolg mit AqBanking 3.5.0)
  4. Sammellastschrift mit 2000 Posten durchführen (Massentest!)


Dokumentation

Design


Um AqBanking für den OrgaMon nutzbar zu machen wird ein Linux-basierter REST-Webservice implementiert. Dabei dient das Gesamtsystem (Apache2+PHP+index.php+aqbd-Dämon) nur als Wrapper für grundlegende "AqBanking Rev. 3.x" Funktionen. REST hilft uns, auf Kontoumsätze und andere Informationen ganz primitiv über das Web zuzugreifen. Zum Informations-Abruf benötigt man auf der Client-Seite nur einen einfachen Webbrowser (Punkt!). Dadurch ist auch die Integration in andere Prozesse ein Kinderspiel. Ruby on Rails z.B. kann REST-Webservices direkt ansprechen. "AqBanking-REST" bietet dabei folgende Dienste an ...

  1. ... Umsätze abrufen (./umsatz)
  2. ... Salden abrufen (./saldo)
  3. ... Sammel-Lastschriften durchführen (./lastschrift)
  4. ... OPTIONAL: (Termin-)Überweisungen durchführen (./ueberweisung)


Die Buchführung des OrgaMon kann "externe" Konten via Webserices (vorzugsweise REST) integrieren. Dadurch werden Giro-Konto-Buchungen direkt im OrgaMon sichtbar. Systematischer Aufbau des Server-Dienstes.

  • aqbd Download - der aqbanking dämon. Muss notwendigerweise als Dämon programmiert werden da z.B. das Mehrstufige TAN Verfahren mehrere REST-Zyklen benötigt und die Verbindung zur Bank dazwischen nicht unterbrochen werden darf, insbesondere beim iTAN Verfahren. Die Kommunikation mit der Aussenwelt erledigt der Dämon über das Dateisystem. Ein PHP-Script legt Konto-Anfragen in Mini "Job"-Dateien im Verzeichnis /srv/aqbanking ab.
  • aqREST Download - der REST Service als PHP Implementierung. Erfordert die mod_rewrite Anpassung im Apache2 (Beschreibung hier REST).

Sicherheitsüberlegungen

  • Während der Installtionsphase sollte der Webserver nur für den Admin sichbar sein, bis alles funktioniert
  • Dann sollten "pin."-Dateien nur "root" sichtbar gemacht werden
  • Überlegungen sollten den Rechten der Verzeichnisse ab /srv/aqb gewidmet werden
  • Das Wurzelverzeichnis des REST Servers (index.php) sollte passwortgeschützt werden
  • Wird der REST Server im Internet sichtbar sollte https:// (SSL-Verschlüsselung) auf das Verzeichnis gelegt werden
  • Die PIN eines Kontos wird design-bedingt niemals über das Netz übertragen
  • Der (HBCI-Server-)Login-Name wird design-bedingt niemals über das Netz übertragen
  • Von aussen - ohne manuellen Eingriff des admin - können keine veränderte Zertifikate akzeptiert werden. Somit ist ausgeschlossen dass die Übernahme des Netzes rund um den aqbd-Host zum Stehlen von PIN / TAN führen kann

Download

http://cargobay.orgamon.de/aqbd.html

Links

Aqbanking 3

Alternative Projekte