Sie zeigen eine alte Version dieser Seite an. Zeigen Sie die aktuelle Version an.

Unterschiede anzeigen Seitenhistorie anzeigen

« Vorherige Version anzeigen Version 7 Nächste Version anzeigen »

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:

  1. Download

  2. Nuclet-Import

  3. Konfiguration der Systemparaemter (entfällt bis auf weiteres)

  4. Sourcecode-Anpassungen in Java-Regeln des cKonto-Nuclets

  5. 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 2: 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“

     

org.nuclet.ckonto.CkontoUtils
 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 3 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.


1. Sourcecode-Beispiel zur Valdierung
(...)
  
 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
    // (...)
 }

 (...)

Die Enumeration-Klasse CkontoConstants umfasst alle möglichen Rückgabewerte der cKonto-Schnittstelle, so dass eine einfache Einordnung über den Enumeration-Vergleich möglich ist.

 

 

org.nuclet.ckonto.CkontoConstants
public class CkontoConstants
{
    public enum Status 
    {
     STATUS_0(0, "Die Kontonummer ist ungültig, sie kann von diesem Institut nicht vergeben werden."),
     STATUS_1(1, "Die Kontonummer ist gültig, sie kann von diesem Institut vergeben werden."),
        STATUS_2(2, "Fehler bei der Eingabe der Bankleitzahl. Sie ist entweder nicht 8-stellig oder enthält Buchstaben."),
        STATUS_3(3, "Fehler bei der Eingabe der Kontonummer. Sie ist entweder zu lang oder enthält Buchstaben."),
        STATUS_4(4, "Eingabefehler bei der Kontonummer und Bankleitzahl (siehe 2 und 3) oder der IBAN."),
        STATUS_5(5, "Genereller Eingabefehler des Übergabeparameters - enthält evtl. Leerzeichen."),
        STATUS_6(6, "Fehler im Format des Übergabeparameters."),
        STATUS_7(7, "Die Bankleitzahl wurde in der Datenbank nicht gefunden (existiert nicht)."),
        STATUS_8(8, "Die von der Bank verwendete Prüfmethode ist im Demonstrations-Modus nicht verfügbar."),
        STATUS_9(9, "Die Kontonummer kann nicht geprüft werden, da die Bank entweder keine Prüfziffern verwendet oder es sich um eine spezielle Kontonummer handelt.");
 (...)
}

 

 

Soll zusätzlich die Möglichkeit genutzt werden, die Validierung (temporär) zu deaktivieren, dann empfielt es sich, den Validierungsaufruf mit einem Aufruf der Methode istKontovalidierungAktiviert() zu kombinieren.

 

2. Sourcecode-Beispiel zur Validierung
 
  (...)

  if (org.nuclet.ckonto.CkontoUtils.istKontovalidierungAktiviert()) {
      // Führe Valdierung durch, wie im Beispiel zum Validierungaufruf beschrieben
      // (...) 
  }

  (...)

 

Die Validierung lässt sich auf diese Weise einfach über die Konstante CKONTO_CHECK (und später über den entsprechenden System-Parameter, s.o.) an- und ausschalten.

 


  • Keine Stichwörter