# Umwandlung von Java WebStart zu Java Server Pages



## DarthVader007 (11. Mai 2009)

Hallo, ich hab dieses Semester ne Programmieraufgabe übernommen und bin von den Leuten mehr oder weniger alleine gelassen worden.

Folgendes Problem: Eine Java Web Start Anwendung KNX Admin http://knxathome.fh-deggendorf.de/ soll auf nen TomCat Server laufen, so dass man es wie die anderen Teile vom Browser aus steuern kann. Leider hab ich nach einem Semester Java noch wirklich keinen Plan davon wie ich das ganze umsetzen soll.

Den TomCat Server hab ich schon in Eclipse eingerichtet. Kann mir jemand ein paar Tipps für weitere vorgehen geben? Letzendlich muss ja nur die vorhandene Logik umgewandelt werden, oder?

Mit freundlichen Grüßen

Christian


----------



## maki (11. Mai 2009)

Webstart und Java Webanwendungen haben so gut wie gar nix gemeinsam, d.h. ein komplettes umschreiben wäre von nöten.

Webanwendungen sind auch recht komplex in Java, aber falls du immer noch Lust hast, lerne:
1. Servlets
2. JSPs inkl. JSTL und EL 

Zu 1. gehört auch der Tomcat Server, ich gehe mal davon aus dass du dich mit HTTP, HTML, JavaScript/ECMAScript und CSS auskennst.


----------



## DarthVader007 (11. Mai 2009)

Danke schon mal für die Antwort. Dann wird das doch ein größerer Brocken als es ich mir vorgestellt hab. Wäre dann eine alternative Lösung also das änder von dem WebStart Programm in ein Applet, was auf dem Server liegt dann einfacher zu lösen? Wie müsste ich da vorgehen?

Ja ich kenn mich mit HTML JavaScript und CSS aus, aber ich hab so langsam, dass Gefühl ohne einen erfahrneren  Programmierer siehts irgendwie schlecht aus. Vor allem ich sollte nicht über 40h kommen.


----------



## tuxedo (11. Mai 2009)

Applets laufen auf dem Clientrechner im Browser des Clients. Im Prinzip kannst du dann gleich bei Webstart bleiben 

Was soll denn durch den Einsatz von TomCat besser werden? Bzw. was verspricht man sich von diesem Umbau?

40h für die Umwandlung einer GUI Anwendung in eine Webanwendung sind schon extrem kurz, wenn man von einer entsprechenden komplexen GUI ausgeht.

- Alex


----------



## DarthVader007 (11. Mai 2009)

Ja also ich versuch das ganze noch mal Zusammenfassen also KNX ist die Erweiterung/Neuinstallation des Elektroinstallationsbuses. Normal stellt, dann der Elektriker einmal das Haus ein wie man es möchte und das ganze ist dann mehr oder weniger fest. Das Projekt versucht, den User seine Anlage selber zu verwalten lassen, dass heißt er kann Bilder von seiner Wohnung hochladen und Schalter platziern usw. Das ist die eine Anwendung uns läuft schon als Applet. Also Kommunikation zwischen den KNX-IP-Modul läuft auf dem Rechner noch ein Service im Hintergrund. Als drittes gibt es eben den KNX Admin, wo man einmalig festlegen muss welcher Schalter welche ID oder Gruppe auf der Busleitung hat. Das Programm wurde warum auch immer nicht als Applet geschrieben, sonder läuft eben als Web Start Programm. Der Wunsch ist jetzt, dass es wie auch schon das andere Applet im Browser läuft. 

Momentan bin ich eben ganz am Anfang und da bin ich von jemanden mit JSP erstmal auf die falsche Fährte gelockt worden.  Ganz am Schluß soll mal eine LiveLinuxCd rauskommen, die man evtl mal von nen kleinen Atom-PC bootet und automatisch der Service gestartet wird. Im Firefox soll man dann eben sein Haus mit Schaltern "Designen" und die Schalter zuweisen können.


----------



## tuxedo (11. Mai 2009)

Also ne Webstartanwendung auf Applet umschreiben sollte nicht DAS Mega-Problem sein.

Schau dir am besten mal ein paar Applet Samples an, und dann ein paar Desktop-Samples. Dann siehst du die Verwandschaft.

Worin aber der tiefere Sinn liegen soll eine Webstartanwendung, welche beim Client eine funktionierende Java-Installation vorraussetzt, gegen ein Applet zu tauschen, welche gleichermaßen eine funktionierende java-Installation vorraussetzt ist mir allerdings nach wie vor schleierhaft. 

Ist doch dann völlig schnuppe ob die Anwendung ein eigenes Fenster bekommt oder im Browser seiner Wahl läuft? Java brauch ich so oder so. Wobei ich allerdings Webstart einem Applet vorziehen würde.

Erst mit JSP und Co. kannst du die Java-Installation auf dem Client weglassen. Aber der Umbau ist sicher nicht in 40h zu schaffen.

- Alex


----------



## Wildcard (11. Mai 2009)

Eine Webstart Anwendung zu einem Applet zu machen ist in der Regel recht trivial (sofern nicht Gebrauch von der Webstart API gemacht wird). Üblicherweise einfach den Content auf ein Applet statt auf einen Frame adden, die main Methode entfernen und deren Inhalt in die speziellen Applet Methoden verlagern (start, init,..) und das war's auch oft schon. Der Unterschied ist dann allerdings Minimal. Es ist immer noch ein Client Programm, lediglich kein eigenes Fenster mehr, sondern in einer HTML Seite. Super... :autsch:


----------

