title image


Smiley Re: Wer kennt sich aus mit Java-Technologien???
Hallo Sussanna,Du schreibst, dass der Client ein Formular in einem Browser öffnen können soll. Dann mußt Du auf jeden Fall an Java-Applet benutzen, da eine Application als selbständig laufende Applikation eben nicht im Browser gestartet wird. Natürlich kann man ein Applet auch starten, wenn der Server im Netz nicht zur Verfügung steht, von dem es mal geladen wurde. Aber Du wirst ein Problem mit dem Zwischenspeichern der Daten bekommen: Denn ein Applet darf NICHT OHNE WEITERES auf die lokale Platte schreiben. Dazu muss das Applet zertifiziert sein (sog. Trusted Applets). Damit wird angezeigt, dass der Browser dem Applet eben vertrauen kann und gewährt ihm Zugriff auf bestimmte Systemressourcen, also auch die Platte. In unseren Projekten haben wir es bleiben lassen, und sind auf Applications umgestiegen. Aber wie schon mein Vorredner sagt, hast Du dann das Problem, dass die aktuelle Version nicht automatisch geladen wird wie bei einem Applet.Möglich wäre zur Zwischenspeicherung auch der Cache des Browsers selbst (ich kenne jemanden, der macht das, aber frag mich nicht, wie der den Browsercache gehackt hat?!).Generell hast Du immer das Problem, dass Du (wahrscheinlich) flache Daten aus einer relationalen Datenbank irgendwie in Deine objektorientierte Java-Anwendung und zurück bringen mußt. Diese Persistenzanbindung ist bisher eher schlecht gelöst. Mit EJB hat man jedoch ein gutes Werkzeug, dies in den Griff zu bekommen. In der Version 1.0 handelt es sich jedoch noch um eine Lösung, die pro Client eine Instanz eines Objekt erzeugt. Da hat man das Problem, dass dann im Netz von EINEM Objekt VIELE Instanzen umherschwirren, und dieser Abgleich ist sehr, sehr schwierig (z.B. Lost Update Problematik). In der Version 1.1 werden dagegen die Objekte nur EINMAL instanziiert (auf dem ApplicationServer) und nur Stellvertreter an die Clients gesendet. In diesem Szenario hat der ApplicationServer als Schnittstelle zwischen Datenbank und Clients die volle Kontrolle über alle Objekte. Das ist eigentlich der einzig vernünftige Ansatz, auch wenn man es nicht immer so macht ;-) Hast Du z.B. nur flache Daten ohne große Verknüpfungen, dann kannst Du auch platt mit JDBC auf die Datenbank gehen. Das ist schneller und in diesem Fall noch einfacher aber nicht so schön :)So aus dem Bauch heraus würde ich folgende Lösungsansätze vorschlagen:1. Browserlösung:Schreibe an Applet für die Anzeige und Eingabe der Daten. Über Zertificate mußt Du es hinbekommen, die Daten lokal auf der Platte abzulegen. Prüfe über einen eigenen Prozess im Applett, ob die Connection zur Datenbank OK ist und verfrachte die Daten in die Datenbank. Dafür musst Du Dir aber einen schönen Replikationmechanismus ausdenken, denn es kann ja sein, dass mehrere Leute offline dieselben Daten erfassen - und dann???2. Reine HTML-Lösung:Es gibt viele Produkte auf dem Markt, die es komfortabel erlauben mit HTML tolle Sachen hinzubekommen. Du kannst z.B. mit Java ASPs schreiben. Da werden HTML-Gerüste auf dem Server abgelegt und zur Laufzeit mit den Daten verheiratet und an den Client geschickt. Aber dazu mußt Du immer Verbindung zum Server haben, da der ja die Verarbeitungslogik stellt!3. Application:Verzichte auf den Browser und schreibe eine Application mit Versionskontrolle (wie vom Vorredner auch gesagt.) Die kann dann Verbindungen zu allem herstellen, die Daten auf der lokalen Platte ablegen, Mails versenden, drucken usw. Und es ist ja nicht so schwer, alle Clients mit einem aktuellen JRE als Laufzeitumgebung auszustatten. Wenn man es richtig macht, dann merkt keiner, dass da Java am Werke ist.Viel SpaßFrank

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: