Applets für was alles zu gebrauchen?

Hallo Leute,

ich habe eine ziemliche Newb Frage: Für was alles kann/soll man Applets verwenden bzw. wo genau liegen Vor- und Nachteile?

Ich weiß, dass es PHP, ASP, JSP usw. gibt, es geht jetzt auch nicht um eine wirkliche Realisierung sondern nur um Neugierde.

Würde zum Beispiel ein Benutzersystem bereits an der Sicherheit scheitern? Nette Intros mittels Applet? Zu Langsam? Zu große Datenmengen? Eine komplette Seite nur aus einem oder mehreren Applets? Applets mit Datenbankanbindung zu langsam/unsicher?

Man findet zwar einige wage Aussagen über Applets (sind zu langsam, zu nichts zu gebrauchen usw.), aber leider nichts konkretes.

Danke schon mal im voraus.

Hallo,

ich habe eine ziemliche Newb Frage: Für was alles kann/soll
man Applets verwenden bzw. wo genau liegen Vor- und Nachteile?

Applets sind eigentlich ganz normale Java-Programme die alles machen können, was ein Java-Programm auch kann. Das einzige was dort anders ist: Sie laufen in einer aus Sicherheitsgründen abgeschotten Umgebung, so haben sie keinen Zugriff auf deine Festplatte, dürfen nur mit bestimmten Rechnern kommunizieren usw.
Eine Ausnahme sind signierte Applets, denen werden mehr Rechte zugebilligt, aber hier lässt sich nachweisen, wer der Autor dieser Dinger ist.

Ich weiß, dass es PHP, ASP, JSP usw. gibt, es geht jetzt auch
nicht um eine wirkliche Realisierung sondern nur um Neugierde.

Die von dir genannten Sachen sind alles serverseitig laufende Skript-Sprachen, die dynamisch lediglich eine HTML-Seite erstellen. Java-Applets sind eher vergleichbar mit Flash, denn sie laufen auf dem Client.

Würde zum Beispiel ein Benutzersystem bereits an der
Sicherheit scheitern?

Was ist ein „Benutzersystem“? Wenn du eine GUI meinst, dann sicher.

Nette Intros mittels Applet?

Zwar möglich, aber Flash ist hier besser geeignet.

Zu Langsam?

Naja, auf einem halbwegs zeitgemäßem Rechner nicht. Flash ist auf kleine Kisten auch schon ganz schön träge.

Zu große Datenmengen?

Nein. Rein theoretisch kannst du eine komplette Entwicklungsumgebung wie Eclipse als Applet gestalten, aber die hat halt 70 MB, was wohl etwas zu viel ist. Kleinere Applets haben wenige KB bis einige hundert, also etwa wie bei Flash.

Eine komplette Seite nur aus einem oder
mehreren Applets?

Klar ist das möglich.

Applets mit Datenbankanbindung zu
langsam/

Also die Datenbankanbindung ist genauso schnell, wie aus einem normalen Programm heraus. Im Internet ist der Ping und die Kapzität der Leitung (Modem/DSL) der Flaschenkopf. Datenbanken sind mit Applets kein Prob, sie sind eher eine Stärke von ihnen.

unsicher?

Sicherheit ist ebenfalls eine Stärke von Applets. Signierte Applets sind so ziemlich das sicherste was es gibt. Viele Banken setz(t)en Applets für Onlinebanking ein.

Man findet zwar einige wage Aussagen über Applets (sind zu
langsam, zu nichts zu gebrauchen usw.), aber leider nichts
konkretes.

Es kommt halt darauf an, was man machen will. Applets haben in vielen Dingen ihre Berechtigung, anderswo sind eben auch andere Techniken besser. Das ist so wie überall.

Mal ein paar Beispiele, was man mit Java-Applets machen kann (ich hoffe du hast eine aktuelle Java-Version (1.3.x oder besser 1.4.x auf deinem Rechner). Dann weißt du auch grob, für was man sie hernehmen kann.

mfg
deconstruct

Moin

ich habe eine ziemliche Newb Frage: Für was alles kann/soll
man Applets verwenden bzw. wo genau liegen Vor- und Nachteile?

Vorteil: java ist eine Programmiersprache/System das nicht speziell für’s Web gedacht ist, und dementsprechend alles kann.

Nachteil: Der Benutzer braucht eine funktionierende JVM. Und das ist der ganz grosse Hacken: Die von Mircosoft bei win98,2k und Teile von XP beigelegte JVM taugt gar nichts. Sie ist langsam, unsicher, entspricht in etlichen Punkten nicht dem java-Standart.

Daher kommt auch das Gerücht java sei langsam. java ist nicht langsam (java ist ein Speicherfresser, das stimmt) die JVM von M$ ist scheisse. Sun hat inzwischen auch M$ die Auslieferung der JVM gerichtlich untersagt.

Würde zum Beispiel ein Benutzersystem bereits an der
Sicherheit scheitern?

nee.

Nette Intros mittels Applet?

sowas ? http://www.durius.com/ (die besten 1.1.8 applets die ich je gesehen habe die sogar auch unter der M$-JVM einigermassen laufen)

Zu große Datenmengen?

NEIN. java-Applets sind, wenn alles geschickt gemacht wurde einen Tick kleiner als Flash.

Eine komplette Seite nur aus einem oder
mehreren Applets?

Klar, wieso nicht.

Applets mit Datenbankanbindung zu
langsam/unsicher?

nein. Nur auf dem Webserver muss dann eine nach aussen sichtbare DB laufen. Ob die sicher ist wär noch zu klären.

cu

Hi,

Applets mit Datenbankanbindung zu
langsam/unsicher?

nein. Nur auf dem Webserver muss dann eine nach aussen
sichtbare DB laufen. Ob die sicher ist wär noch zu klären.

Naja, muss nicht unbedingt am Webserver laufen, nur wenn das Applet nicht signiert ist. Ansonsten darf sich das Applet auch zu einem anderen Rechner verbinden. Und eine sichere Datenbankverbindung ist normal auch kein Thema, da die „grossen“ Datenbanken alle verschlüsselte Verbindungen unterstützen.

mfg
deconstruct

Moin

nein. Nur auf dem Webserver muss dann eine nach aussen
sichtbare DB laufen. Ob die sicher ist wär noch zu klären.

Naja, muss nicht unbedingt am Webserver laufen, nur wenn das
Applet nicht signiert ist.

Hast du dir die Warnmeldung bei signierten Applets mal angesehen ? Bei sowas würd ich nie und nimmer auf OK klicken. Sie kommt allerdings auch nur einmal.

Und eine sichere
Datenbankverbindung ist normal auch kein Thema, da die „grossen“
Datenbanken alle verschlüsselte Verbindungen unterstützen.

Ja, klar, die Datenkanäle sind meist einigermassen sicher, wozu gibts schliesslich ssl/tls/… Aber die DB’s selbst haben meistens eine lausige Zugriffskontrolle und schlecht implementierte / auf Performance getrimmte Netzwerkroutinen. Ausserdem weiss man bei nach aussen sichtbaren DB’s nie so ganz genau ob die DB schon gehackt wurde oder noch nicht. Wenn die DB in einem n-tier-system hinter eine Firewall läuft reicht ein Blick auf die IP der Zugreifenden um grob abschätzen zu können was läuft. (Ausserdem muss das Applet (sprich: der Angreifer) die DB-Strukturen nicht kennen)

Beispiel: SQL-Slammer. Der hat das Netz 2 Tage plattgefahren und das war nur ein schlecht programmierter Wurm.

Was Sicherheit angeht bin ich lieber ein bisschen zu vorsichtig als nachher Backups einspielen zu müssen.

Aber java hat mit den ganzen Problemen nix zu tun.

cu

Hi,

Hast du dir die Warnmeldung bei signierten Applets mal
angesehen ? Bei sowas würd ich nie und nimmer auf OK klicken.
Sie kommt allerdings auch nur einmal.

Sie kommt jedes mal, wenn du anklickst dass du der Signatur „Nur für diese Sitzung“ trauen möchtest.

Und außerdem kommt diese Fehlermeldung sowieso nur bei selbstsignierten Applets. Wenn du dir z.B. dein Applet durch einen Root-CA signieren lässt (kostet so 300-500 Dollar wenn ich mich recht entsinne), dann kommt die Meldung nicht, weil die Authentizität des Applets von Java über den Root-CA überprüft werden kann.

wozu gibts schliesslich ssl/tls/… Aber die DB’s selbst haben
meistens eine lausige Zugriffskontrolle und schlecht
implementierte / auf Performance getrimmte Netzwerkroutinen.
Ausserdem weiss man bei nach aussen sichtbaren DB’s nie so
ganz genau ob die DB schon gehackt wurde oder noch nicht.

Das ist aber dann kein Problem von Java, sondern von dem Datenbank-Hersteller bzw -Administrator. Und das hat auch nichts mit Datenbanken zu tun, sondern mit Daemons an sich. Alles was im Internet rumhängt ist angreifbar. So gesehen kannst du dir auch bei einem SSH oder Webserver nicht sicher sein, ob er schon gehackt wurde.

Beispiel: SQL-Slammer. Der hat das Netz 2 Tage plattgefahren
und das war nur ein schlecht programmierter Wurm.

Ja, und der Server war auch von Microsoft :wink: Das zählt nicht als Beispiel *g*
Eine Oracle oder DB2 lässt sich ohne Probs sicher kriegen.

mfg
deconstruct