# (Netzwerk-) Kommunikation zwischen Anwendungen. Wie?



## temi (15. Nov 2020)

Hallo zusammen,

ich bin gerade dabei, über ein kleines privates Projekt im lokalen Netzwerk zu sinnieren.

Grob gesprochen geht es darum auf einem Rechner eine Dienstanwendung laufen zu haben, die in meinem Fall Verzeichnisse überwacht mit einer DB im Hintergrund. Bedient werden soll die Anwendung zunächst über eine kleine Konsolenanwendung, die dann auf dem selben oder auch weiteren Rechnern installiert ist. Falls ich später einmal Lust dazu habe, gibt es vielleicht auch mal eine grafische Oberfläche dazu. Oder ein Thunar-Plugin, wer weiß?

Wie kommuniziere ich am besten oder einfachsten mit diesem Dienst?

Einfache Socket-Programmierung frei händisch programmiert? REST-API? Gibt es eine fertige Bibliothek für sowas, die nicht völliger Overkill ist?

Ein paar Stichworte für die weitere Entscheidungsfindung würden mir schon reichen.

Besten Dank und einen schönen Sonntag!


----------



## temi (15. Nov 2020)

Hm... Es wäre natürlich auch cool, wenn die Bedienung irgendwann auch mal über eine Weboberfläche möglich wäre. Aber erst mal langsam anfangen.


----------



## kneitzel (15. Nov 2020)

Ich würde da direkt an Webservices Denken. JSR-311 - und da kannst Du mal nach Jersey und JAX-RS suchen.

Oder Du gehst etwas von den Standards weg und greifst zu Spring. Das ist meist, was ich mache - Spring Boot bietet sehr viel und ist modular aufgebaut.

Ich würde da nicht von Overkill reden. Overkill ist, Dinge selbst zu schreiben, die es fertig gibt... Und Spring ist zwar sehr mächtig und groß, aber da es modular ist, kann man es sehr gut auch in Teilen einsetzen. Aber es erfordert etwas mehr an Einarbeitung. Und man muss ja auch Aspekte wie Security und so betrachten und genau in dem Bereich würde ich versuchen, Standard Lösungen zu nutzen...


----------



## Oneixee5 (15. Nov 2020)

Ich denke zur Steuerung von Diensten würde sich JMX anbieten. JMX ist Bestandteil von Java und somit sind keine externen Bibliotheken notwendig: https://www.oracle.com/technical-resources/articles/javase/jmx.html


----------



## mrBrown (15. Nov 2020)

kneitzel hat gesagt.:


> ch würde da direkt an Webservices Denken. JSR-311 - und da kannst Du mal nach Jersey und JAX-RS suchen.
> 
> Oder Du gehst etwas von den Standards weg und greifst zu Spring. Das ist meist, was ich mache - Spring Boot bietet sehr viel und ist modular aufgebaut.


Das wären auch meine Vorschläge.
Auf Jakarta EE-Seite kann man sich mal Quarkus angucken, das geht etwas in Richtung Spring, ist aber noch mal deutlich leichtgewichtiger.




Oneixee5 hat gesagt.:


> Ich denke zur Steuerung von Diensten würde sich JMX anbieten. JMX ist Bestandteil von Java und somit sind keine externen Bibliotheken notwendig


JMX ist eher für Management und Monitoring gedacht, und weniger für die Funktionalität der Applikation selbst.


----------



## temi (15. Nov 2020)

Danke erstmal 

Tatsächlich klingt das für:


temi hat gesagt.:


> eine Dienstanwendung laufen zu haben, die in meinem Fall Verzeichnisse überwacht mit einer DB im Hintergrund. Bedient werden soll die Anwendung zunächst über eine kleine Konsolenanwendung


alles etwas zu aufwändig. Aber vielleicht lass ich den Teil dann doch einfach weg und gehe direkt zur Weboberfläche über. Mal drüber nachdenken. Ich wollte halt etwas schneller Erfolge sehe, bevor ich mich lange mit etwas abmühe, was ich noch nie gemacht habe.

Habe mir grad ein kleines Video zu Quarkus angeschaut. Ist ja ziemlich krass!


----------

