Stellen Sie sich vor, Sie haben eine standardmäßige Java-Web-App, die einfache Servlets oder SpringMVC oder ähnliches verwendet. Sie möchten auch (aus welchem Grund auch immer) eine Möglichkeit haben, mit dem Server zu kommunizieren, ohne HTTP zu verwenden - ich werde direkte Sockets verwenden, da dies das einfachste Beispiel ist, das mir einfällt.
Das Schreiben einer Web-App ist einfach, Sie haben Servlets als Einstiegspunkte. Das Schreiben einer Java-App, die Ports überwacht, ist auch ziemlich einfach. Aber was ist mit einer App, die beides tut? Ist das ohne Hacking erlaubt? Und wenn sich herausstellt, dass wir damit einverstanden sind, dass dies eine schlechte Idee ist, was ist eine bessere Architektur? Beachten Sie, dass eine der Motivationen hinter diesem Ansatz die Leistung ist... Wir könnten leicht zwei separate Apps haben, die eine DB teilen, aber es bevorzugen, die DB nicht als Kommunikationstool zu verwenden, wenn Informationen viel effizienter im Speicher zwischengespeichert werden könnten.