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 |
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). Außerdem muss ein Ja/Nein-Feld exitieren, welches die Festlegung einer Basiswährung (hier: EUR) ermöglicht. Es ist möglich und vorgesehen, die Währung aus dem Currency-Nuclet zu nutzen. |
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.
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
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)
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 |
| CurrencyFacade | konkrete Ausprägung für Datenbankzugriffe auf eine Währungsentität | |
| CurrencyFacadeFactory | Factory-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.wrapper | AbstractCurrencyWrapper | Wrapper-Objekt für Schnittstellendefinition auf Währungsentität |
| CurrencyWrapper | konkrete 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.
Die Integration des MT940-Nuclets erfolgt in 5 Schritten:
Download
Nuclet-Import
Objektimporte anlegen
Objektimporte ausführen
Anpassungen im Entitäten-Wizard
Alle Integrationschritte werden im folgenden im Detail erläutert.
Schritt 1: Download
Download der ZIP-Datei „Currency-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 „Currency-v1.0.0.nuclet“
Schritt 3: Objektimporte anlegen
Objektimporte („Konfiguration“ > „Import & Export“) anlegen zu den Strukturdefinitionen „Currency“ und „Currency Converter“. Dazu können die mitgelieferten CSV-Dateien „Currency.csv“ und „Currency_Converter.csv“ (zu finden im Unterverzeichnis „data“ der ZIP-Datei) verwendet werden.
Achtung: Es besteht eine Abhängigkeit zwischen „Currency Converter“ und „Currency“; die Währungen („Currency“) müssen vor dem Währungsrechner („Currency Converter“) importiert werden. |
Hinweis: Die CSV-Dateie „Currency.csv“ umfasst 34 Stammdatensätze. Das sind alle Währungen, die aktuell von der EZB-Schnittstelle unterstützt werden. Sollten Sie für einige Währungen darunter keine Verwendung in Ihrer Anwendung haben, dann löschen Sie diese Datensätze bitte einfach nach dem Import. Nicht vorhandene Währungen werden bei der Aktualisierung über die EZB-Schnittstelle nicht berücksichtigt. |
Schritt 4: Objektimporte ausführen
Die in Schritt 3 angelegten Objektimporte ausführen, so dass alle notwendigen Stammdaten im System sind.
Schritt 5: Anpassungen im Entitäten-Wizard
Bitte verwenden Sie die Währungs-Entität („Currency“) in den Entitäten, in denen Währungsbeträge enthalten sind. Wenn noch keine Währung als Attribut-Referenz in Ihrem Nuclos-System vorhanden ist, dann genügt es die Währung als zusätzliches Attribut hinzunehmen. Sollten Sie bereits eine eigene Entität nutzen, die Währungen abbildet, dann ist die Integration des Nuclets nur mit einem Mehraufwand zu realisieren.
Einrichten der Jobsteuerung
Öffnen der Jobsteuerung „ECB Exchange Rates“ unter „Administration“ > „Jobsteuerung“
Konfiguration von Startdatum, Startzeit, Intervall, E-Mail-Benachrichtigung und Optionen zum Löschen des Log-Infos.
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
Die importierten Daten werden in der Entität für Wechselkursee („Exchange Rate“) gespeichert.
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.
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.
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):
allemeine Einstellungen für Entitäten unter „Administration“ > „Benutzergruppen“
statusabhängige Einstellungen für Attribute/Attributgruppen unter „Konfiguration“ > „Statusmodell“
datensatzspezifische Einstellungen unter „Konfiguration“ > „Datenquellen“ > „Datensatzfreigabe“
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.
| Version | Datum | Typ | Änderungen |
|---|---|---|---|
| 1.0.0 | 12.03.2013 | initiale Version | - |
| 1.0.1 | 24.04.2013 | Fehlerkorrekturen |
|
