Java Magazin 6.13

Umfang: 100 Seiten

Erhältlich ab: 2013-05-07 00:00:00

Autoren: Andy Bosch, Christian Brandenstein, Mathias Doenitz, Wolf-Dieter Fink, Arno Haase, Dominik Helleberg, Tom Hombergs, Jürgen Lampe, Arne Limburg, Bernhard Löwenstein, Rich Manalang, Sascha Möllering, Michael Müller, Patrick Pfister, Danny Preussler, Lars Röwekamp, Benjamin Schupp, Heiko Seeberger, Sandro Sonntag, Kai Spichale, Christoph Strobl

Sie werden zu unserer Partnerseite entwickler.de weitergeleitet

Magazin

News

Bücher: Soft Skills für IT-Berater

Bücher: The Well-Grounded Java Developer

Der mobile Frühling
Das war die MobileTech Conference 2013 in München
von Claudia Fröhling, Christoph Ebert und Tom Wießeckel

Java Core

An der richtigen Stelle schneiden
Interface Segregation in der Praxis
von Jürgen Lampe

Titelthema

State of Scala
Wo steht Scala heute, und wohin wird die Reise gehen?
von Heiko Seeberger

Scala Macros
Wie man den Scala-Compiler erweitert
von Arno Haase

Akka – Actors auf der JVM
Einfachere Concurrency, Skalierbarkeit und Remoting durch Actors
von Mathias Doenitz

Tutorial

T-Shirts mit JavaServer Faces 2.2
Das Tutorial zur neuen Version von JSF
von Andy Bosch

Enterprise

Pimp your EJB-Client
Erweiterte Verbindungsmöglichkeiten und anwendungsspezifische Settings für EJB-Clients
von Wolf-Dieter Fink

Spring Data und Apache Solr
Von 0 auf Suche
von Christoph Strobl

Kolumne: EnterpriseTales
Java-EE-Architekturen und JPA: Verwendung des EntityManager im Java-EE-Stack
von Lars Röwekamp und Arne Limburg

The User strikes back
JBoss-Forge-Plug-ins selbst schreiben
von Christian Brandenstein und Sandro Sonntag

Embedded

LEGO MINDSTORMS NXT
Cooles Technikspielzeug für Jung und Alt
von Bernhard Löwenstein

Web

Barrierefreiheit
Barrierearme Webanwendungen mit Java und JavaScript
von Tom Hombergs

Vaadin: Endlich 7
Was bringt die neue Version?
von Benjamin Schupp und Patrick Pfister

Agile

BYO
Wenn Entwickler ihre eigenen Tools mitbringen
von Rich Manalang

Mehr als Qualitätssicherung
Testwissen für Java-Entwickler
von Kai Spichale

Android360

ADT: Without a trace
Performanceprobleme aufspüren
von Dominik Helleberg

Dependency Injection für Android
Transfuse: Codetransfusion fürs Smartphone
von Danny Preussler

Push me if you can
Push Notifications mit dem Google-Cloud-Messaging-Service
von Lars Röwekamp und Arne Limburg

Samba mit Lambda

Vor einem Jahr fand der Patentstreit zwischen Oracle und Google wegen der Verwendung von Java-APIs in Android ein vorläufiges Ende, und zwar durch den Richterspruch von William Alsup, dem zufolge APIs nicht mit einem Copyright zu belegen seien. Nun geht Oracle in die Berufung und beabsichtigt offenbar, gemeinsam mit Microsoft und IBM, den Kern dieses Urteils unter Beschuss zu nehmen.

Als Reaktion auf diese Entwicklung hat Kohsuke Kawaguchi, Gründer des populären Build-Management-Werkzeugs Jenkins, eine Petition gestartet, um genau dieses zu verhindern: Copyrights auf APIs. Kern seiner Argumentation: „Our economy will be more competitive when people can switch providers using compatible APIs. Thus it is important to protect the openness of APIs and the freedom of software developers to provide alternative implementations.“

Kohsuke und weitere Unterstützer der Aktion argumentieren, dass Copyrights nur den großen Softwareherstellern, nicht aber den kleineren Anbietern und schon gar nicht den Anwendern von Nutzen seien. In einer Welt, die zunehmend durch die Nutzung von Open-Source-Komponenten bzw. von gehosteten Cloud-Angeboten (PaaS, SaaS) geprägt ist, sprich: in der das weltweite Web das vorrangige Betriebssystem für Geschäftsmodelle darstellt, bedeutet das Schützen von Schnittstellen ein gewaltiges Innovationshemmnis.

Samba mit Lambda

Gute Software zu bauen, ist bekanntlich nicht einfach. Gute Software „pünktlich“ zu releasen, ist eine Herausforderung. Java 8 zu releasen – eine Kunst, die kaum einer beherrscht?

Als vor zwei Jahren Java 7 erschien, war dies ein gutes Zeichen, signalisierte es doch, dass es wieder vorangeht in der Java-Welt, vor allem durch invokedynamic. Gewiss, einige wichtige Elemente, die eigentlich für dieses Release geplant waren, mussten auf Java 8 verschoben werden, das aber nur ein Jahr später folgen sollte.

Die Frage, die Mark Reinhold seinerzeit an die Community stellte, signalisierte eine unerwartete Offenheit, gekoppelt mit einer wohltuenden pragmatischen Denke. Das Ergebnis ist bekannt: Java 7 kam zwar nach Plan, aber als eine Art reduzierte Version. Wichtige Features wie Lambda oder Jigsaw wurden verschoben.

Aber Java 8 kam nicht wie angekündigt ein Jahr später, und auch eine weitere Verschiebung um ein halbes Jahr konnte nicht eingehalten werden, sodass schließlich der Sommer 2013 anvisiert worden war.

Daraus wird nun abermals nichts, wie wir seit Mitte April wissen. Reinhold hat sich wieder an die Öffentlichkeit gewandt und in lobenswerter Offenheit bekannt gegeben, dass die Features, die so wichtig für die Modernisierung der Plattform gewesen wären, nicht pünktlich fertig gestellt werden können.

Gewiss, niemand wäre daran interessiert, ein unvollständiges Release nur um des Termins willen zu verfolgen, und alle begrüßen gewiss Oracles Wille, Substanz zu liefern, doch fragen wir uns schon, warum es immer wieder nicht gelingt, so wichtige Releases einer Plattform, auf die sich eine so große Industrie verlässt, auf den Weg zu bringen.

Sind da die richtigen Leute am Werk? Werden die richtigen Prioritäten gesetzt? Sind die Entscheidungsprozesse geschliffen genug, um eine vernünftige Balance zwischen Communitybeteiligung und Effizienz herzustellen?

In seinem Blog vom 18. April schreibt Reinhold, dass es vor allem an den Securityproblemen von Java liege, dass andere Arbeiten liegen geblieben seien. Diese haben man zuerst fixen müssen. Der ganze Text suggeriert diesen Zusammenhang. Allerdings schreibt er, wenn man genauer hinsieht: „It’s one of the reasons …“ (http://mreinhold.org/blog/secure-the-train).

Offenbar fehlen dem Team genügend oder ausreichend kompetente Mitarbeiter, was zur Folge hat, dass so wichtige Themen wie „Security“ und „Modernisierung der Plattform“ nicht parallel abgearbeitet werden können. Das kommt in den besten Familien vor. Zugleich arbeiten z. B. über hundert Entwickler an JavaFX, und dies mit hoher Schlagzahl und Effizienz; hat da einer die Community gefragt, ob sie dieser Prioritätensetzung überhaupt zustimmt?

Andere Kommentatoren merken an, dass die in der Öffentlichkeit so imageschädigenden Securityprobleme von Java einzig auf die Applets sowie auf Java Web Start – also Java im Browser – basieren; da stellt sich die Frage, ob wir diese Konzepte aus den 1990er bzw. den frühen 2000er Jahren wirklich noch brauchen oder ob wir sie nicht vielmehr vom allgemeinen JDK in irgendeiner Weise abkoppeln sollten? Denn: Basiert Ihr Geschäft etwa noch auf Java-Applets? Oder benötigen Sie vielmehr eine Plattform, die modern, modular und hochproduktiv sein sollte?

Generell besteht kein Grund zur Panik, und wenn es der beste Weg ist, Java 8 zu verschieben, um ein Release mit Qualität und Substanz zu schaffen, dann soll uns das recht sein. Aber ein Anlass, um weiter über Transparenz und Effizienz bei der Weiterentwicklung und Pflege der Plattform nachzudenken, sollte die neuerliche Verschiebung schon sein. Halten wir’s einstweilen aber mit dem ewigen Oracle-Kritiker Stephen Colebourne, der auf Twitter nur lapidar kommentierte: „It’ll be a while yet before we can samba with project lambda.“

In diesem Sinne wünsche ich Ihnen einen erfolgreichen Java-Frühling und viel Spaß mit der vorliegenden Ausgabe!

Sebastian Meyen, Chefredakteur Java Magazin
Twitter: @smeyen
Google+: gplus.to/JavaMagazin