Zugriff auf Methoden vom Server

Bitte aktiviere JavaScript!
Hallo,
ich entwickle gerade ein eigenes System. Nun ist meine Frage ob es möglich ist, eine Jar auf einen Server zu laden und dann im späteren Verlauf, wenn man zum Beispiel jemand anderen Zugriff auf Methoden/Klassen dieser Jar geben möchte, auf die JAR zu zugreifen. Hierbei möchte ich aber nicht, dass die Jar heruntergeladen wird, sondern direkt vom Server aufgerufen wird? Die Frage geht in die Kategorie Vermarktung. Ich möchte gerne die Software sicher vermarkten können, ohne das jemand zugriff auf die JAR oder auf den Quellcode hat. Deswegen meine gestellte Frage.
Würde mich über eine Antwort freuen!

Mit freundlichen Grüßen

Linus Schmidt
 
A

Anzeige




Vielleicht hilft dir unser Kurs hier weiter —> (hier klicken)
Direkt geht das nicht. Du brauchst eine Serverkomponente, die stellvertretend für Deine Anwendung das Jar verwendet.
 
Direkt geht das nicht. Du brauchst eine Serverkomponente, die stellvertretend für Deine Anwendung das Jar verwendet.
Hmm. Okay. Vielen Dank. Wie würde das Aussehen? Sollte ich dann eine "Injection" Programmieren die dann stellvertretend auf die Jar zugreift. Also das man nur zugriff auf die Injection bekommt? Würde das klappen? Also auch unter dem Aspekt, dass kein Zugriff auf das eigentliche System möglich sein soll?
 
Heute löst man das üblicherweise via Webservice. Die Anwendung beim Kunden ist dann der Client des vom Server zur Verfügung gestellten Dienstes.
 
Ja okay. Mein System soll allerdings sowas sein wie zum Beispiel Tensorflow nur, dass man mit einer Lizenz usw. zugriff bekommen kann. Das Programm ist keine Anwendung sondern eher eine Library, die man integrieren kann.
 
Ja, und? Du willst ja, dass die Jar auf dem Server ausgeführt wird. Also müssen die Daten zum Server, der Server verarbeitet das ganze und liefert eine Antwort.
 
Ursprünglich wurde für die Kommunikation zwischen 2 JVMs das Java RMI (Java Remote Method Invocation) eingeführt.
Das ist ein RPC (remote procedure call) basiertes System. Methoden-Parameter werden serialisiert und an die andere JVM übertragen, wo eine Methode aufgerufen wird.
Parameter können als Kopien oder als Referenzen definiert werden. Referenzen kannst du einsetzen, um beispielsweise Call-Backs zu realisieren.
Du lieferst in diesem Fall einen Java-Wrapper (jar-File) aus, dass alle Aufrufe zu deinem Server weiterleitet.
Ein Client-Programmierer merkt keinen Unterschied, ob er die echte Jar-Datei hat oder den Wrapper.

Nachteilig ist, dass RMI an Java gebunden ist. Der Client muss also in Java entwickelt werden.
Die Kommunikation zwischen zwei unterschiedlichen Java-Major-Version hat in der Vergangenheit immer wieder zu Problemen geführt.
Du könntest Probleme mit Proxies / Firewalls haben, wenn du bzw. deine Clients diese nicht selbst kontrollierst.

Ob Webservices oder RMI für dich besser passen, hängt von deinen spezifischen Anforderungen ab.
 
Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben