WDC ATS Simulator

Die Simulation von Cash-Hardware erleichtert die Anwendungsentwicklung

Mit Web Device Controller (WDC) stellt S&N seit längerem ein Produkt bereit, das es erlaubt, auf Basis einer strikt fachlich orientierten Schnittstellenspezifikation Geräte in eine Applikation zu integrieren, ohne dass Kenntnisse über die Besonderheiten eines bestimmten Geräts oder seiner technischen Ansteuerung erforderlich wären. Ist die Schnittstelle einmal in eine Applikation integriert, so sind automatisch alle Geräte, die seitens des jeweiligen Herstellers von dieser Schnittstelle unterstützt werden, direkt ohne Anpassung der Applikation verwendbar.
Grundlage dieser Integration ist eine präzise Spezifikation der fachlichen Anforderungen und Abläufe. Als Integrations-Layer werden standardisierte Netzwerktechniken genutzt, bevorzugt WebServices. Ein Gerät, das auf diese Art und Weise integriert wird, präsentiert sich also gegenüber der Anwendung als Web Service.
Zielgruppe für diese Lösung sind vor allem Kundenumfelder, in denen technisch komplexe Peripheriegeräte in eine Applikation zu integrieren sind. Der Schwerpunkt liegt dabei aktuell auf Cash Recycling Geräten, sowohl für Scheine als auch für Münzen, wie sie im Bankenumfeld aber auch im Handelsbereich immer größere Verbreitung finden.

Geräte-Integration implementieren ohne Zugriff auf echte Hardware

Auch diese Art der Integration, die aufgrund der Netzwerkorientierung ohne eine „echte" API auskommt und damit unabhängig von der verwendeten Programmiertechnik ist, muss in jeder Anwendung, die sie nutzen will, zunächst integriert werden. Dazu gehört Üblicherweise, dass ein Gerät, dessen Ansteuerung implementiert werden soll, auch all den Entwicklern zur Verfügung steht, die diese Integration durchführen, da ansonsten eine Ergebnis- und Qualitätskontrolle nicht möglich wäre.
Ein Manko ist, dass insbesondere die Cash Recycling Systeme recht teuer und in der Regel nur schwierig zu transportieren sind. Es ist somit von der Aufwandsbetrachtung her nicht machbar, jedem Entwickler und jedem QA-Mitarbeiter, der am Integrationsprozess beteiligt ist, den entsprechenden Satz von Geräten bereitzustellen. Denn in der Regel wird nicht ein einzelner Gerätetyp integriert, vielmehr handelt es sich oft um ein Set von Geräten, die im Rahmen eines Großprojekts zum Einsatz kommen sollen. Die Tatsache, dass Projekte heutzutage in räumlich sehr verteilten Arbeitsumgebungen realisiert werden, muss hier ebenfalls ins Kalkül gezogen werden.
Web Device ControllerGenau hier setzt das Produkt WDC Simulator an. Mit dem WDC Simulator werden innerhalb einer WDC Infrastruktur die zu integrierenden Geräte in Form einer Dialoganwendung simuliert. Die Dialoganwendung visualisiert dabei den aktuellen Zustand des simulierten Geräts, am Beispiel der Cash Recycling Geräte etwa die aktuelle Konfiguration von Geldbehältern und verarbeitbaren Noten und Münzen sowie den aktuellen Bestand. Dialogfunktionen bieten die Möglichkeit, die Bedienung der Geräte nachzubilden, etwa das Einlegen konkreter Noten- und Münzstückelungen in einem Einzahlvorgang oder die Entnahme von ausgezahltem Geld bei einem Auszahlvorgang.
Hier ein Beispiel einer Simulator GUI für einen Noten-Recycler:

Nur das Gerät wird simuliert, NICHT die Schnittstelle oder die Business Logik

Ganz wesentlich an diesem Simulationskonzept ist, dass nicht die WDC Lösung als Ganzes, sondern nur innerhalb des Standardprodukts WDC ein bestimmtes Gerät simuliert wird. Die Schnittstelle, mit der die Anwendung kommuniziert und auch die in WDC abgebildete Business Logik, die die Geschäftsprozesse gemäß Spezifikation abbildet, werden weiterhin durch das Basisprodukt abgebildet. Auch infrastrukturelle Besonderheiten, wie etwa die Einbindung in hauseigene Security- oder Service-Konzepte des jeweiligen Kundenumfeldes, können somit vollständig implementiert und verprobt werden – ohne „echte" Cash-Hardware.

Anpassung des Geräteverhaltens per Konfiguration

Unterschiedliche Geräte bringen unterschiedliche Hardwaremöglichkeiten und damit unterschiedliches Verhalten im Rahmen einer Transaktionsabwicklung mit sich. Gegenüber der Kassenanwendung stellt sich dies zwar in einer einheitlichen Schnittstellenabbildung dar, trotzdem muss überprüft werden, ob alle realistischen Ablaufvarianten in der Anwendung auch berücksichtigt sind. Deshalb ist es möglich, durch einfache Konfiguration per XML-Datei den WDC Simulator auf die Ausstattungsmerkmale und Ablaufeigenschaften eines ganz bestimmten zu simulierenden Geräts anzupassen. Da es von diesen Konfigurationen eine Vielzahl geben kann, die alternativ verwendet werden, ist es also möglich, in einer Simulationsumgebung einen kompletten „Gerätepark" gleichzeitig für Test- und Integrationsarbeiten zur Verfügung zu stellen.

Architektur

Beteiligte Komponenten

WebATS SimulatorDie Gesamtlösung WDC ATS Simulator besteht aus bis zu 4 Komponenten, deren Zusammenspiel das Schaubild verdeutlicht.
Der WDC Kernel entspricht ohne Veränderungen dem Standard Produkt Web Device Controller (WDC). Wie man dem Schaubild entnehmen kann, besteht das Standardprodukt neben dem eigentlichen Kernel, in dem Applikations-Kommunikation, Security und Business Logik abgewickelt werden, aus einer Reihe von so genannten Device Adaptern, mit denen einzelne Geräte angebunden werden.
Innerhalb des Kernels gibt es eine interne Standardschnittstelle, über die die Device Adapter vom WDC Kernel angesteuert werden. Die notwendige Abstraktion zwischen den herstellerspezifischen Geräteansteuerungen und dem WDC Kernel findet in diesen Device Adaptern statt.
Für den WDC ATS Simulator wurde nun ein Device Adapter erstellt, der Gerätefunktionen für eine GUI abbildbar macht. Wie man dieser Einordnung entnehmen kann, ist damit auch für den WDC Kernel nicht erkennbar, dass es sich bei dem verwendeten Gerät um eine Simulation handelt. Das Geräteverhalten entspricht damit exakt dem eines echten Geräts.
Der Device Adapter „Simulator" bildet innerhalb des WDC Kernels die eigentliche logische Repräsentation eines simulierten Geräts. Er sorgt auch dafür, dass zu einer Zeit nur eine GUI-Sitzung, unabhängig ob Java-GUI oder Web Simulator Service, auf einem Gerät ausgeführt wird.
Der Java GUI Simulator ist eine Implementation der WDC ATS Simulation auf Basis einer in Java implementierten GUI. Diese GUI-Implementation kommuniziert direkt per Netzwerk mit dem JMS Broker.
Die Simulator-Gerätekonfigurationen sind in der Installationsumgebung der Java-GUI abgelegt und werden nur von dieser referiert.
Für jedes zu simulierende Gerät ist eine eigene Instanz der Java-GUI zu starten. Es können beliebig viele Simulations-GUIs parallel in der gleichen Umgebung gestartet werden, lediglich begrenzt durch die verfügbaren System-Ressourcen.
Der Web Simulator Service ist eine Implementation der WDC ATS Simulation auf Basis eines Webservers. Die eigentliche GUI wird hier durch einen Browser repräsentiert, der auf den Web Simulator Service als Webserver zugreift. Mit dem Web Simulator Service können parallel beliebig viele Simulations-Sessions angeboten werden, lediglich begrenzt durch die verfügbaren System-Ressourcen. Eine Restriktion ergibt sich lediglich bei Nutzung der Schnittstellenspezifikation 2.0.

Simulierte Geräte

Die aktuell vorliegende Version des Web ATS Simulators erlaubt es NICHT, beliebige Geräteeigenschaften zu einem fiktiven Gerät individuell zu konfigurieren, sondern folgt vielmehr der Philosophie, dass Geräte simuliert werden sollen, die auch real existieren.
Deshalb werden mit der Simulator-Software vorbereitete Gerätekonfigurationen ausgeliefert, die als reale Geräte existieren und von WDC unterstützt werden. Dies bezieht sich nicht nur auf Gerätetypen, sondern auch auf deren spezifischer Hardware-Konfiguration in verschiedenen Projekten.
Aktuell können folgende Geräte als Simulation bereitgestellt werden:

  • Notenrecycler Wincor Nixdorf ProCash6100xe
  • Notenrecycler Wincor Nixdorf Cineo 6010, 6020, 6030, 6040, 6050
  • Notenrecycler Glory RBG200
  • Münzrecycler Wincor Nixdorf iCash15e + Cineo1020
  • Münzrecycler Glory CI10C

Weitere Konfigurationen können bei Bedarf durch S&N erstellt und zur Verfügung gestellt werden.

Deployments für verschiedene Einsatzgebiete

Gerätesimulationen können an verschiedenen Stellen und in unterschiedlichen Phasen des Entwicklungsprozesses zum Einsatz kommen. Der WDC Simulator wird daher in mehreren Bereitstellungsversionen angeboten – zugeschnitten auf die Anforderungen der jeweiligen Umgebung.

Developer-Deployment für Windows Workstations

Zur Unterstützung der Entwicklungsarbeit ist es für die Entwickler vorteilhaft, unmittelbaren Zugang zu allen Features der WDC Entwicklungsumgebung zu haben. Hierzu ist es möglich, den WDC Simulator zusammen mit den erforderlichen Komponenten des Basisprodukts als Stand-Alone Installation auf einem windows-basierten Entwicklerarbeitsplatz oder einem im Entwicklungsumfeld verfügbaren adäquaten System zu installieren.

Controller-Deployment mit lokaler oder Remote-GUI

Diese Deployment Variante integriert sich in das Kundenumfeld wie ein „echtes" Cash-Gerät, d.h. die Installation erfolgt auf einer Controller-Hardware, wie sie auch von den Gerätelieferanten im Roll Out der Geräte verwendet wird. Dieser Controller wird in das Kundenumfeld auf gleiche Art und Weise integriert wie dies auch bei einem Echtgerät erfolgen würde. Nur die Gerätekonfiguration im WDC wird an den Simulator angepasst.

Controller-Deployment mit web-basierter GUI

Diese Variante entspricht vom Deployment her der zuvor beschriebenen Variante. Allerdings wird hier auf Seiten des Nutzers keine zu installierende Komponente benötigt, sondern es genügt ein Browser zum Zugriff auf eine spezielle URL auf dem WDC Controller. Der Nutzer hat hier keinen direkten Zugriff auf die Konfiguration, benötigt aber auch keine eigenen Installationskomponenten.

Ansprechpartner: Thomas Vogel; Turn on Javascript!