"Oracle geht es nur ums Geld"
Für so manchen Insider kam Oracles Vorstoß indes nicht überraschend. Schon bei den Übernahmeverhandlungen mit den Sun-Verantwortlichen hätte Oracle den Plan verfolgt, zu einem späteren Zeitpunkt gegen Google vorzugehen, berichtet Java-Erfinder James Gosling, der Oracle nach der Akquisition von Sun im Frühjahr 2010 den Rücken gekehrt hatte. Es sei nur eine Frage der Zeit gewesen, schreibt Gosling in seinem Blog. Während der Gespräche habe man das Funkeln in den Augen der Oracle-Anwälte sehen können. "Bei Oracle geht es immer nur ums Geld. Das ist die einzige Metrik, die sie verstehen."
- Ältere Java-Versionen sind beliebt
Obwohl die heute <b>aktuelle Version 6</b> nun schon seit zwei Jahren verfügbar ist, wird eine Vielzahl von Projekten noch mit älteren Ausführungen betrieben. Die Abbildung zeigt, dass die vorletzte Version (<b>JDK 5 von 2004</b>) immer noch die größte Verbreitung hat und häufig eingesetzt wird. Die Version 6 wird hauptsächlich in neuen Projekten eingesetzt. <br/> Der Hauptgrund dürfe in dem nicht zu unterschätzenden <b>Migrationsaufwand</b> beim Umstieg auf eine neue Java-Version liegen. Eine Strategie könnte daher sein, Inkompatibilitäten zu identifizieren und den Umstieg auf eine neue Java-Version langfristig zu planen. Eine Migration kann beispielsweise schrittweise inkompatible Drittbibliotheken durch neuere Versionen ersetzen. - J2EE dominiert
Mit der <b>Java Platform Enterprise Edition</b> (Java EE) steht eine Software-Architektur zur Entwicklung verteilter, mehrschichtiger Anwendungen zur Verfügung. Dabei bezeichnet <b>J2EE</b> die Versionen 1.0 (Dezember 1999) bis 1.4 (November 2003). Mit der Version <b>Java EE 5</b> (Mai 2006) folgte dann ein deutlich überarbeiteter Standard, der sehr stark durch zwei Open-Source-Produkte beeinflusst wurde: Das <a href="http://www.springframework.org/" target="_blank"> Spring Framework</a> als leichtgewichtige Enterprise Plattform revolutionierte die Art und Weise, mit der Enterprise Anwendungen entwickelt wurden. Und <a href=" http://www.hibernate.org/" target="_blank">Hibernate</a> etablierte sich als Persistenzlösung. Die Erhebung zeigt, dass J2EE bislang noch die Projektwelt dominiert. - Skriptsprachen sind selten
Seit 2007 treten vermehrt auch Skriptsprachen auf der Basis der <b>Java Virtual Machine</b> (JVM) in Erscheinung. Offenbar sind sie aber im Kontext der Java-Entwicklung noch nicht weit verbreitet (siehe oben). Groovy liegt in dieser Statistik klar vorne - sie wird von zirka 30 Prozent der Befragten eingesetzt. Die Entwicklung in diesem Umfeld bleibt sicher spannend. Interessant wird auch sein, in welchen Bereichen diese Skriptsprachen sich bewähren werden. Erleichtert wird eine erste Annäherung an Skriptsprachen durch die enge Integration mit Java. So können einzelne Funktionen in aktuellen Projekten mit Skriptsprachen realisiert werden, ohne das gesamte Projekt zu beeinflussen. Solche Skripte können gegebenenfalls wieder recht einfach entfernt werden. - Abseits von Java gibt es wenig
Der Vollständigkeit halber: Dargestellt sind Techniken, auf die die Java-Experten ebenfalls zurückgreifen. - Alle nutzen Eclipse
Bei der Frage nach den Software-Entwicklungswerkzeugen zeigt sich, dass <b>Eclipse</b> (beziehungsweise eine auf Eclipse basierende Entwicklungsumgebung) die bevorzugte Wahl praktisch aller Java-Entwickler ist. Der Vergleich der anderen beiden bedeutenden Tools zeigt, dass <b>IntelliJ Idea</b> mehr häufige Nutzer als <b>Netbeans</b> hat. Allerdings hat Netbeans die Nase vorn, zählt man häufige und gelegentliche Nutzer zusammen. - Entwickler bauen auf Open Source
Bei den Build-Tools hat <b>Ant</b> die größte Verbreitung. Das neuere <b>Maven</b> (in Version 1 seit Ende 2004 verfügbar) findet schon Akzeptanz bei zwei Drittel der Entwickler. Der Trend zeigt also Richtung Maven. - Trend zur neuen Lösung
<b>Subversion</b> ist inzwischen das beliebteste System zur Quellcode-Verwaltung. Es hat damit das ältere <b>CVS</b> überholt. Doch der Vorsprung ist relativ klein. Immerhin nutzen fast 80 Prozent der Entwickler noch CVS. Doch auch hier gibt es einen Trend zur neueren Lösung Subversion. - Fehlerverfolgung ist üblich
Mehr als zwei Drittel der befragten Entwickler greift regelmäßig auf Werkzeuge zur <b>Fehlerverfolgung</b> zurück. Der Grund dafür ist vermutlich, dass Entwickler-Teams ohne solche Tools gar nicht sinnvoll zusammen arbeiten können. Dagegen ist der Einsatz einer <b>Integrationsumgebung</b> deutlich weniger verbreitet. Fachlich ist eine kontinuierliche Integration jedoch empfehlenswert, um mögliche Fehler frühzeitig entdecken zu können. - Swing für Desktop-Anwendungen
In der Java-Welt gibt es eine Vielzahl von Frameworks, die einem Entwickler das Leben erleichtern. Aus dem Projektalltag sind sie nicht mehr wegzudenken; sie sind also essentielle Bestandteile der Software-Entwicklung mit Java. Für die Entwicklung von Desktop-Anwendungen ist nach wie vor <b>Swing</b> bevorzugte Wahl. Vermutlich wird bei Neuentwicklungen aber auch häufig eine jüngere Technologie eingesetzt. - Viele Tools für Web-Anwendungen
In der Entwicklung von Web-basierenden Anwendungen sieht das Bild anders aus. Auch hier hat Spring die Nase vorn, gefolgt von <b>Ajax</b> und <b>JSF</b>. Aber auch <b>Struts</b> und Eigenentwicklungen sind noch relativ häufig im Einsatz. Wicket und JBoss Seam sind nicht so stark vertreten. - Herkömmliches DHTML im Einsatz
Die obige Abbildung zeigt, dass für die Entwicklung von Rich-Internet-Applikationen meistens herkömmliches <b>DHTML</b> und <b>Javascript</b> zum Einsatz kommen. Andere Technologien folgen mit deutlichem Abstand. - Servlet Container auch für kritische Anwendungen
Als Container werden bei Server-Entwicklungen tendenziell eher <b>Servlet-Container</b> wie beispielsweise Tomcat statt vollwertiger Application-Server eingesetzt, wenngleich Letztere auch häufige Verwendung finden. Die Praxis zeigt, dass sehr große und geschäftskritische Systeme auch heute schon zuverlässig auf Servlet-Containern betrieben werden. - Alle schätzen Open Source
Entwickler stehen auf <b>Open Source</b>, das belegt die Erhebung sehr eindrucksvoll. Die Beispiele Spring Framework und Hibernate zeigen zudem, welchen Einfluss Open-Source-Projekte nehmen können und welche Innovationskraft sie haben. - Keine Qualitätprobleme
Auch die Qualität der <b>Open-Source-Lösungen</b> steht außer Frage. Beide Ergebnisse untermauern die Bedeutung der Open-Source-Projekte für die kommerzielle Softwareentwicklung. Quelloffene Lösungen haben sich etabliert. - Es gibt keinen typischen Entwicklungsprozess
Befragt nach den <b>Prozessen und Vorgehensweisen</b> antworteten viele Experten, sie programmieren gemäß <b>agiler Softwareentwicklung</b>. Allerdings zeigt sich, dass es nicht das typische Vorgehen im Entwicklungsprozess gibt. - Vorgaben zum Teil falsch dosiert
In größeren Projektteams ist es wichtig, dass alle Team-Mitarbeiter die gleiche Entwicklungsumgebung und zugehörigen Plugins verwenden. Manche Auftraggeber schreiben in ihren Projekten die Entwicklungsumgebung vor, um die Teamarbeit zu fördern. Andere Arbeitgeber lassen den Entwicklern Freiräume, die bevorzugte Umgebung zu nutzen. Drei Viertel der befragten Java-Experten sind mit den Vorgaben zur <b>integrierte Entwicklungsumgebung</b> beziehungsweise mit den gewährten Freiräumen zufrieden sind. Im Umkehrschluss bedeutet dies, dass bei jedem vierten Projekt die Vorgaben ungenau oder unvollständig beziehungsweise falsch sind. - Kundenwünsche sind unklar
Die <b>Anforderungsanalyse</b> ist die Basis jedes Software-Entwicklungsprojekts. Nur wenn die Wünsche des Kunden bekannt sind, kann eine optimale Lösung entwickelt werden. Im Projektalltag gelten solche Überlegungen offenbar wenig. 58 Prozent der Java-Experten glauben, der Anforderungsanalyse werde zu wenig Bedeutung beigemessen. Der Hinweis ist wichtig, denn der Software-Entwickler ist in der Regel der Erste, dem eine ungenügender Spezifikation in Sonderfällen oder fehlende Prozessschritte auffällt. - Dokumentation unzureichend
Ähnliches gilt für die <b>Entwicklerdokumentation</b>. Sie ist wichtig für die Wartung einer Anwendung, da sie neuen Mitarbeitern auch nach Monaten und Jahren einen Überblick über die Software geben soll. Eine fehlende Dokumentation führt zu einem erhöhten Einarbeitungsaufwand für neue Entwickler und zu einer schwierige Weiterentwicklungen der Software. Zwei Drittel der befragten Java-Experten sind der Meinung, dass die Dokumentation vernachlässigt wird. Für die kurzfristigen Projektziele (Termintreue und Budgeteinhaltung) ist sie nicht von Bedeutung. Mittel- und langfristig führt eine fehlende oder schlechte Dokumentation zu erheblichen Mehrkosten. - Qualitätssicherung wird vernachlässigt
Auch um die <b>Qualitätssicherung</b> scheint es nicht gut bestellt. 62 Prozent der Befragten glauben, die Bedeutung der Qualitätssicherung werde unterschätzt. Dass eine gute Qualitätssicherung Geld spart, sollte hinlänglich bekannt sein, wird im Projektalltag aber offenbar gerne verdrängt. Hier sind die Unternehmens- und IT-Leiter gefordert, entsprechende Prozesse einzuführen. Wer sie nicht selbst betreiben möchte, kann auf Dienstleister zurückgreifen. Inzwischen gibt es auch <b>Offshore-Anbieter</b>, die sich auf die Qualitätssicherung von Softwareentwicklungen spezialisiert haben. Möglicherweise ist die Trennung der Entwicklung und Qualitätssicherung ohnehin vorteilhaft. Sie reduziert die Gefahr, dass Mitarbeiter der Qualitätssicherung bei Projektengpässen ins Entwicklerteam abgezogen werden.
Auch die Google-Verantwortlichen scheinen bereits mit einer Klage gerechnet zu haben. In den jüngsten Quartalsberichten finden sich Hinweise auf mögliche rechtliche Verfahren und deren Folgen. "Wir sind und können auch in Zukunft Ziel von Patentrechtsklagen sein", heißt es dort. Diese abzuwehren sei teuer, könne signifikante finanzielle Schäden nach sich ziehen und die Möglichkeiten einschränken, künftig bestimmte Techniken einzusetzen.
Geschlagen geben will sich Google allerdings nicht. "Wir sind enttäuscht darüber, dass sich Oracle dafür entschieden hat, sowohl Google als auch die Open-Source-Community rund um Java mit dieser grundlosen Klage anzugreifen", lautet die Antwort des Android-Herstellers. Die Open-Source-Community um Java gehe weit über jedes einzelne Unternehmen hinaus und arbeite tagtäglich daran, das Web zu verbessern. "Wir werden die Open-Source-Standards verteidigen und fortfahren, zusammen mit der Branche die Android-Plattform weiterzuentwickeln."
Java-Vater geht auf die Barrikaden
Nachdem es im vergangenen halben Jahr ruhig um James Gosling geworden war, bezieht der Java-Erfinder seit der Klage gegen Google offen Stellung gegen Oracle. Gosling war nach Vollzug der Übernahme von Sun Microsystems im Januar dieses Jahres zunächst in Diensten Oracles geblieben, hatte dem Konzern dann aber Anfang April den Rücken gekehrt. Oracle habe versucht, ihn zu kontrollieren, moniert die Java-Ikone. Er hätte letztendlich nur noch als Maskottchen auf diversen Veranstaltungen auftreten dürfen. Hinter allen Entscheidungen, was Java betraf, habe man die Hand von Oracle-Chef Lawrence Ellison gespürt. "Er ist die Sorte Mensch, die mich zum Gruseln bringt", ließ Gosling in einem Interview mit der US-amerikanischen Magazin "eweek" durchblicken.
Parallel zu den Oracle-Veranstaltungen Open World und Java One startete Gosling eine Aktion für die Unabhängigkeit von Java. Er entwarf Motive für T-Shirts und forderte die Mitglieder der Java-Community auf, diese auf den Veranstaltungen zu tragen, um Oracle daran zu erinnern, seine Versprechen zu halten. Oracle selbst ignorierte die Initiative. Angesprochen auf die Aktion Goslings antwortete Thomas Kurian, Executive Vice President für die Produktentwicklung, lapidar: "Ich werde nicht darüber sprechen."