TSE

Wie muß man die TSE konkret ansteuern

Die TSE selbst verfügt nur über eine begrenzte Interoperabilität. Während jede 50,- EUR Webcam mittlerweile einen eigenen HTTP-Webserver eingebaut hat, darf man von der TSE nicht zu viel erwarten. Die Firmware der TSE ist eher mit dem BIOS eines PC vergleichbar, hier werden nur rudimentäre Funktionen zur Verfügung gestellt. Damit man mit der TSE kommunizieren kann, bedarf es der Hilfe von zusätzlicher Software (DLL bei Windows, SharedLibraries bei Linux), die der Hersteller bereitstellen muß. Deren Vorhandensein für die entsprechende Plattform/Archtektur ist übrigens der limitierende Faktor bei der Ansteuerung (vergleichbar mit Treibersoftware). Ohne eine solche Bibliothek ist die Ansteuerung schlicht unmöglich! Für die SwissBit-TSE gibt es diese Bibliotheken aktuell für folgende Architekturen:

  • Windows 64 Bit (x64)
  • Windows 32 Bit (x86)
  • Linux 64 Bit (x64)
  • Linux 32 Bit (x86)
  • Linux 32 Bit (ARM)

Die entsprechende Bibliothek für die Plattform ist zwar notwendig, aber noch nicht hinreichend, denn man muß diese auch ansteuern können. Zur Ansteuerung wird ein sogenanntes SDK (Software-Developement-Kit) benutzt. Dieses wird ebenfalls vom Hersteller bereitgestellt und muß in die eigene Software integriert werden. Das SDK wird momentan für folgende Programmiersprachen bereitgestellt:

  • C, C# und C++ (32 und 64 Bit)
  • Java (32 und 64 Bit), Android (32 und 64 Bit)

Da der Quellcode des SDK mit ausgeliefert wird, könnte man dieses zwar aufwendig auf andere Programmiersprachen adaptieren, aber bei jedem Update müßte man hier ggf. wieder nachjustieren.

Was gibt es zu beachten?

Auch wenn die notwendigen Programmierkenntnisse vorhanden und die technischen Voraussetzungen erfüllt sind, gibt es noch einige Fallstricke zu beachten:

  • So muß spätestens aller 25 Stunden ein Selbstest der TSE durchgeführt werden, ansonsten verweigert die TSE den Dienst. Damit das nicht gerade während eines Kassiervorgangs passiert, erlaubt unsere TSE-Middleware diesen Selbsttest in die Nachtstunden zu verlegen.
  • Spätestens aller 30 Minuten muß die Uhrzeit der TSE gestellt werden, das erfordert nach Möglichkeit einen ununterbrochen laufenden Dienst, wie er von unserer TSE-Middleware gewährleistet wird.
  • Windows-PC tendieren dazu (wenn sie nicht in einem Netzwerk mit funktionierendem Zeitserver betrieben werden), manchmal eine falsche Uhrzeit zu haben. Das ist aus zwei Gründen fatal. Einerseits führt das zu "Zeitsprüngen" in der TSE, die später zu Erklärungsbedarf führen, andererseits reicht bereits eine einmalig falsche Uhrzeit aus, um die TSE dauerhaft unbrauchbar zu machen (brick). Beides verhindert unsere TSE-Middleware zuverlässig.

Das SDK bietet keine Funktion, um die Messages der TSE nachzubauen und/oder um die erzeugten Signaturen zu prüfen. Ebensowenig ist es mit dem SDK möglich, die von der TSE exportierten Daten (Tar-Export) lesbar zu machen. Somit befindet man sich in einem gefährlichen Dilemma, da man ohne fremde Software (z.B. AmadeusVerify) die eigene Programmierung nicht testen oder kontrollieren kann. Eine betriebswirtschaftlich so wichtige Komponente ohne Verifizierung auszuliefern bzw. zu bereiben ist aber natürlich suboptimal.

Welche Vorteile bringt Ihnen unsere TSE-Middleware?

  • Durch die TSE-Middleware benötigt man nicht mehr pro Kasse eine TSE, sondern nur noch eine TSE pro Filiale oder Standort. Das kann zu erheblichen Kosteneinsparungen führen.
  • Die TSE-Middleware funktioniert unabhängig von der Kasse und kann an einem geschützten Ort im Netzwerk untergebracht sein.
  • Man muß kein SDK o.ä. in seine Kassenlösung integrieren, sondern die TSE-Middleware wird mit Hilfe von gängigen Socketverbindungen (TCP, opt. HTTP bzw. REST) angesprochen.
  • Die Nutzung der TSE-Middleware ist aus Sicht der Kasse transparent, d.h. man kann die Software der Kasse und/oder der TSE jederzeit unabhängig voneinander anpassen oder austauschen.
  • Da die Ansteuerung der TSE durch die Kasse von der Administration entkoppelt ist und der TSE-Server mit eingeschränkten Rechten läuft, wird die Möglichkeit eines Angriffes auf die TSE stark minimiert.
  • Durch den kontinuierlichen Betrieb der TSE wird der notwendige Selbsttest automatisch (nachts) durchgeführt und es gibt keine "Zeitsprünge".
  • Durch einen eingebauten Sicherheitsmechanismus wird verhindert, daß die Uhrzeit hinter das Zertifikatsende der TSE gesetzt wird.
  • Man kann die von der TSE erzeugten Signaturen und Exporte jederzeit prüfen und so einem Testkauf oder einer Kassennachschau beruhigt entgegensehen.

Wie funktioniert die TSE-Middleware

Die TSE-Middleware-Serverkomponente kann in zwei Betriebsarten betrieben werden:

  • als Netzwerklösung
    Hier wird die Funktion der TSE nicht für jede Kasse lokal an dem jeweiligen Kassen-PC oder -terminal bereitgestellt, sondern an einem zentralen Punkt im Netzwerk. Als Plattform für den TSE-Server dient in diesem Fall vorzugsweise ein vorhandener Server, aber es ist genauso möglich, jede beliebige PC-Hardware oder eine unabhängige Komponente dazu zu verwenden. Der TSE-Server kann dazu neben Linux auch auf jedem 32Bit- oder 64Bit-Windows betrieben werden. Ebenso kann auch der kleine und beliebte RasberryPi (ein billiger Mini-PC auf ARM-Basis) als Plattform für unsere TSE-Middleware dienen.
  • als Einzelplatzlösung
    Dabei wird die TSE-Server-Software direkt auf dem Kassen-PC installiert. Die Ansteuerung erfolgt genau wie bei der Netzwerklösung über Sockets, wobei die Netzwerkadresse "localhost" lautet. Auch hier kann neben Linux (x86 oder ARM) ein 64Bit- oder 32Bit-Windows-PC als Plattform verwendet werden. Die Nutzung von Windows-Serverbetriebssystemen ist natürlich genauso möglich.

 

Weiter zu den FAQ ...