OrderSprinter ist eine Webapplikation, die auf einem üblichen WAMP oder LAMP-System installiert werden kann (WAMP = Windows-Apache-MySQL-PHP, LAMP = Linux-Apache-MySQL-PHP). Die meisten Homepage-Anbieter realisieren ihr Angebot über eine solche Infrastruktur, wenngleich die technischen Details oft nicht explizit so aufgeführt werden, um den Kunden nicht mit allzu vielen technischen Begriffen abzuschrecken.

Statt des Apache-Webservers kann auch fast jeder andere Webserver eingesetzt werden. Wichtig ist, dass auf der Serverseite PHP ausgeführt werden kann. Zur Zeit (Stand April 2017) teste ich meine Software stets mit PHP in der Version 5.6, da diese noch am weitesten verbreitet ist. PHP 7 ist bereits seit einiger Zeit ebenso verfügbar und verspricht eine bessere Performanz. Ich habe viele Anpassungen vorgenommen, um OrderSprinter auch mit PHP 7 kompatibel zu machen, jedoch ist es mir zeitlich nicht möglich, jede Softwareänderung stets mit allen PHP-Versionen zu testen. Daher beschrönle ich den Fokus noch auf die Version 5.6. Sobald die meisten kommerziellen Provider auf PHP 7 umgestiegen sind, werde auch ich den Fokus auf PHP 7 legen.

Die Daten werden in einer Datenbank gespeichert. Üblicherweise stellen Webhoster MySQL- oder MariaDB-Datenbanken bereit, die miteinander weitgehend kompatibel sind. Wie bereits im vorangegangenen Abschnitt erklärt gehören diese Voraussetzungen zum Standard-Setup eines kommerziellen Webpakets. Ebenso ist es natürlich möglich, die Software auf einem privaten WAMP-/LAMP-System zu hosten. Sogar ein Raspberry Pi für etwa 40 Euro ist ausreichend, allerdings empfehle ich für einen produktiven Betrieb eine schnellere Hardware auf der Serverseite.

Als Endgeräte kommen alle Geräte mit einem kompatiblen Internetbrowser in Frage. Bisher habe ich keinen PC und kein Android-Gerät oder iPhone gesehen, welches nicht mit OrderSprinter klar kam. Schnelle Geräte helfen bei der flüssigen Bedienung.


Aus diesen Komponenten besteht die Software


Es wird zum Einsatz eines Printservers geraten, wenngleich auch (noch) der Druck auf lokal angeschlossenen Bediengeräten möglich ist - lokales Printen werde ich in Zukunft jedoch nicht mehr unterstützen. Den Printserver gibt es in zwei Varianten: als Windows-Programm und als Java-Printserver für den Einsatz auf LINUX-Systemen. Die Printserver kommunizieren mit dem Webserver über das normale http-Protokoll. Die Bondrucker müssen über den Printserver direkt angesprochen werden können.

Der Windows-Printserver kann mehrere Drucker bedienen und benutzt den Druckertreiber, d.h. die Anschlussart ist egal. Allerdings rate ich dringend zu kabelgebundenen Druckern, da eine instabile Drahtlos-Kommunikation zu Mehrfachdrucken führen kann. Der Windows-Printserver besitzt eine grafische Benutzeroberfläche, kann aber auch automaisch beim Systemstart ohne Darstellung der Oberfläche gestartet werden.

Eine Javaprinter-Instanz (man kann mehrere Instanzen auf dem gleichen Rechner starten) kann jeweils einen über USB angeschlossenen Bondrucker bedienen. Da der Javaprinter ein sehr leichtgewichtiges Programm ist, läuft er auch auf sehr langsamer Hardware, z.B. einem Raspi. So lassen sich auch weit entfernte Drucker über einen Raspi (der über WLAN mit dem Webserver kommuniziert) anbinden.

Es ist wichtig, die Druckserver so einzustellen, dass sie sich jeweils nicht die einzelnen Druckjobs wegschnappen, d.h. eine genaue Zuordnung ist für einen stabilen Betrieb zwingend erforderlich, wenn mehrere Druckserver zum Einsatz kommen sollen.

Stefan Pichel, April 2017