Nuclet zur Anbindung an die cKonto-Schnittstelle
Name: | cKonto |
---|---|
Package: | org.nuclet.ckonto |
Namensraum: | CKT |
Version: | 1.0.0 |
Datum: | 13.03.2013 |
Überblick
Kurzbeschreibung
Das cKonto-Nuclet bietet die Möglichkeit
Bankverbindungen über die cKonto-Schnittstelle auf Validität zu prüfen
Hinweis: Für die Nutzung der cKonto-Schnittstelle benötigen Sie einen kosfenpflichtigen Account bei der NetSlave GmbH. Weitere Informationen finden Sie unter www.ckonto.de.
Nuclet-Bestandteile
Das cKonto-Nuclet umfasst ein Java-Package mit drei Java-Klassen.
Java-Package-Struktur
Java-Package | Java-Klasse | Kurzbeschreibung |
org.nuclet.ckonto | CkontoCheck | Container-Klasse zur Verarbeitung des cKonto-XMLs |
| CkontoConstants | Konstanten zur Interpretation der Schnittstellenrückgabewerte |
| CkontoUtils | Utility-Klasse mit Validierungsmethoden |
Tabelle 1: Java-Package-Struktur
Integration
Notwendige Schritte zur Integration
Die Integration des cKonto-Nuclets erfolgt in 5 Schritten:
Download
Nuclet-Import
Konfiguration der Systemparaemter (entfällt bis auf weiteres)
Sourcecode-Anpassungen in Java-Regeln des cKonto-Nuclets
Sourcecode-Anpassungen in eigenen Regeln
Alle Integrationschritte werden im folgenden im Detail erläutert.
Schritt 1: Download
Download der .nuclet-Datei „cKonto-v1.0.0.nuclet“ auf der Nuclos-Webpage unter „Nuclos Services“ > „Download“ > „Nuclet Download“.
Schritt 2: Nuclet-Import
Import des cKonto-Nuclets unter „Konfiguration“ > „Nuclet Management“ > „Importieren“ in Ihre bestehende Nuclos-Instanz, Auswahl der Datei „cKonto-v1.0.0.nuclet“
Schritt 3: Konfiguration der System-Parameter
Die Einrichtung der verwendeten Nuclos-Systemparameter über „Administration“ > „Parameter“.
Parameter | Kurzbeschreibung |
---|---|
CKONTO_CHECK | Kennzeichnung, ob eine Kontoprüfung über die cKonto-Schnittstelle erfolgen soll |
CKONTO_KEY | Registrierungsschlüssel |
Tabelle 3: System-Parameter
Anmerkung: Dieser Schritt wird erst in einer zukünfigen Version notwendig, d.h. sobald die neue Nuclos-API das Auslesen von System-Parametern unterstützt. Solange dies nicht der Fall ist, erfolgt die Konfiguration in Schritt 8, durch Anpassung von entsprechenden Konstanten im Java-Code.
Schritt 4: Sourcecode-Anpassungen in den Java-Regeln des cKonto-Nuclets
Java-Package | Java-Klasse | Kurzbeschreibung |
---|---|---|
org.nuclet.ckonto | CkontoUtils | Konfiguration der zwei Konstanten CKONTO_CHECK und CKONTO_KEY |
Tabelle 4: Anwendungsspezifische Anpassungen in Java-Regeln
CkontoUtils
Es ist notwendig, die beiden Konstanten CKONTO_CHECK und CKONTO_KEY für den eigenen Anwendungszweck zu konfigurieren:
CKONTO_CHECK: legt fest, ob eine Kontoprüfung über die cKonto-Schnittstelle erfolgen soll
CKONTO_KEY: definiert den Authentifizierungsschlüssel für die cKonto-Schnittstelle; der Default-Wert für Testzwecke ist „demo“
public class CkontoUtils { private static final String CKONTO_KEY = "demo"; // Authentifizierungsschlüssel private static final String CKONTO_CHECK = "Y"; // Soll eine Kontovalidierung durchgeführt werden? (...) }
Achtung: Die Validierungsmethoden validiereIBAN() und validiereKontoverbindung() der Klasse CkontoUtils validieren die übergebenen Parameter immer, unabhängig vom Wert der Konstanten CKONTO_CHECK. Zur Abfrage, ob eine Validierung tatsächlich erfolgen soll, dient die Methode istKontovalidierungAktiviert() in der selben Klasse.
Anmerkung: Dieser Schritt wird in einer zukünfigen Version entfallen, d.h. sobald die neue Nuclos-API das Auslesen von System-Parametern unterstützt. Sobald dies der Fall ist, wird diese Anpasung über Schritt 7 geregelt (s.o.).
Schritt 5: Sourcecode-Anpassungen in eigenen Regeln
Soll die Validierung von Bankverbindungen über die cKonto-Schnittstelle eingebunden werden, so erfolgt dies über den Aufruf einer der zwei folgenden Methoden der Klasse CkontoUtils:
validiereIBAN(): führt eine Validierung einer IBAN durch
validiereKontoverbindung(): führt eine Valdieriung von Kontonummer und Bankleitzahl durch
Das nun folgende Beispiel dient der Veranschaulichung dieser Einbindung.
(...) org.nuclet.ckonto.CkontoCheck check = null; org.nuclet.ckonto.CkontoConstants.Status status = null; try { // Übergabe einer Kontonummer und einer Bankleitzahl an die cKonto-Validierung... check = org.nuclet.ckonto.CkontoUtils.validiereKontoverbindung(strKontonummer, strBankleitzahl); } catch (javax.xml.bind.JAXBException jaxbe) { // eigene Fehlerbehandlung einsetzen // (...) } catch (java.net.MalformedURLException me) { // eigene Fehlerbehandlung einsetzen // (...) } status = org.nuclet.ckonto.CkontoConstants.Status.valueOf("STATUS_" + Check.getStatus().toString()); if (!org.nuclet.ckonto.CkontoConstants.Status.STATUS_1.equals(status)) { // eigener Code, zur Verarbeitung der Status-Informationen // (...) } (...)