CUPS ist ein modulares Open-Source-Drucksystem für Unix-artige Betriebsumgebungen, in denen ein Computer als Druckserver dienen kann. Es kann Druckaufträge von Client-Computern annehmen, diese verarbeiten und dann an den entsprechenden Drucker senden. CUPS ist in vielen Linux-Distributionen enthalten und dient derzeit als grundlegende Druckfunktion in der Apple Macintosh-Plattform. Das Programm hat nur eine Aufgabe, und die erledigt es ganz gut. Der Anfang vom Ende ist jedoch, wenn es versucht, gleich alles für alle Leute zu sein.
Das früher als Common Unix Printing System bekannte Programm CUPS ist ein vergleichsweise einfaches, unkompliziertes Dienstprogramm, das über Filter angepasst werden kann. Es besteht im Groben aus zwei Bereichen: einem CUPS-Server und einem CUPS-Client, die auf dem gleichen Gerät ausgeführt werden können, aber nicht müssen. Der CUPS-Client bildet im Grunde den Transportmechanismus, der Aufträge und Benachrichtigungen zwischen dem Benutzer und dem Server hin- und herüberträgt. Der CUPS-Server kümmert sich um die Warteschlangen, Druckerstati und die Wiedergabe mit unterschiedlichen PDLs (Page Description Languages) und Nachbearbeitungsfunktionen. Wenn Sie die internen Vorgänge des CUPS-Servers und CUPS-Clients ausreichend kennen, können Sie Filter formulieren, um unzählige Aufgaben durchzuführen. Ein Beispiel für einen Filter, den ich selbst einmal erstellt habe, finden Sie in folgendem Video:
https://www.youtube.com/watch?v=WzEhKs_CvJc/
ann können Sie CUPS also einsetzen bzw. wann ist es sinnvoll, eine Enterprise-Drucklösung wie das LRS VPSX-Produkt in Betracht zu ziehen? Das hängt von verschiedenen Faktoren ab, darunter der Größe und Komplexität Ihrer Drucklandschaft sowie der Fähigkeit Ihres Support-Teams, Skripts zu entwickeln und anzupassen. Um den Serverdruck über CUPS zu konfigurieren, steht Ihnen eine Weboberfläche zur Verfügung. Diese ermöglicht jedoch nur die Konfiguration des Kernbereichs der Warteschlangen sowie einiger Warteschlangenfunktionen. Ein Großteil der Umgebung muss von Hand erstellt oder manuell konfiguriert werden. Dies erfordert ein umfassenderes Fachwissen als für Enterprise-Outputlösungen wie die LRS VPSX®-Software benötigt wird, die nämlich über webbasierte Bildschirme verfügt, in denen Sie die meisten Verwaltungs- und Anpassungsfunktionen ausführen können.
CUPS ist nicht geeignet, wenn Sie Druckfunktionen verschiedener uneinheitlicher Systeme verwalten müssen, die alle über ihre ganz eigenen kleinen Abweichungen verfügen. In diesen Situationen zeigt sich der wahre Wert von Lösungen wie der LRS VPSX-Software. Nehmen wir ein Beispiel, das ich „Dorf am Fluss“ nennen möchte.
Am Fluss liegt ein Dorf, das bei Touristen beliebte Souvenirs herstellt. Auf der anderen Seite des Flusses befindet sich eine größere Stadt, die von Touristen besucht wird und in der die Dorfbewohner ihre Waren verkaufen. Es führt ein ca. 16 km langer gepflasterter Weg um den Damm herum zur Stadt. Es gibt jedoch auch eine schmale Fußgängerbrücke über den Fluss, die nur 30 m lang, aber auch nur 1 m breit ist. Manchmal ist es mitunter sinnvoller, die Waren zu Fuß über die Brücke zu transportieren, beispielsweise wenn nur eine geringe Menge an Souvenirs aus einem einzelnen Laden im Dorf an eine Person in der Stadt geliefert werden soll. Wenn jedoch ein Laden in der Stadt viele Waren von mehreren Herstellern benötigt, um sein Lager aufzufüllen, und die Zustellung ungeachtet des Wetters zu einer vorhersehbaren Zeit erfolgen soll, ist es sinnvoller, den gepflasterten Weg zu gehen. Die „beste“ Lösung hängt also davon ab, wie viel Last wie oft transportiert werden soll.
Mark Twain sagte einst: „Wenn dein einziges Werkzeug ein Hammer ist, wirst du jedes Problem als Nagel betrachten.“ Ein Linux CUPS-Server kann in vielen Situationen ein effektiver Hammer sein. Früher oder später kommt jedoch der Moment, in dem ein Schraubenzieher das beste Werkzeug für die Aufgabe ist. Zu diesem Zeitpunkt sollten Sie nicht versuchen, eine Lösung mit Gewalt anzuwenden, obwohl sie nicht passt. Letztendlich verbringen Sie mehr Zeit damit, die Lösung am Laufen zu halten und an unterschiedliche Szenarien anzupassen, für die sie eigentlich gar nicht gedacht war.
Gehen Sie bei der Recherche Ihrer Druckanforderungen sorgfältig vor. Die Lösung, für die Sie sich entscheiden, bleibt wahrscheinlich noch aktiv, nachdem Sie Ihr aktuelles Projekt bzw. Ihre aktuelle Position längst verlassen haben. Zum Abschluss möchte ich Ihnen noch einen meiner Lieblings-Comics zum Thema Projektimplementierung mit auf den Weg geben:
http://projectcartoon.com/.