Artikel

 
Februar 2010 | Artikel

Kommentar: Oracle auf dem Weg zu “Write-Once, Run-Anywhere”?

(Link zum Artikel: http://www.it-republik.de/jaxenter/artikel/2868)

Zusammenfassung und Kommentar zu Oracles Mobile-Strategie

"Write Once, Run Anywhere" - das alte Java-Paradigma hat Thomas Kurian, Vize-Präsident of Development bei Oracle, auf dem Webcast vom 27. Januar aus der Kiste geholt, als er die Strategie zu Java ME und Java SE vorstellte. Eine Vereinheitlichung der SE- und ME-APIs soll es möglich machen, Anwendungen einmal zu schreiben, um sie dann auf den verschiedensten Endgeräten - vom Mobiltelefon zum Flachbildfernseher bis zum Desktop-Computer - laufen zu lassen.

Ein hehres Ziel, das sich Oracle da auf die Fahnen schreibt - doch ist es auch umsetzbar? Kann sich Oracle tatsächlich gegen die Partikularinteressen der großen Mobile-Anbieter durchsetzen, die ja schließlich mit verantwortlich waren für die Aufsplittung der Java SDKs in SE und ME?

Java-ME-Experte Kay Glahn kommentiert die Ankündigung von Oracle zu Java ME, SE und Java FX und erklärt, warum die Aussagen für ihn ein positives Zeichen für die Entwickler-Community und die gesamte Industrie ist.

Teil 1   Teil 2   

Thomas Kurian von Oracle weist in seiner Präsentation darauf hin, dass mobile Endgeräte immer leistungsfähiger werden und der Übergang zwischen Desktop und Mobile immer fließender wird. Außerdem war es bisher für die Entwicklergemeinde schwierig, Software für verschiedene Geräte zu entwickeln, da es eine starke Fragmentierung zwischen verschiedenen Plattformen und Endgeräten gab.

Oracle will diese Probleme lösen, indem sie zum einen die APIs von Java ME und Java SE vereinheitlichen und zum anderen eine kohärente Deployment-Plattform für alle verschiedene Zielgräte bereitstellen. Hiermit soll erreicht werden, dass Applikationen nur noch einmal geschrieben werden müssen und dann auf den unterschiedlichsten Plattformen ausgeführt werden können.

Als Entwickler muss man also nicht vorab entscheiden, ob man eine Anwendung für den Desktop oder ein mobiles Endgerät entwickeln möchte. Oracle will mit dieser Strategie das ursprüngliche Versprechen von Java "Write-Once, Run-Anywhere" wieder wahrmachen und eine einheitliche Plattform schaffen, wie es auch auf dem Server der Fall ist. Java ME ist laut Oracle auf rund 2,6 Milliarden Mobiltelefonen verfügbar und hat daher ein riesiges Potential. Neue Geräte und Betriebsysteme fragmentieren jedoch weiterhin das Programmiermodell und außerdem ist eine weitere Konvergenz von Geräteeigenschaften zu beobachten.

Meiner Meinung nach geht Oracle hier den richtigen Weg. Fragmentierung innerhalb der Java-ME-Plattform war bisher für Entwickler ein riesiges Problem. Verschiedene Initiativen wie MSA (Mobile Service Architecture) oder JATAF (Java Application Terminal Alignment Framework) haben sich bereits dieses Problems angenommen. Allerdings besteht weiterhin eine Fragmentierung zwischen Java ME und SE, zumal aufgrund von wesentlich leistungsfähigeren Endgeräten Java SE inzwischen auch problemlos auf Mobiltelefonen eingesetzt werden kann.

Hinzu kommt die Android-Java-Plattform, die deutlich mehr Gemeinsamkeiten mit Java SE als mit Java ME hat. Sun hat bisher durch entsprechende Field of Use Restrictions in TCK Lizenzen verhindert, dass Java SE in großem Stil auf Mobiltelefonen zum Einsatz kam, was letztendlich zu einer proprietären auf Dalvik basierenden Java-Umgebung auf Android Geräten geführt hat. Oracle muss nun einen Weg finden, aus diesem Dilemma wieder herauszukommen, indem Java SE fit für mobile Geräte gemacht und mit Java ME zusammengeführt wird. In einer optimalen Welt würde man hierbei natürlich auch Android mit einbeziehen, um alle drei Java-Varianten wieder zusammenzuführen. Doch dies scheint äußerst schwierig, zumal sich Android bereits im Markt etabliert hat.

Ein guter Ansatz, um die aktuelle Java SE auf mobile Geräte zu bringen, wäre das bereits von Sun ins Leben gerufene Project Jigsaw, das eine Modulariserung der Java SE ermöglicht und somit eine abgespeckte Variante für mobile Endgeräte erlauben würde, die aber im Gegensatz zur Java ME aktuelle Java-Sprachfeatures unterstützen könnte. Außerdem hat man sich ja auch von der Java ME Seite mit MSA 2 und MIDP 3 durch die Einführung des Java SE Security Modells bereits der Desktop-Plattform angenähert. Dies macht es nun einfacher, mobilspezifische APIs auch auf Java SE zu portieren. Das von Java ME APIs häufig verwendete Generic Connection Framework ist mit JSR 197 sowieso schon seit langem für Java SE vorhanden, wurde aber bisher so gut wie nirgends implementiert. Oracle müsste außerdem versuchen, die Fragmentierung innerhalb von Java ME weiter zu reduzieren. Helfen könnte dabei ein neuer Ansatz innerhalb des JCP. Mehr Transparenz bei den TCK Tests und ein Open-Source-Ansatz wären hier wünschenswert.

Teil 1   Teil 2   

andere Artikel dieser Serie


Anzeige

Kommentare


Anzeige

zurück zum Seitenanfang