CUPS es un sistema de impresión modular de código abierto para sistemas operativos tipo Unix, que permite a un ordenador actuar como servidor de impresión. Puede aceptar trabajos de impresión desde ordenadores cliente, procesarlos y enviarlos a la impresora adecuada. CUPS está incluido en muchas distribuciones de Linux y actualmente actúa como la función básica de impresión para la plataforma Apple Macintosh. Tiene una sola misión y la hace razonablemente bien. El momento en que empieza a fallar es cuando intenta hacer de todo para todos.
Conocida antiguamente como Common Unix Printing System, CUPS es una función directa bastante básica que puede personalizarse mediante el uso de filtros. En su nivel superior, está formada por dos secciones: un servidor CUPS y un cliente CUPS, que pueden ejecutarse en el mismo dispositivo o no. El cliente CUPS es básicamente el mecanismo de transporte para trasladar los trabajos y las notificaciones entre el usuario y el servidor. El servidor CUPS gestiona todas las colas, estados de impresión y reproducción en diferentes lenguajes de descripción de página (PDL, por sus siglas en inglés), así como las opciones de acabado. Si dispone de suficiente conocimiento del funcionamiento interno del servidor y del cliente CUPS, puede escribir filtros que hagan múltiples tareas, incluyendo uno especial que creé en una vida pasada y compartí en vídeo:
https://www.youtube.com/watch?v=WzEhKs_CvJc/
Entonces, ¿cuándo debe usar CUPS y cuándo es mejor considerar una solución de impresión corporativa como VPSX? Eso depende de factores como el tamaño y la complejidad de su entorno de impresión, así como de la capacidad de su equipo de soporte para desarrollar y personalizar scripts. Para configurar la impresión con el servidor CUPS, la parte principal de las colas y algunas opciones de cola son las únicas que pueden configurarse usando una interfaz web. La mayor parte del entorno debe desarrollarse o configurarse manualmente. Esto requiere un nivel de conocimiento más alto que el necesitado para la administración de una solución de gestión de output corporativa como VPSX®, que proporciona una interfaz web para todas las funciones de administración y configuración.
Cuando tiene que gestionar la impresión desde varios sistemas diferentes, cada uno con sus propias particularidades, es cuando CUPS se queda corto. Soluciones como el software VPSX destacan en situaciones como esta. Utilicemos un ejemplo que yo llamo «el pueblo a orillas del río».
Existe un pueblo a orillas de un río que produce suvenires que a los turistas les encantan. Existe una ciudad más grande al otro lado del río que los turistas frecuentan y donde los aldeanos venden sus bienes. Está a unos 15 kilómetros a través de la carretera asfaltada que rodea la presa; sin embargo, también existe un estrecho puente de 300 metros de longitud, pero solo algo más de un metro de ancho. En ocasiones tiene más sentido transportar los bienes andando a través del puente; por ejemplo, cuando solo hay que entregar una cantidad reducida de suvenires desde una tienda del pueblo a alguien en la ciudad. Sin embargo, si una tienda de la ciudad necesita grandes volúmenes de productos proporcionados por múltiples productores para llenar su almacén y desea que las mercancías lleguen en un momento predecible sin importar las inclemencias meteorológicas, entonces tiene más sentido usar la carretera asfaltada. Así que la «mejor» solución depende realmente de la cantidad esperada de carga y de la frecuencia de viaje.
Existe un viejo dicho en inglés: «Cuando la única herramienta que tienes es un martillo, todo problema comienza a parecerse a un clavo». Un servidor CUPS para Linux puede ser un martillo eficaz en varias situaciones, pero llegará un momento en que un destornillador será la mejor herramienta para el trabajo. En ese momento, no intente usar una solución que realmente no está diseñada para eso. Al final, dedicará más tiempo a intentar que siga trabajando y que funcione en escenarios para los cuales no fue diseñada.
Además, tenga cuidado cuando estudie sus necesidades de impresión, porque es muy probable que la solución que escoja siga en uso mucho después de que haya dejado su proyecto o puesto actual. Al respecto, le dejo con una última reflexión con uno de mis dibujos favoritos sobre implementación de proyectos:
http://projectcartoon.com/.