01.02 Einsatzgebiete von Java
Java ist sehr vielseitig einsetzbar. Die sechs Hauptgebiete sind Webanwendungen, sonstige Java EE Bereiche, Anwendungen für mobile Endgeräte, Desktop-Anwendungen, Applets und Chipkarten.
Webanwendungen (Java EE/J2EE) …
… sind wohl momentan der wichtigste Einsatzort für Java. Dabei wird Java – ähnlich wie PHP – serverseitig für dynamische Websites verwendet. Allgemein kann man sagen, dass der Server eine Anfrage vom Browser erhält. Der Server ruft dann das entsprechende Java „Programm“ auf, welches HTML-Code für den Server generiert. Zum Schluss leitet der Server den generierten HTML-Code an den Browser des Users weiter, welcher dem Anwender vor dem Bildschirm das Ergebnis in Form einer scheinbar ganz normalen Website präsentiert.
Die Vorteile liegen auf der Hand:
- Der User bekommt eine gewöhnliche Website präsentiert und benötigt somit keine weiteren Plug-Ins für seinen Browser (z. B. Eine installierte JRE, Flash, aktiviertes JavaScript, …)
- Die Rechenarbeit wird vom Server erledigt. Dadurch ist es egal, wie schnell oder langsam der Rechner des Anwenders ist
- Durch die Nutzung von Java EE ist es möglich einfache Webanwendungen (Besucherzähler, Kontaktformular, Gästebuch, Ausgabe der aktuellen Uhrzeit, …) zu erstellen. Aber auch WebServices oder ganze Portale sind mit dem entsprechenden Know-How realisierbar.
- Durch eine Fülle von Libraries, Frameworks und sonstigen Erweiterungen (Struts, Hibernate, JSF, …) wird die Entwicklung immer einfacher und der Programmierer kann sich mehr und mehr auf das Wesentliche konzentrieren
Allerdings unterstützen momentan nur wenige Webhoster Java EE, so dass es fast schon verpflichtend ist, einen eigenen Server zu betreiben/mieten.
Sonstiges Java EE/J2EE
Mit dynamischen Webanwendungen ist es aber noch lange nicht getan. Java EE (Enterprise Edition) stellt eine Vielzahl weitere Möglichkeiten bereit, die vornehmlich im Geschäftsbereich Anwendung finden. Beispielsweise ermöglichen es WebServices über die Programmiersprachengrenzen hinaus, Anwendungen über ein definiertes und standardisiertes Format miteinander kommunizieren zu lassen. Auf all diese Möglichkeiten in einer so frühen Lernphase einzugehen, würde jedoch wenig Sinn machen. Ich verweise deshalb an dieser Stelle auf spätere Kapitel oder für interessierte Leser auf den zugehörigen Wikipedia Artikel.
Anwendungen für mobile Endgeräte (Java ME/J2ME) …
… sind ein weiterer, wichtiger Bestandteil der Java-Welt. In der Zeit, in welcher jeder immer und überall erreichbar sein muss, ist ein Handy, PDA oder Smartphone unumgänglich. Aber haben Sie sich schon mal gefragt, woher die unbeschreibliche Menge an Anwendungen und Spielen kommen? Java hat daran einen beträchtlichen Anteil! Denn beinahe jedes Mobiltelefon unterstützt mittlerweile die abgespeckte Java-Version. Dadurch sind Handy-übergreifende Anwendungen für die breite Masse kein Problem mehr. Und mit J2ME Polish wird die Sache noch einfacher.
Desktop Anwendungen (Java SE/J2SE) …
… sind die Kategorie, mit der so gut wie jeder Java-Programmierer angefangen hat. Jeder verwendet täglich Desktop Anwendungen – einfach Programme, die auf dem Computer ausgeführt werden (z. B. Firefox, Word, oder das Anti-Viren Programm). Das geht natürlich auch mit Java. Auch für Desktop Anwendungen gibt es sehr viele fertige Bibliotheken, mit denen das eigene Programm erweitert werden kann.
Applets (Java SE/J2SE) …
… waren die treibende Kraft in der Java-Frühzeit. Applets sind den Java Desktop Anwendungen sehr ähnlich (beide sind Teil von Java SE), mit dem Unterschied, dass Applets nicht auf dem Desktop, sondern in einem Web-Browser ausgeführt werden. Dadurch sind „bewegte“ und dynamische Websites möglich – was in den 90er Jahren atemberaubend war. Heutzutage verwendet man für solche Spielereien eher die Flash-Technologie, denn Seiten mit Java-Applets werden von vielen Usern als alt, langsam und unsicher eingestuft. Unsicher sind sie für den User zwar dank der Sandbox
Die Sandbox schränkt Applets in ihren Möglichkeiten ein, indem sie unsichere Funktionen (wie z. B. den Zugriff auf das lokale Dateisystem) blockiert. Soll die Blockierung aufgehoben werden, muss das Applet „signiert“ werden und der User sein Einverständnis erteilen.
nicht, aber für den Entwickler. Denn Applets laufen nicht auf den Webserver, sondern werden beim Client (User) auf dem Rechner ausgeführt. Dadurch ist es für den User nicht nur möglich den Java Quellcode mit entsprechenden Tools zu analysieren und ggf. kritische Daten wie Login oder Konto-Informationen auszulesen, sondern der Anwender muss auch eine JRE installiert und einen entsprechend schnellen Rechner haben, da die Rechenlast – anders als bei Java EE – nicht auf den Server ausgelagert, sondern vom Client übernommen wird.
Dennoch haben Applets auch heute noch ihre Daseins-Berechtigung. Sie werden z. B. oft im wissenschaftlichen Bereich oder für Simulationen verwendet.
Chipkarten – Java Card
Sie können auch Java Anwendungen für Chipkarten entwickeln. Hierfür bietet Java die Java Card Technologie an.
Zusatz: Java auf Ihrem Kühlschrank …
… klingt erstmal absurd, ist aber gar nicht so unrealistisch! Denn Java-Programme können Prinzipiell überall laufen, wo es einen Java Interpreter (Java Virtual Machine) gibt – theoretisch auch im RFID-Chip Ihres Hundes. Einen Schritt in diese Richtung macht Java Mobility.
Zur Begrifflichkeit J2SE/ME/EE vs. Java SE/ME/EE: Ersteres ist veraltet und wird meistens mit der Versionen < 5 assoziiert (außer ME). Ab der Version 5 lässt man die 2 für gewöhnlich weg und schreibt das J(ava) aus.
… sind wohl momentan der wichtigste Einsatzort für Java. Dabei wird Java – ähnlich wie PHP – serverseitig für dynamische Websites verwenden
da hat sich wohl der Fehlerteufel eingeschlichen 😉
Hi handon,
ich bin blind … wo ist da der Fehler?
Danke!
Java wird verwendet und nicht Java werden verwendet
Ah … jetzt. Brett und Kopf und so … 😉 . Danke!
Hallo,
kleiner freundlicher Hinweis:
Im Artikel wird nur ein Bruchteil der JEE Spezifikation (oder J2EE) beschrieben. Beim lesen bekommt der Leser den Eindruck J2EE steht für Webanwendungen, was aber nicht der Fall ist.
Die Technologien und API’s für Webanwendungen machen in der JEE Spezifikation nur einen kleinen Bruchteil der gesamten Spezifikation aus. Weitere wichtige Punkte der JEE Spezifikation sind EJB, Persistenz, Webservices, JMS uva.
Grüße,
MK
Hallo MK,
ich habe im Artikel nicht auf Java EE verwiesen, sondern explizit auf Webanwendungen und diese als Teil von Java EE aufgeführt. Aber Sie haben recht, die anderen Teilgebiete von Java EE sind genauso wichtig. Da diese aber auch gleichzeitig sehr komplex und für einen Anfänger nicht leicht zu verstehen sind, habe ich den Artikel etwas allgemeiner ergänzt.
Vielen Dank und Grüße
Stefan