====== Java ====== [[wpde>Java (Programmiersprache)|Java]] ist eine objektorientierte Programmiersprache und als solche ein eingetragenes Warenzeichen der Firma Sun Microsystems. Java-Programme werden in [[wpde>Bytecode]] übersetzt und dann in einer speziellen Umgebung ausgeführt, die als Java-Laufzeitumgebung oder Java-Plattform bezeichnet wird. Java-Programme laufen dann (ohne weitere Anpassungen) auf allen Plattformen für die eine Java-Laufzeitumgebung existiert. Die Java-Middleware-Plattform [[http://www.sourcelabs.org/sash.html|Sash 2]] kombiniert eine Reihe von Open-Source-Projekten zu einer kompletten Umgebung für die Entwicklung von Java-Anwendungen (die unten genannten). ===== Lizenzprobleme ===== Java ist kostenlos erhältlich, aber nicht komplett unter einer [[oss:opensource lizenzen|freien Lizenz]]. [[http://de.sun.com/|Sun]] hat zwar das Entwicklungskit [[http://openjdk.java.net/|OpenJDK]] unter der [[oss:opensource lizenzen#gnu_general_public_license_gpl|GPL]] freigegeben, eine vollständige (und kompatible) Java-Umgebung lässt sich aber nur mit dem Sun-JDK und "binary Plugs" (unfreie Klassen und Zusatzpakete) erzeugen. Das führt zu einem unfreiem Softwarepaket das komplett freie [[linux:distributionen und live-cds|Distributionen]] nicht mitliefern können. Daher bemüht sich Redhat für Feodora mit freien Teilen ([[http://kaffe.org|Kaffe]], [[http://www.gnu.org/software/classpath/|GNU Classpath]] und [[http://openjdk.java.net/|OpenJDK]]) eine komplett freie Java-Variante unter dem Namen [[http://icedtea.classpath.org/wiki/Main_Page|icedtea]] zusammenzustellen. Bisher fehlen allerdings wichtige Teile (u.a. kryptografische Routinen und die grafischen Benutzeroberflächen AWT und Swing). ===== Links ===== * [[http://java.sun.com|Java.sun.com: The Source for Java Developers]] * [[http://www.heise.de/open/artikel/80965|Open-Source-Java]] * [[http://kaffe.org/links.shtml|Java Links]] * [[http://www.codehaus.org/|Software-Repository mit Schwerpunkt Java]] * [[http://www.heise.de/newsticker/meldung/82033/|Java-Clustering-Lösung Terracotta unter Open-Source-Lizenz freigegeben]] * [[http://www.xiguaforever.net/confluence/display/JPT/Home|Java Performance Tuning]] ===== Installation in Debian/Ubuntu ===== Zuerst muss das Partner-Repository in Synaptic aktiviert werden (unter Paketquellen). Anschließend reicht folgender Befehl: sudo apt-get install sun-java6-jre sun-java6-plugin sun-java6-fonts Standardmäßig wird der Aufruf von java auf den gcj (GNU Java-Compiler) umgeleitet, um auf die Sun-Version umzustellen reicht dieser Befehl: sudo update-alternatives --config java siehe auch [[http://wiki.ubuntuusers.de/Java|Java @ ubuntuusers]]. ===== Apache Axis ===== [[wpde>Apache Axis]] ist eine [[wpde>SOAP]]-Engine. [[http://www.torsten-horn.de/techdocs/java-soap-axis.htm|SOAP Web Services mit Axis]] ===== Frameworks ===== * [[wpde>Apache Wicket]] * [[wpde>Spring (Framework)]]: [[http://www.springframework.org/|Spring Framework: full-stack Java/JEE application framework]] * [[http://www.willuhn.de/projects/jameica/?page=download|Jameica (GPL)]] * [[wpde>Apache Struts]]: [[http://struts.apache.org/|Apache Struts project]], [[http://cwiki.apache.org/WW/home.html|Apache Struts Wiki]] * [[wpde>Hibernate (Framework)|Hibernate]]: [[http://www.hibernate.org/|Relational Persistence for Java and .NET]] ===== Modultests oder Unit-tests ===== **[[wpde>Modultest|Modultests oder Unit-tests]]** helfen bei der Entwicklung von Software indem sie die Verifikation der Korrektheit von Modulen einer Software ermöglichen. Hier bietet sich [[wpde>JUnit]] an.