Montag, 6. September 2010 |
In vier Wochen ist es soweit: In München startet die siebte W-JAX im Westin Grand München Arabellapark. Wie immer darf man sich auf viele interessante Special Days freuen, darunter auch den Mobile Day. Wir sprachen mit dem Organisator des Tages, Kay Glahn, über Mobile Java, die Rolle von JavaFX und Kays Aufgaben als Specification Lead für die JSRs 248 und 249.
JAXenter: Seit vielen Jahren wird uns die mobile Revolution versprochen, allerdings scheint es, dass erst das iPhone den Durchbruch gebracht hat. Was bedeutet dies für Mobile Java?
Kay Glahn: Das iPhone hat tatsächlich eine Revolution ausgelöst, indem es vor allem einen neuen Hype erzeugt hat, den auch andere Plattformen wie Mobile Java nicht ignorieren können. Das iPhone hat eine neue Meßlatte gesetzt und auch Mobile Java muss sich nun daran orientieren. Meiner Meinung nach wirkt sich das positiv auf die Entwicklung von Mobile Java aber auch anderen Plattformen aus, da diese nun gezwungen sind mit dem iPhone mitzuhalten. Auf der anderen Seite muss man auch ganz klar sagen, dass das iPhone im Moment noch ein Nischenprodukt ist, was die absoluten Stückzahlen der am Markt verfügbaren Geräte betrifft. Möchte man eine mobile Anwendung auf möglichst vielen Geräten ausrollen, dann ist Java zurzeit die einzige Alternative.
JAXenter: Welche Rolle wird JavaFX Mobile in diesem Zusammenhang in der Zukunft spielen?
Kay Glahn: JavaFX Mobile setzt einen zusätzlichen User Interface Layer auf den Mobile Java Stack und ergänzt ihn somit. JavaFX ermöglicht es, ansprechende User Interfaces zu entwickeln und multimediale Inhalte einzubinden, was bisher bei Java ME immer problematisch war. Außerdem soll JavaFX Mobile ermöglichen, dass auch Designer einen einfachen Zugang zu Java ME bekommen und in Projekte mit eingebunden werden können. JavaFX Mobile stellt die Komponente bereit, die Mobile Java immer gefehlt hat, denn bisher mussten Entwickler meistens eigene UI-Libraries für Java ME entwickeln, wenn sie ein anspruchsvolles UI bereitstellen wollten. JavaFX Mobile schafft hier Abhilfe. Leider ist JavaFX Mobile proprietär und nicht standardisiert und als Entwickler oder Designer muss man schon wieder eine neue Sprache lernen. Aber für die, die bei Java bleiben wollen, bietet Sun mit LWUIT ebenfalls einen anspruchsvollen UI-Layer in Form einer Open Source Bibliothek an.
JAXenter: Der Java Mobile Day wird auch das Thema Mobile Widgets behandeln. Was kann man sich darunter vorstellen?
Kay Glahn: Der Begriff Mobile Widgets ist etwas überladen, da er zurzeit für die verschiedensten Technologien eingesetzt wird. In den meisten Fällen versteht man darunter jedoch mobile Webanwendungen, die auf JavaScript und AJAX basieren und auch im offline Betrieb, das heißt, wenn das Handy mal gerade keinen Empfang hat, ausgeführt werden können. Hierdurch können Designer und Web-Entwickler relativ schnell in die Welt mobiler Anwendungen einsteigen und kleine auf bestimmte Aufgaben spezialisierte Anwendungen entwickeln. Ausgelöst wurde der Widget-Hype vermutlich durch das iPhone, dass ursprünglich nur die Entwicklung von Web-Anwendungen zuließ. Interessanterweise sind auf dem iPhone aber inzwischen die meisten Anwendungen native Applikationen und das Thema Web-Anwendungen ist bei iPhone-Entwicklern schon fast wieder aus der Mode. Nichtsdestotrotz werden Widgets in der Zukunft eine wichtige Rolle spielen und eine sinnvolle Ergänzung zu nativen und Java-Applikationen bieten. Noch interessanter wird das Thema Widgets durch Bestrebungen verschiedener Gruppen wie JIL, BONDI oder die W3C Device API Working Group einen Zugriff auf die Geräte-Hardware von Mobiltelefonen wie GPS, Kamera und Bluetooth zu ermöglichen. Obwohl Widgets nicht auf Java sondern Java Script basieren, dürfen sie aufgrund ihrer Aktualität und der Verwandtschaft zu Java einfach beim Mobile Day nicht fehlen.
JAXenter: Für die JSR-248 und 249 agierst du als Specification Lead. Warum gibt es für Mobile Service Architecture eigentlich zwei Requests? Passt sich 249 nur an die aktuelle mobile Industrie an oder unterscheiden sich beide Requests in mehr Punkten?
Kay Glahn: Ursprünglich sollten in JSR 248 und 249 zwei verschiedene Plattformen spezifiziert werden. JSR 248 sollte eine CLDC basierte Plattform spezifizieren und JSR 249 eine CDC basierte. Das bedeutet, dass ursprünglich mit JSR 248 eher Feature Phones und mit JSR 249 High-end Smart Phones abgedeckt werden sollten. Im Laufe der Zeit hat sich jedoch herausgestellt, dass es eher hinderlich ist, zwei komplett separate Plattformen zu spezifizieren und somit Java ME in sich zu fragmentieren. Nach dem Abschluss von JSR 248 hat sich deshalb die Expert Group darauf geeinigt, mit JSR 249 den Nachfolger von JSR 248 zu spezifizieren und ihn MSA 2 zu nennen. Diese sogenannte Single Path Evolution Ansatz vermeidet das Einführen einer komplett separaten Plattform und baut stattdessen auf MSA 1 auf, deckt aber ein wesentlich breiteres Spektrum an Endgeräten ab. Da für viele Hersteller, Operator und auch Entwickler Emerging Markets immer wichtiger werden, adressiert MSA 2 auch Ultra-low-end-Geräte, aber auch Feature Phones und High-end Smart Phones. MSA 2 basiert vor allem auf MIDP 3 kann aber für low-end Geräte auch MIDP 2 einsetzen. Da MIDP 3 auch die CDC unterstützt, können High-end Geräte auch diese Konfiguration einsetzen. Ziele von MSA 2 ist es, einen möglichst fließenden Übergang von MSA 1 zu erreichen und eine konsistente Java-Plattform für ein möglichst breites Spektrum and Endgeräten bereitzustellen.
JAXenter: Nimmt die Position eines Spec-Leads viel Zeit in Anspruch?
Kay Glahn: Die Position eines Spec-Leads ist relativ zeitaufwendig, da man als Spec-Lead die gesamte Expert Group koordinieren muss und versuchen muss, dass sich diese möglichst optimal austauscht und gleichzeitig die Meinung der Community berücksichtigt. Jede Firma, die in der Expert Group aktiv ist, hat ihre eigenen Requirements und Vorstellungen, wie das Endergebnis aussehen soll, so dass es nicht immer ganz einfach ist, diese verschiedenen Perspektiven unter einen Hut zu bringen. Außerdem muss man berücksichtigen, wie sich die Community und Entwickler die mobile Java-Plattform der Zukunft vorstellen und aktiv mit diesen in Kontakt treten. Aufgabe des Spec-Leads ist es, zwischen all den verschiedenen Interessengruppen zu vermitteln und eine möglichst optimale Lösung zu schaffen, die zwar oft ein Kompromiss ist, aber dennoch die Anforderungen der Mehrheit der Industrie erfüllt. Neben regelmäßigen Telefonkonferenzen gehören hierzu auch häufige Face-to-face Meetings, die Weltweit verteilt stattfinden. Hinzu kommt natürlich noch eine Menge administrative Tätigkeit und für mich vor allem die Kommunikation mit den verschiedensten Abteilungen innerhalb von Vodafone, die ebenfalls wichtige Requirements liefern.
Kay Glahn ist unabhängiger IT-Berater mit den Schwerpunkten Wireless Applications und Mobility. Er berät internationale Kunden bei der Umsetzung von Projekten im Mobile-Bereich und veröffentlicht außerdem regelmäßig Fachartikel zu diesem Thema. Er agiert hierbei vor allem als Schnittstelle zwischen Business und Technologie. Kay hat langjährige Erfahrung mit Java und objektorientierten Programmiersprachen und hat bereits 1997 ein Buch zum Thema Java veröffentlicht. Als Gründer und ehemaliger Geschäftsführer der Firma 4dimensions GmbH & Co. KG hat er auch Erfahrung in der Geschäftswelt und in großen Software-Projekten gesammelt. Zurzeit berät er unter anderem Vodafone bei seiner Mobile-Java-Strategie und vertritt die Firma als Specification Lead für die Mobile Service Architecture (JSR 248 und 249) im Java Community Process.