# JAVA Applet und Webseite - Datenaustausch



## J-C (22. Juli 2008)

Hallo,
ich sitz an einem Projekt und brauch mal eure Hilfe.
Es soll eine Datenbankanwendung in Access programmiert werden... soweit sogut!
Weiterhin soll es die Möglichkeit geben per Webinterface auf die Daten zuzugreifen - ohne Servertechnologie...
Ich kann mich ausm Info LK noch dran erinnern, dass man Daten aus nem Formular an Java-Applets übergeben kann -> funktioniert das auch umgekehrt? An php Daten zu übergeben ist ja einfach... aber kann ein Java Applet Webseiten manipulieren? 

Schreibt mal was euch dazu einfällt...


----------



## shutdown (22. Juli 2008)

Applet = Sandbox = Nein
Signiertes Applet = keine Sandbox = Zugriff auf Rechner des Anwenders.

Ein Zugriff vom Rechner des Anwenders aus auf einen WebServer wiederum halte ich - wenn überhaupt möglich - für eine große Sicherheitslücke.

Wenn dann Access-Datenbank auf FileServer und Webseite, die die Datenbank dynamisch ausliest. Das Applet darf dann die Datenbank verändern.


----------



## J-C (22. Juli 2008)

Im Grunde will ich sowas machen (vergleichbar mit ner kleinen Servertechnologie)

=> HTML Seite => Benutzer gibt Daten ein => an Applet senden => Applet baut DB-Verbindung auf => Gibt werte zurück an HTML Seite / erstellt HTML Seite die angezeigt wird

Geht das?


----------



## takidoso (22. Juli 2008)

Ich glaube was Du meisnt ist weniger ein Applet, soner eher ein Servlet, kann das sein?
Also das was Du tun willst ist mit HTTP-Servlets oder wenn Du magst mit JSP bewerkstelligbar. Wobei ich JSP nicht bevorzugen würde, wäre mi rpersönlich ein zu großer Kaudawelsch.


----------



## shutdown (22. Juli 2008)

Allerdings wäre ein Servlet ja Servertechnologie, und die will er ja gerade nicht.


----------



## J-C (22. Juli 2008)

Genau.... ich DARF keine Servertechnologie verwenden....
nur Applets... 
Ich könnte das ganze natürlich auch mit swing oder awt lösen.... aber vielleicht gibt es ja eine Möglichkeit das ganze doch irgendwie in Kombination mit HTML zu lösen (wenns einfacher ist, bzw. schneller)


----------



## Clash (22. Juli 2008)

du kannst parameter an das applett übergeben mittels <param name="parameter" value="irgendwas"> (innerhalb des <applet> elements, die du dann im applett selbst mit getParameter("parameter") abfragen kannst, ob das allerdings innerhalb eines formulares definierbar ist weiss ich leider auch nicht. google mal


----------



## shutdown (23. Juli 2008)

Es geht um die Beeinflussung einer zentralen Datenbank. Da hast du mit einem Applet nur Chancen, wenn du es signierst und der Anwender dies anerkennt. Der Zugriff erfolgt dann genauso, wie wenn du mit Swing programmieren würdest. Die sich dynamisch aufbauende Internetseite ist dann ein ganz anderes Problem - das ich dann auch nicht über das Applet lösen würde.

Die veränderten Daten im Applet darzustellen, ist wiederum kein Problem - genauso wie in Swing.


----------



## J-C (23. Juli 2008)

Ok... ich versteh euch schon und ich würd mich selber für bekloppt halten das ganze so zu lösen, wenn es nicht in meinem Studium so gefordert werden würde...

Das mit dem Datenbankverbindungen aufbauen hab ich schon desöfteren in JAVA gemacht, auch das Programmieren eines UserInterfaces mit SWING oder AWT ist für mich nicht das Problem...

Die Sache ist folgende:
Es arbeiten 2 Gruppen - eine Programmiert die Access-Lösung die andere den Zugriff per Webinterface.
Da auf jegliche Servertechnologie verzichtet werden soll, fällt mir dann nur noch die Realisierung mittels Java-Appletts ein. Nur habe ich das Gefühl, das der Arbeitsaufwand nicht vergleichbar ist
Um mir das ganze zu vereinfachen dachte ich, dass es vielleicht möglich ist dass Java-Applett nur die Datenbankverbindunge, Manipulation, Verarbeitung etc machen zu lassen und das eigentliche Interface über HTML-Seiten abzubliden.
Genau da hakt es eben bei mir...

Ist es möglich Ein / Ausgaben über HTML zu realisieren und diese mit dem Applett zu verbinden?

Bzw. ist das einfacher als ein SWING / AWT UI zu programmieren?


----------



## takidoso (23. Juli 2008)

Also zunächst würde mich mal die genaue Formulierung inteessieren, die Euch gegeben wurde. denn ein Applet kannst Du ohne Servertechnologie eh nicht zu Verfügung stellen, HTML Seiten genausowenig. Ein Web-Server (und das halte ich für Servertechnologie) brauchst Du allemal.
AFAIK werden Applets in Webseiten eingebunden aber normalerweise nicht umgekehrt. Wenn jemand den Begriff Web-Interface nennt, sagt dies für mich nicht notwendigerweise reines HTML aus. Ich vermute mal, dass die Verbindung zur DB, Verarbeitung und Darstellung innerhalb eines Browsers der Definition eines Web-Interfaces genügt, also könnte dies, wenn nicht wirklich ausdrücklich in der Aufgabe hingewiesen wird, ein Applet ausreichen sollte, welches eben nicht (sinnfreierweise) dynamische Web-seiten aufbaut. Denn Applet-Technologie ist dafür eigetnlich nicht gedacht. So weit ich weiß müsste es zwar möglich sein Dateien aus dem Applet heraus zum Webserver zu senden, die meinetwegen auch vom Applet aus generiert wurden. Ob dies aber synchronisierbar ist, wenn mehere Leute das Applet gleichzeitig nutzen kann ich nicht beantworten.
Fazit der Begriff Web-Interface könnte hier einfach auch mit Applet gleichsetzbar sein.
Und dann ist meiner Schätzung nach das ganze kein Problem mehr, oder?


----------



## shutdown (23. Juli 2008)

Ein nur lokal im Browser zur Verfügung gestelltes Applet ist nicht unbedingt Server-Technologie. Du kannst im übrigen aber auch den Browser komplett außen vor lassen, es gibt sogenannte Applet-Viewer dafür (Eclipse bringt zum Beispiel einen mit).

Das Erstellen von Internetseiten, die dann auf den Webserver übertragen werden, bedeutet:
Daten aus Datenbank holen, in HTML konvertieren und per FTP hochladen. Das ist deutlich mehr Aufwand, als die Daten lediglich im Applet darzustellen. Letztlich bist du dort dann sogar freier, kannst zum Beispiel bei gruppierten Daten die Gruppierungsart ändern.


----------



## takidoso (23. Juli 2008)

shutdown hat gesagt.:


> Ein nur lokal im Browser zur Verfügung gestelltes Applet ist nicht unbedingt Server-Technologie. Du kannst im übrigen aber auch den Browser komplett außen vor lassen, es gibt sogenannte Applet-Viewer dafür (Eclipse bringt zum Beispiel einen mit).


Stimmt, an einen Applet-Viewer habe ich gar nicht gedacht. Allerdings hat es IMHO nicht viel Sinn ein Applet auf diese Weise zur Verfügung zu stellen, denn eigentlich will man ja eben nicht auf jeden Ziel-Rechner womöglich noch manuell ein Applet raufstellen, sondern eigetnlich nur einmal hinterlegen, nähmlich auf einen Server. Und wenn dann noch von dynamischen HTML die Rede ist käme das ganze mir spanisch vor.



> Das Erstellen von Internetseiten, die dann auf den Webserver übertragen werden, bedeutet:
> Daten aus Datenbank holen, in HTML konvertieren und per FTP hochladen. Das ist deutlich mehr Aufwand, als die Daten lediglich im Applet darzustellen. Letztlich bist du dort dann sogar freier, kannst zum Beispiel bei gruppierten Daten die Gruppierungsart ändern.


Da stimme ich Dir voll zu.


----------



## J-C (23. Juli 2008)

Ich danke euch für eure Ideen  :ThumbsUp:

Wenn euch nochwas einfällt.... 

mir wäre jetzt vielleicht noch in den sinn gekommen mit JavaScript und dem Applet sowas ähnliches wie AJAX zu machen... also Applett liefer die Daten.. und JScript baut diese in die Seite ein... oder bin ich da auf dem Holzweg?


----------



## shutdown (24. Juli 2008)

Mal ne Frage: Wieso bist du so versessen darauf, HTML-Code zu erstellen?


----------



## J-C (24. Juli 2008)

Weil wir in Gruppen arbeiten und ich so ziemlich der einzige bin der schonmal mit Java gearbeitet hat... 
Wenn HTML erstellt wird, könnte ich super aufgaben abgeben... wenn das zusammenführen von Applett und HTML jedoch so kompliziert wird, dass ich es lieber alleine machen sollte... hmm!
Die anderen haben halt Ahnung von HTML PHP JScript etc... aber JAVA nicht.
In unserem Java kurs wurden Algorithmen und Datentypen behandelt.
Von Oberflächen und Datenbankanbindungen haben die meisten keine Ahnung :|


----------



## shutdown (24. Juli 2008)

Also wenn du's ganz umständlich machen willst, dann schau dir mal XML-Rpc an.

Damit kannst du Informationen und Befehlsaufrufe über XML übertragen.
Diese Schnittstelle gibt es für verschiedenste Programmiersprachen, darunter auch Java und ich meine auch JavaScript (wobei ich es eigentlich für unmöglich halte, dass das mit JavaScript funktionieren kann, aber ok).

Dann hättest du die Möglichkeit dein Applet als Mittler zwischen Datenbank und Oberfläche zu erstellen, die Oberfläche wird dann über HTML und JavaScript erzeugt.

Die Umsetzbarkeit halte ich aber (was den JavaScript-Teil angeht) für fraglich, lasse mich aber gern überraschen.


----------

