Embedded Java
Hintergrund Embedded Systems
Für Embedded-Lösungen ist eine Betriebssystem-/Laufzeitumgebung vonnöten, die unter anderem über folgende Eigenschaften verfügt:
- berechnenbares Laufzeitverhalten und große Zuverlässigkeit (meist durch Einsatz eines RTOS)
- Wiederverwendbarkeit von Komponenten (meist durch Einsatz einer entsprechenden Programmiersprache)
- größtmögliche Portabilität der Software-Komponenten
- Möglichkeit der Vorentwicklung auf herkömmlichen PCs (meist über Simulation)
- Debugging-Schnittstellen auf dem Target
Java-Einsatz
Die Programmiersprache Java besitzt in der vom Desktop her bekannten Grundform eigentlich nicht die hierfür notwendigen Eigenschaften. Allerdings existieren hochoptimierte JVMs von Drittanbietern, die speziell für Embedded System-Anwendungen optimiert wurden.
Dadurch, das jedoch weiterhin die entsprechenden Applikationen auch auf dem Desktop entwickelt werden können, wird das Prototyping vereinfacht und somit eine kürzere "time-to-market" innovativer Produktideen begünstigt.
Hierbei wird oftmals die Kombination Java und OSGi verwendet, um eine dynamische Laufzeitumgebung mit service-orientierter Ausrichtung zu schaffen. Diese kann mit nativen Anwendungen zusammen eingesetzt werden.
Beispiele
Beispiele für Embedded Java-Anwendungen, derzeit noch ohne OSGi-Einsatz, sind:
- aktuelle Mobiltelefone, die fast alle in der Lage sind, CLDC-basierte Java-Anwendungen auf MIDP (MIDlet)-Basis herunterzuladen
- Multimedia Home Platform-basierte (MHP) DVB-Empfänger, die interaktive Dienste im digitalen Fernsehen ermöglichen