Web Anwendung erzeugen (Applet)

Previous  Next

 

 

 

01.11.2009

Web-Anwendung erzeugen (Applet)

 

Wenn Sie Ihre Anwendung als Java Applet fertig stellen, erhalten Sie eine Web-Anwendung, sprich ein Java Programm, das in einem Web-Browser abläuft. Die Browser-basierende XDEV-Anwendung wird wie eine Webseite über eine URL aufgerufen. Das Java Applet selbst wird aus einer PHP-Seite heraus aufgerufen, anschließend vom Webserver geladen und in der PHP-Seite eingebettet im Web-Browser ausgeführt. Da ein Web-Browser ausschließlich HTML, jedoch keine Java Programme lesen und ausführen kann, muss auf dem Rechner des Benutzers die Java Virtual Machine (JVM) vorhanden sein. Die JVM ist ein Interpreter, der für die Ausführung von Java Programmen grundsätzlich benötigt wird. Auf Grund der starken Marktdurchdringung gehört mittlerweile bei vielen Systemen eine aktuelle Java Version zum Standardumfang, z.B. bei den Betriebssystemen Mac OS-X, Sun Solaris, i.d.R. bei den zahlreichen Linux-Distributionen, sowie beim Web-Browser Opera. Der Internet Explorer nimmt dagegen eine Sonderstellung ein, denn der Microsoft Browser enthält eine von Microsoft selbst entwickelte JVM, die jedoch leider auf der längst veralteten Java Version 1.1.3 basiert und zudem von Microsoft nicht mehr weiter entwickelt wird. Der Firefox liefert leider gar keine JVM, sodass die JVM erst downgeloaded und installiert werden muss. Da die von XDEV 2  erzeugten Applets auf Java 2, Version 1.4 basieren, muss auch auf dem Client eine JVM ab Version 1.4 vorhanden sein, um eine XDEV-Anwendung im Browser ausführen zu können.

 

Tipp: Jeder Anwender kann die Java Runtime kostenlos downloaden unter www.java.com.

 

Zwischen einem Applet und einer Applikation besteht optisch und funktionell, mit Ausnahme des Anwendungs-Fensters kein nennenswerter Unterschied. Der Unterschied zu einer HTML-basierenden Web-Anwendung ist jedoch so unterschiedlich wie Tag und Nacht. Ein XDEV-Applet bietet dem Anwender das hundertprozentige Gefühl, mit einer richtigen Applikation zu arbeiten. Applets erlauben den Einsatz zahlreicher Komponenten und Features, die man auf dynamischen HTML-Seiten meist vergeblich sucht, z.B. echte Fenstertechnik, Kontextmenüs, Splitpanes, Assistenten oder schlicht bequemes Drag&Drop. Während bei dynamischen Webseiten die Anwendungslogik nahezu vollständig auf dem Server ausgeführt und lediglich das Ergebnis als HTML-Seite im Browser angezeigt wird, wird die Programmlogik bei Java Applets nahezu komplett auf dem Client ausgeführt. Dadurch wird eine Menge Rechenzeit auf die zugreifenden Anwenderrechner verteilt und der Server stark entlastet. Zudem lassen sich einmal geladene Daten auch über viele Aktionen hinweg beliebig lange im Speicher des Client halten, während HTML-Anwendungen nach jeder Aktion auf dem Server eine neue HTML-Seite generieren und an den Browser übermitteln müssen. Das macht HTML-Anwendungen oft sehr träge. AJAX-basierende HTML-Anwendungen (Asynchronous JavaScript and XML) sind deutlich schneller als klassische HTML-Anwendungen und stellen eine erste Alternative zu Desktop-Anwendungen und Java Applets dar. In der Praxis ist jedoch die Ausführbarkeit unter den verschiedenen Browsern auf Grund fehlender oder nicht generell akzeptierter Standards (noch) sehr problematisch und der Entwicklungsaufwand von AJAX-Anwendungen ist dadurch vergleichsweise sehr hoch. Dies spricht für den Einsatz von Browser- und System-unabhängigen Java Applets.

 

 

Zugriffsrechte:

Ein Java Applet hat grundsätzlich keine Zugriffsrechte auf den lokalen Rechner auf dem es läuft. Das Applet kann sowohl schreibend als auch lesen ausschließlich auf den Quell-Ordner zugreifen, aus dem es geladen wurde (Codebase). Das Applet läuft somit in der sicheren Umgebung einer Sandbox.

 

Zugriff auf Datenbanken:

Der größte technische Unterschied zwischen einer Java Applikation und einem Java Applet besteht beim Zugriff auf Datenbanken. Anders als eine Applikation darf ein Applet ausschließlich auf den Ordner zugreifen, von dem es kommt. Dieser Ordner wird als Sandbox oder auch als Codebase bezeichnet. Ein Applet kann somit nicht direkt auf eine Datenbank zugreifen, da diese kaum im selben Programmordner wie das Applet liegen wird. In der Praxis liegt die Datenbank i.d.R. sogar auf einem anderen physikalischen Rechner, sprich auf einem speziellen Datenbank-Server. Um dennoch vom Applet aus darauf zugreifen zu können, werden alle Datenbankabfragen über eine spezielle PHP-Middleware (Zwischenschicht) umgeleitet. Diese wird beim Kompilieren des Projekts automatisch an die generierten Applet-Dateien angebunden. Nach der Übertragung der Dateien auf den Webserver liegen die PHP-Dateien somit automatisch in der Codebase des Java Applets, wodurch Datentransfers zwischen Java Applet, PHP-Middleware und Datenbank-Server möglich werden.

 

 

 

 

 

 

Die Daten werden zwischen Java Applet, PHP-Middleware und Datenbank werden komprimiert und verschlüsselt übertragen. Bei entsprechender Webserver-Konfiguration ist auch die verschlüsselte Übertragung der Daten per https problemlos möglich.

 

Tipp: Auch die direkte Kommunikation mit einem weiteren Applet oder einer anderen Anwendung ist über Sockets möglich, wenn die Dateien der jeweiligen Anwendung  in der Codebase des Applets liegen.

 

Hinweis: Durch die Verwendung einer PHP-basierenden Middleware bleibt der Konfigurationsaufwand auf der Serverseite minimal, da kein Application Server installiert werden muss. Zudem zählt die Programmiersprache PHP mittlerweile zu den Standard-Serverkomponenten. Dadurch lassen sich XDEV-Anwendungen auch problemlos bei jedem Internet Service-Provider hosten.

 

Tipp: Um den Anwender von der Sicherheit des ausgelieferten Applets und der eigenen Seriösität zu überzeugen, können Sie Ihr Applet signieren. Beim Aufruf des Applets wird der Anwender dann darauf hingewiesen, dass die gestartete Anwendung sicher ist.  

 

Signierte Applets können zudem vollen Zugriff auf den Client, sprich auf den Rechner des Anwenders erhalten, um dort Dateien zu abzulegen oder auszulesen. Dies muss jedoch vom Benutzer bestätigt werden. Um Applets signieren zu können, benötigen Sie ein spezielles Zertifikat. Entsprechende Zertifikate werden z.B. von den Firma Verisign (www.verisign.de) oder Thawte (www.thawte.com) angeboten.

 

Java Applets testen:

Um ein Java Applet lokal testen zu können, benötigen Sie auf Ihrem Entwicklungsrechner dieselbe Architektur wie später auf dem Server, sprich einen Webserver, eine Datenbank und die Programmiersprache PHP (ab Version 4). Bei der Installation von XDEV 2  werden diese Komponenten automatisch im Ordner srv installiert, den Sie im XDEV-Programmverzeichnis finden. Wenn Sie Ihren eigenen Webserver nutzen möchten, müssen Sie lediglich die Webserver-Standardeinstellungen abändern, die Sie im Menü Extras unter Einstellungen bei Allgemein finden.

 

 

Anschließend müssen Sie nur noch in der XDEV-Menüleiste einstellen, dass die Vorschau als Java Applet gestartet werden soll. Klicken Sie dazu auf die Auswahlbox bei dem Symbol , wählen Sie Applet aus und klicken Sie anschließend auf das Symbol , um die Vorschau im Browser zu starten.

 

 

 

Tipp: Auf der XDEV Homepage finden Sie unter Downloads eine kurze Anleiten darüber, wie Sie mit Hilfe des XAMPP-Projekts in kürzester Zeit einen Apache Webserver, einen Filezilla FTP-Server, sowie eine MySQL Datenbank aufsetzen und konfigurieren. Besondere Vorkenntnisse sind dafür nicht erforderlich.

 

Java Applets uploaden:

Um das Java Applet als Anwendung frei zu geben, müssen Sie nun nur noch die generierten Dateien auf Ihren Webserver übertragen. Dazu steht Ihnen in XDEV 2  ein FTP-Client, sowie eine sehr komfortable Auto-Upload-Funktion zur Verfügung. Bevor Sie den Upload durchführen können, müssen Sie die Verbindungsdaten zu Ihrem Webserver angeben. Klicken Sie dazu im Dialog Projekt fertig stellen auf Verbindungen bearbeiten oder im FTP-Client auf Verbindungsmanager.

 

clip0046

 

 

Hinweis: Da Ihre Web-Anwendung i.d.R. nicht auf Ihre lokal installierte Datenbank, sondern auf eine Server-Datenbank zugreifen wird, müssen Sie vor dem Kompilieren Ihres Projekts zuerst eine neue Datenquelle mit den Zugangsdaten Ihrer Server-Datenbank anlegen und anschließend alle Datenbank-Tabellen von der lokalen Datenbank auf die Server-Datenbank übertragen. Dazu können Sie Ihre Datenbank-Tabellen von der lokalen Datenbank in XDEV 2 importieren und anschließend in die Server-Datenbank exportieren. Danach können Sie die Verbindung zu Ihrer lokalen Test-Datenbank löschen und schließlich Ihr Projekt kompilieren.

 

Hinweis: Alle von XDEV 2  generierten Dateien und Ordner müssen unverändert und vollständig in Hauptverzeichnis des Webservers übertragen werden. Ansonsten ist eine fehlerfreie Ausführung des Java Applets nicht möglich.

 

Tipp: Sie aus keinen eigenen physikalischen Server betreiben möchten, können Sie sich bei einem der zahlreichen Internet Service Providern gegen geringe Gebühr einen Virtual Server (V-Server) mieten und nahezu genauso betreiben wie einen Server im eigenen Haus.