Ich habe 2014 ein (auch heute noch laufendes) Projekt entwickelt, dass in Form von Clients und einem Server miteinander kommuniziert und eine verteilte Abarbeitung bestimmter Resourcen ermöglicht.
Damals habe ich basierend auf einem sehr einfachen Code eines Kollegen eine eigene Implemtierung basierend auf Server-Sockets (java.net.ServerSocket, java.net.Socket, …) geschrieben.
Da ich fünf Jahre altem Code von mir in der Regel mit der Hybris begegne, inzwischen doch einen Haufen Dinge besser zu können und ich in der Zwischenzeit sehr gute Erfahrungen mit Systemen wie Apache ActiveMQ und anderem “Out of the box” hab machen können und zu dem meine Client-Server-Implementierung unter gewissen Umständen manchmal ein wenig hakelig ist, würde ich für ein nun anstehendes neues Projekt am liebsten auf bewährten, robusten Code von Leuten setzen, die sich mit Netzwerkprogammierung deutlich besser auskennen als ich.
Das könnte ich natürlich in der Tat einfach dazu hernehmen, zumal ActiveMQ auf dem Server eh schon läuft.
Sowas wie ein Lastenheft gibt es dafür nicht, was die kleine neue Anwendung leisten soll: Beliebige Nutzer sollen, ohne Rechte zum direkten Zugriff auf den Rechner zu haben, dort bestimmte Prozesse anstoßen können. Dafür muss nur eine kleine Konfigurationsdatei übertragen werden. Das ginge mit ActiveMQ natürlich.
Aber ich dachte das wäre vielleicht etwas Overkill und es gibt etwas simpleres, das auf einem Port lauscht oder so.