# Möglichkeiten ein Java Programm auf einem Server auszuführen



## beachdiddi (25. Aug 2007)

Hallo,

der Titel ist vielleicht etwas irreführend. Ich weiß, dass es nicht möglich ist, ein Java-Programm auf einem Server laufen zu lassen.
Ich suche aber nach einer Möglichkeit wie ich die Funktionalität, die meine Java Klasse bietet, von meinem PC auf einen Server legen kann.

Ich beschreibe mal kurz meine Anwendung:
Mein Java-Programm fragt einen Server nach bestimmten Informationen ab und falls sich eine Veränderung in den Informationen ergeben hat,
so soll es eine Email verschicken. Der Abruf funktioniert schon. Das mit der Email wollte ich aber erst schreiben wenn ich eine Lösung gefunden habe, mit der ich das Programm auf dem Server laufen lassen kann.

Welche Möglichkeiten habe ich denn? Kann man daraus eine jsp-Seite bauen? Oder es als applet schreiben und dann das applet ausführen?

Vielen Dank schonmal für die Tips.

mfg, beachdiddi


----------



## dieta (25. Aug 2007)

Am ehesten könnte man das mit einer jsp-Seite lösen, ein Appletwird ja nur auf dem Server gespeichert, ausgeführt wird es auf dem Client-Computer.


----------



## beachdiddi (25. Aug 2007)

Ah, stimmt ja.

Kann jeder Standardserver jsp´s ausführen? Oder gibts da irgendwelche speziellen Anforderungen an den Server?


----------



## Kim Stebel (25. Aug 2007)

na du brauchst nen serlet-container wie tomcat oder jetty oder so...lässt sich auch in apache einbinden...gibt leider nicht viele hosting-anbieter für java.


----------



## beachdiddi (25. Aug 2007)

hmm, dann wird das wohl nichts. Werd mir nämlich dafür nicht extra Webspace besorgen.
Andere Möglichkeiten außer jsp gibts wahrscheinlich nicht, oder?


----------



## Kim Stebel (25. Aug 2007)

na du kannst ja auch deinen eigenen server aufsetzen...kommt eben drauf an was du machen willst, internet, intranet...?


----------



## beachdiddi (25. Aug 2007)

Das ist dann schon ein bisschen viel Aufwand.
Ich brauch das Programm nur 1 bis 2 Monate im Jahr. Nur in dieser Zeit will ich es laufen lassen.
Dann kann ich für diese Zeit auch einen PC tagsüber laufen lassen, auf dem dann wiederum mein Java-Programm läuft, und erziele ohne Aufwand das gleiche Resultat.

Vielen Dank für eure Tips


----------



## tuxedo (27. Aug 2007)

Du kannst auch die Sprache wechseln. PHP wird fast überall unterstützt.

- Alex


----------



## beachdiddi (27. Aug 2007)

Ich hatte es Anfangs in PHP geschrieben.
Dort gibt es Pakete wie CURL oder Snoopy, die sämtliche Funktionen implementieren, die man braucht.

Leider kann ich meinen Server nicht mit PHP und CURL kompilieren. Somit hat das nicht geklappt.


----------



## tuxedo (27. Aug 2007)

Naja, aber die "Idee" das mit Java zu machen und dann im Nachhinein "festzustellen" dass es auch mit Java auf dem Server nicht klappt, hat doch irgendwas Simpsons-Mäßiges (Homer sitzt vor der Steckdose und schreit nach dem zwanzigsten Mal "finger-in-die-steckdose-stecken" immer noch "aaaaauuua"), oder?

Also ich für meinen Teil wäre nach einem ersten "aua" so schlau und würd für den nächsten "Versuch" vorkehrungen treffen. 

Die Automopbilindustrie baut ja auch keine Motoren und stellt dann hinterher fest, dass sie nicht ins Auto passen...

*verwundert bin*

- Alex


----------



## beachdiddi (27. Aug 2007)

Mit Java hab ich nun wenigstens eine Lösung, die funktioniert.
Das war mit php nicht möglich.

Die Möglichkeit es von einem Server aus laufen zu lassen wäre nur das i-Tuepfelchen gewesen.
Jetzt läuft halt mein PC tagsueber, auf dem wiederum das Java-Programm läuft.
Ich hab mir schon was dabei gedacht. 
Ich dachte halt nur es gäbe eine relativ einfache Möglichkeit ein Java-Programm irgendwie auf einem Server zu nutzen.
Jetzt bin ich wieder etwas schlauer.

Das ändert aber nichts daran, dass mein Programm die Arbeit ausfuehrt, die ich auch ausfuehren lassen wollte.


----------



## tuxedo (27. Aug 2007)

Das mit dem i-Tüpfelchen hattest du eingangs nicht erwähnt. Dachte alsod as wäre eine Bedingung/Anforderung. 

Wenn der Serverbetrieb halt als nice-2-have läuft, dann isses ja okay.

btw: wie frägst du denn die "Informationen" ab? bzw. welche Schnittstelle wird da zum abfragen benutzt?

- Alex


----------



## beachdiddi (27. Aug 2007)

ja, das wäre nur Zusatz gewesen. Da ich das Programm eh nur ein paar Wochen im Jahr nutze ist das kein Thema wenn es nur lokal läuft.

Meinst Du WAS fuer Infos ich abfrage oder WIE ich diese Infos abfrage?


----------



## tuxedo (27. Aug 2007)

Na ob du die Infos via Socketschnittstelle, oder von einer Webseite , download einer File, etc. abrufst. 

Weil beides geht ja recht easy ohne Zusatz-Libs in PHP.

- Alex


----------



## beachdiddi (27. Aug 2007)

Das Problem ist, dass ich den Abruf von einer https-Seite mache. Und das geht leider nur mit Zusatzlibs (CURL, Snoopy, usw.) Zumindest nach meinem Wissensstand.

Es ist ein Formular (POST-Methode), das Login-Daten an ein .exe-File schickt.
Das Formular wegzuschicken war kein Problem. Nur das Abfangen der Ergebnisseite hat nicht so einfach geklappt.
Fuer Lösungsansätze bin ich dankbar.


----------



## tuxedo (27. Aug 2007)

Okay, hatte bisher nur SSL-lose Seiten/Verbindungen.. Da hat das ganz gute ohne extre Libs geklappt.

BTW: Es gibt auch günstige vServer zum mieten, mit 1-monatiger Vertragslaufzeit. Da könntest du das Tool laufen lassen wie du gerade lustig bist (java, oder php mit allen libs). 

So ein Server ist schon praktisch wenn man etwas "gehobenere" Ansprüche hat die ein normaler Hoster nicht erfüllt.


----------



## beachdiddi (27. Aug 2007)

ja, das ssl/tls ist der Knackpunkt. Mit den entsprechenden Libs ist das dann genauso einfach wie bei http-seiten.

Das mit dem server ist nicht so wichtig. Es ist nur eine kleine Spielerei. Es lohnt sich nicht dafuer einen Server anzumieten.


----------



## sparrow (27. Aug 2007)

beachdiddi hat gesagt.:
			
		

> Ich weiß, dass es nicht möglich ist, ein Java-Programm auf einem Server laufen zu lassen.



Ich bin verwirrt. Also auf meinem Server laufen Java-Programme


----------



## beachdiddi (27. Aug 2007)

sparrow hat gesagt.:
			
		

> Ich bin verwirrt.



Ich jetzt auch... Ich dachte das geht nicht.

Wie funktioniert das bei dir?


----------



## Wildcard (27. Aug 2007)

Was unterscheidet einen normalen Rechner von einem Server?
Zwei völlig unterschiedliche Dinge. Das eine ist Hardware, das andere ein Stück Software das einen Dienst anbietet.
Natürlich läuft Java auf einem Rechner der Server Dienste anbietet, zumindest solange der Betreiber das auch zulässt.


----------



## beachdiddi (27. Aug 2007)

Und wovon hängt das dann ab? Welche Voraussetzungen muessen denn gegeben sein?

Und dann zweitens, wie starte ich das Programm auf dem Server?
Fragen ueber Fragen.  ???:L


----------



## Wildcard (27. Aug 2007)

Nochmal: 
Ein Server ist ein Stück Software.
Du redest von einem Host (Hardware auf der ein oder mehrere Server laufen).
Ein Host ist auch nur ein Rechner, demzufolge funktioniert die Sache genau wie bei dir zu Hause.


----------



## Yzebär (27. Aug 2007)

Wildcard hat gesagt.:
			
		

> zumindest solange der Betreiber das auch zulässt.



Das wird wohl in diesem Fall der Knackpunkt sein... daß der Betreiber es eben nicht zuläßt.


----------



## beachdiddi (27. Aug 2007)

Du redest hier mit jemandem, der bisher nicht sehr viel mit Servern zu tun hatte, ausser vielleicht mal ein paar HTML- oder PHP-Seiten ueber FTP darauf zu laden. Deshalb frage ich ja auch wie ich das Programm da zum laufen bekomme.

Auf meinem Rechner starte ich es aus der Kommandozeile mit

```
java Programmname
```

Gibts sowas wie eine Kommandozeile wohl auch fuer einen Host, auf dem ich dann meinen Server administrieren kann. (Nehm ich mal an, wenn es ja auch nur ein Rechner ist)
Und da starte ich dann das Programm auch wie oben?


----------



## Wildcard (27. Aug 2007)

Was hast du denn überhaupt für einen 'Server'? Wenn es ein Linux Host ist, hast du SSH Zugriff?


----------



## beachdiddi (27. Aug 2007)

Ja, es ist ein Linux-Host (kenne aber die genaue Bezeichnung nicht) und ich hab SSH-Zugriff (mit SSH Secure Shell Client )


----------



## Wildcard (27. Aug 2007)

Dann funktioniert (sofern java installiert ist) java Programmname ganz genauso.


----------



## beachdiddi (27. Aug 2007)

Ah cool. Das werd ich heute Abend gleich mal ausprobieren.

Danke Wildcard!


----------



## Yzebär (27. Aug 2007)

Ob es funktioniert kannst du einfach mit "java -version" testen, dann weißt du auch gleich für welche Version du entwickeln mußt.


----------



## sparrow (27. Aug 2007)

Und je nach Distribution kann man Java ja auch nachinstallieren


----------



## tuxedo (28. Aug 2007)

Man kann Java doch immer nachinstallieren? Muss ja nicht aus dem Debian-Repository oder als RPM sein, und es muss auch nicht unbedingt in /usr oder sonstwo hin sein. Das Homeverzeichnis tut's ja im Notfall auch: SUN bietet sowohl JRE als auch JDK in einer gepackten Form (.bin). Muss man nur ausführen, sprich entpacken und die Pfade korrekt setzen bzw. bei der Benutzung richtig angeben. 

- Alex


----------

