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

Unterschiede anzeigen Seitenhistorie anzeigen

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

Nuclet für Währungsumrechnungen und Wechselkursfunktionalität

 

Name:Exchange Rates
Package:org.nuclet.exchangerates
Namensraum:EXR
Version:1.0.0
Datum:12.08.2013

Voraussetzungen

Das Wechselkurs-Nuclet beinhaltet keine Währungsentität mehr. Eine Währungsentität muss im Ziel-Nuclet also existieren oder im Rahmen einer Integration angelegt werden. Zwingend notwendig für diese Währungsentität ist, dass ein Attribut existiert, in dem der dreistellige ISO-4217-Währungscode als Identifizierungsmerkmal gespeichert wird (siehe dazu auch Wikipedia). Weitere Voraussetzungen an die Währungsentität entnehmen Sie bitte dem Abschnitt "Integration" auf dieser Seite.

Es ist möglich und vorgesehen, die Währung aus dem Currency-Nuclet zu nutzen.

 

Überblick


Kurzbeschreibung

Das Wechselkurs-Nuclet bietet die Möglichkeit

  • Wechselkurse zu pflegen

  • Währnungsbeträge von einer Währung in eine andere zu konvertieren

  • Wechselkurse über eine Schnittstelle bei der Europäischen Zentralbank (EZB) täglich aktualisieren zu lassen

Das Wechselkurs-Nuclet war bislang mit dem Währungs-Nuclet ("Currency") gebündelt, die Währungsentität wurde nun von der Wechselkursfunktionalität getrennt.

Das Wechselkurs-Nuclet ist geeignet, mit allen Währungsentitäten im Zusammenspiel zu funktionieren.

 

Nuclet-Bestandteile

Das Currency-Nuclet umfasst im Rahmen der .nuclet-Datei

  • zwei Entitäten (für Wechselkurse und einen Währungsrechner),

  • zwei Layouts,

  • diverse Java-Regeln (verteilt auf Packages),

  • zwei Jobsteuerungen (zur Steuerung des EZB-Schnittstelle einerseits, für Tests andererseits),

  • eine Strukturdefinition (für den Import von Stammdaten) und

  • eine Nuclet-Abhängigkeit.

Darüberhinaus werden in der ZIP-Datei folgende Komponenten mitgeliefert:

  • eine CSV-Datei für Objektimporte

 

Typ

Name, englisch

Name, deutsch

Kurzbeschreibung

Entität

Currency Converter

Währungsrechner

 

 

Exchange Rate

Wechselkurs

 

Layout

Currency Converter

 

Layout für Entität „Currency Converter“

 

Exchange Rate

 

Layout für die Entität „Exchange Rate“

Java-Package

org.nuclet.exchangerates.facade

 

Java-Regeln für Datenbankzugriffe je Entität

 

org.nuclet.exchangerates.job

 

Java-Regeln zur Steuerung von Jobs („Jobsteuerung“)

 

org.nuclet.exchangerates.logic

 

Geschäftslogik

 

org.nuclet.exchangerates.rule

 

Regeln für Insert-,Update- und Delete-Events

 

org.nuclet.exchangerates.test

 

Java-Regeln zur Steuerung von Tests

 org.nuclet.exchangerates.wrapper Wrapper-Klassen als Nuclet-Schnittstelle

 

org.nuclet.exchangerates.xml

 

XML-Parserfunktionalität für die EZB-Schnittstelle

Jobsteuerung

Currency Converter Test

 

Test-Job für Währungskonvertierungen

 

ECB Exchange Rates

 

Fristenjob für die Aktualisierung von Wechselkursen

Strukturdefinition

Currency Converter

 

Importstruktur für Entität „Currency Converter“

Nuclet-Abhängigkeit

org.nuclet.Common

 

allgemeine Helferfunktionalität

Objektimport

Currency_Converter.csv

 

Stammdatensätze für Entität „Currency Converter“

Tabelle 1: Nuclet-Bestandteile


Java-Package-Struktur

Die Java-Regeln sind in sieben Packages unterteilt:

  • Regeln für maskengesteuerte Events (org.nuclet.exchangerates.rule)

  • Regeln zur Steuerung von System-Jobs (org.nuclet.exchangerates.job)

  • Regeln für die Geschäftslogik (org.nuclet.exchangerates.logic)

  • Fassaden-Klassen für die Ausführung von Datenbankabfragen je Enität (org.nuclet.exchangerates.facade)

  • Regeln zum Einlesen und Verarbeiten von MT940-Dateien (org.nucletexchangerates.xml)

  • Regeln für die Ausführung von Tests (org.nuclet.exchangerates.test)

  • Wrapper-Klassen als Nuclet-Schnittstelle (org.nuclet.exchangerates.wrapper)

Die Abhängigkeiten der Packages sind in der folgenden Abbildung veranschaulicht.

 



Das Wechselkurs-Nuclet ist Java-seitig voll funktionsfähig. Hier eine Übersicht über die auf die einzelnen Packages verteilten Java-Klassen:

 

Java-Package

Java-Klasse

Kurzbeschreibung

org.nucket.exchangerates.facade

AbstractCurrencyFacade

Schnittstellendefinition für Datenbankzugriffe auf eine Währungsentität

 CurrencyFacadekonkrete Ausprägung für Datenbankzugriffe auf eine Währungsentität
 CurrencyFacadeFactoryFactory-Klasse für die CurrencyFacade

 

ExchangeRateFacade

Datenbankzugriffe auf die Entität „Exchange Rate“

org.nuclet.exchangerates.job

EcbExchangeRateImporter

Importer-Klasse für die EZB-Schnittstelle

 

EcbExchangeRatesJob

Job für den Aufruf des EZB-Schnittstellenimports

org.nuclet.exchangerates.logic

CurrencyConverterLogic

Logik für Währungskonvertierungen

 

CurrencyLogic

Validierungslogik für Währungen

org.nuclet.exchangerates.rule

ConvertCurrencyAmount

Konvertierung in der Währungsrechner-Maske

 

ValidateBaseCurrency

Validierungen hinsichtlich der Existenz einer Basis-Währung

 

SwapCurrencies

Währungstausch (Basis- und Zielwährung) in der Währungsrechner-Maske

org.nuclet.exchangerates.test

CurrencyConverterTest

Test-Klasse zum Testen von Währungskonvertierungen

 

CurrencyConverterTestJob

Job zum aufruf des Tests von Währungskonvertierungen

org.nuclet.exchangerates.wrapperAbstractCurrencyWrapperWrapper-Objekt für Schnittstellendefinition auf Währungsentität
 CurrencyWrapperkonkrete Implementierung des Wrapper-Objektes für Währungen

org.nuclet.exchangerates.xml.sax

EcbExchangeRate

Wrapper-Klasse für den Import über die EZB-Schnittstelle

 

EcbExchangeRateHandler

XML-Handler für die EZB-Schnittstelle

Tabelle 2: Java-Package-Struktur

 

Anwendungsspezifische Anpassungen sollten in den Java-Regeln i.A. nicht notwendig sein.


Integration

 

Notwendige Schritte zur Integration

Die Integration des Wechselkurs-Nuclets erfolgt in 10 Schritten:

  1. Download

  2. Nuclet-Import

  3. Anlegen einer Währungsentität oder Import des Currency-Nuclets
  4. Anpassungen im Entitäten-Wizard
  5. Objektimport anlegen

  6. Objektimport ausführen

  7. Zuordnung von Regeln im Regelmanagement

  8. Anpassungen in den Java-Regeln
  9. Layout-Anpassungen
  10. aktuelle Wechselkurse einlesen

Alle Integrationschritte werden im folgenden im Detail erläutert.

 

Schritt 1: Download

Download der ZIP-Datei „ExchangeRates-v1.0.0.zip“ auf der Nuclos-Webpage unter „Nuclos Services“ > „Download“ > „Nuclet Download“. Das ZIP anschließend lokal entpacken.

 

Schritt 2: Nuclet-Import

Import des MT940-Nuclets unter „Konfiguration“ > „Nuclet Management“ > „Importieren“ in Ihre bestehende Nuclos-Instanz, Auswahl der Datei „ExchangeRates-v1.0.0.nuclet“

Meldungen beim Import

Beim Import werden Warnhinweise erscheinen, weil die Währungsentität als Referenzentität in den Entitäten "Wechselkurs" und "Währungsrechner" fehlt. Dazu mehr im Schritt 4.

 

Schritt 3: Anlegen einer Währungsentität oder Import des Currency-Nuclets

Voraussetzung für das Funktionieren des Wechselkurs-Nuclet ist die Existenz einer Währungsentität mit folgenden Pflichtfeldern:

AttributFunktionUmsetzung im Currency-Nuclet
ISO-4217-CodeIdentifizierung der Währung über den dreistelligen Währungscode (siehe Wikipedia)iso4217Code
Anzahl der Nachkommastellendie Anzahl der Nachkommastellen des Währungssystems bestimmen die Nachkommastellen der WechselkursenumberOfDigits
Basiswährung?Definition einer system-eindeutigen Basiswährung (hier: EUR)isBaseCurrency

Die Währungsentität "Currency" im Currency-Nuclet genügt diesen Voraussetzungen.

 

Schritt 4: Anpassungen im Entitäten-Wizard

Über den Entitäten-Wizard muss dann die tatsächlich genutzte Währungsentität als Referenzentität in die Attribute "Basiswährung" und "Zielwährung" der beiden Entitäten "Wechselkurs" und "Währungsrechner" eingetragen werden.

 

Schritt 5: Objektimporte anlegen

Objektimport („Konfiguration“ > „Import & Export“) anlegen zur Strukturdefinition „Currency Converter“. Dazu kann die mitgelieferte CSV-Dateien „Currency_Converter.csv“ (zu finden im Unterverzeichnis „data“ der ZIP-Datei) verwendet werden.

 

Achtung: Voraussetzung ist die Existenz der zwei Währungen EUR und USD.

 

 

 

 

 

Schritt 7: Zuordnung von Regeln im Regelmanagement

Über das Regelmanagement muss die Java-Regel ValidateBaseCurrency der tatsächlich genutzten Währungsentität zugeordnet werden:

QuellnucletRegeltypRegelZielnucletEntität
ExchangeRatesAktualisierenValidateBaseCurrencydas Nuclet, in dem die tatsächlich von Ihnen genutzte Währungsentität liegtihre eigene Währungsentität
ExchangeRatesAnlegenValidateBaseCurrencydas Nuclet, in dem die tatsächlich von Ihnen genutzte Währungsentität liegtihre eigene Währungsentität
ExchangeRatesLöschenValidateBaseCurrencydas Nuclet, in dem die tatsächlich von Ihnen genutzte Währungsentität liegtihre eigene Währungsentität


Schritt 8: Anpassungen in den Java-Regeln


Schritt 9: Layout-Anpassungen

Im Layout "Currency" können Sie die Wechselkurse als Unterformular einbinden.


Schritt 10: aktuelle Wechselkurse einlesen

Über den Job ECB Exchange Rates lassen sich nun die aktuell gültigen Wecheselkurse einlesen. Es werden nur diejenigen Währungen berücksichtigt, die im System vorliegen.

Nutzung


Einrichten der Jobsteuerung

  1. Öffnen der Jobsteuerung „ECB Exchange Rates“ unter „Administration“ > „Jobsteuerung“

  2. Konfiguration von Startdatum, Startzeit, Intervall, E-Mail-Benachrichtigung und Optionen zum Löschen des Log-Infos.

  3. Jobsteuerung aktivieren, falls der Job im konfigurierten Rhythmus automasiert ausgeführt werden soll. Alternativ lässe sich der Job über die Jobsteuerung auch manuell ausführen.

 

Betrieb

  1. Die importierten Daten werden in der Entität für Wechselkursee („Exchange Rate“) gespeichert.

  2. Die Masken für Währungen und Wechselkurse sind unter dem Menüpunkt „Wechselkurse“ zu finden. Dies ist über den Entitäten-Wizard jederzeit zu ändern.

  3. Der Währungsrechner ist ebenfalls unter dem Menüpunkt „Wechselkurse“ zu finden. Sollten Sie ihn nicht nutzen wollen, dann können Sie ihn über den Entitäten-Wizard aus dem Menü entfernen.

  4. Das Nuclet ist zur Zeit so eingestellt, dass alle Wechselkurse in der Basiswährung des System angezeigt werden. Da die Aktualisierung über die EZB-Schnittstelle läuft, ist der Euro (EUR) als Basiswährung hinterlegt. Sie können das Nuclet auch leicht so einstellen, dass in jeder Währung der Wechselkurs zum Euro angezeigt wird: Dazu öffnen Sie das Layout „Currency“ und tauschen den eingetragenen Wert im Feld „Fremdschlüssel“ (Unterformular „Exchange Rates“) von „baseCurrency“ auf „counterCurrency“.

Einrichten von Benutzerrechten (optional)

Zugriffsrechte für existierende Benutzergruppen für Layouts, Entitäten, Attribute und Attributgruppen können in Nuclos wie üblich über drei Wege festgelegt werden (siehe dazu http://wiki.nuclos.de):

  1. allemeine Einstellungen für Entitäten unter „Administration“ > „Benutzergruppen“

  2. statusabhängige Einstellungen für Attribute/Attributgruppen unter „Konfiguration“ > „Statusmodell“

  3. datensatzspezifische Einstellungen unter „Konfiguration“ > „Datenquellen“ > „Datensatzfreigabe“

Tests

 

  • Für einfache Tests von Währungskonvertierungen steht die Währungsrechner-Maske zur Verfügung.

  • Für erweiterte Tests von Währungskonvertierungen nutzen Sie bitte die Klasse org.nuclet.currency.test.CurrencyConverterTest. Diese können Sie auch gerne auf Ihre eigenen Bedürfnisse anpassen und erweitern. Die Klasse wird vom org.nuclet.currency.test.CurrencyConverterTestJob aufgerufen, und dieser lässt sich über die Jobsteuerung „Currency Converter Test“ bei Bedarf (am besten manuell) ausführen.

 

 

Versionen

 

VersionDatumTypÄnderungen
1.0.012.08.2013initiale VersionTrennung von Wechselkursfunktionalität und Währungsentität aus Currency-Nuclet

 

 

  • Keine Stichwörter