2 Ein Streifzug durch die JavaME



Ähnliche Dokumente
2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:

Car-Net über WLAN Aufbau einer Internet-Verbindung über WLAN zur Nutzung von Car-Net

Analyse zum Thema: Laufzeit von Support-Leistungen für ausgewählte Server OS

CADEMIA: Einrichtung Ihres Computers unter Linux mit Oracle-Java

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

Car-Net über WLAN Aufbau einer Internet-Verbindung über WLAN zur Nutzung von Car-Net

DIE SCHRITTE ZUR KORREKTEN LIZENZIERUNG

Kap. 35 Swing: Grundlagen Kap Swing: Hauptfenster

CADEMIA: Einrichtung Ihres Computers unter Windows

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Tutorial: Wie nutze ich den Mobile BusinessManager?

HTBVIEWER INBETRIEBNAHME

Windows Small Business Server (SBS) 2008

Windows Server 2012 R2 Essentials & Hyper-V

Präsentation Von Laura Baake und Janina Schwemer

Lizenzierung von System Center 2012

Mitarbeiterbefragung als PE- und OE-Instrument

Tipps und Tricks zur Installation von Java-basierten Programmen auf Handys

Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10. Technische Informationen (White Paper)

1.3 MDM-Systeme KAPITEL 1 ZAHLEN UND FAKTEN

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Wo finde ich die Software? - Jedem ProLiant Server liegt eine Management CD bei. - Über die Internetseite

Scalable Vector Graphics-basierte

Task: Nmap Skripte ausführen

Grundfunktionen und Bedienung

Research Note zum Thema: Laufzeit von Support-Leistungen für Server OS

Telefonieren mit App's"! iphone mit Bria Informationen zur Nutzung von TeScript

Schumacher, Chris Druckdatum :11:00

Java Micro Edition. Entwicklung mobiler JavaME-Anwendungen mit CLDC und MIDP. von Klaus D. Schmatz. 2., aktualis. u. erw. Aufl.

SCHULUNG MIT SYSTEM: E-LEARNING VON RAUM21

Mobile Intranet in Unternehmen

Informationen zum neuen Studmail häufige Fragen

ACDSee Pro 2. ACDSee Pro 2 Tutorials: Übertragung von Fotos (+ Datenbank) auf einen anderen Computer. Über Metadaten und die Datenbank

Um zu prüfen welche Version auf dem betroffenen Client enthalten ist, gehen Sie bitte wie folgt vor:

SQL Server 2008 Standard und Workgroup Edition

CADEMIA: Einrichtung Ihres Computers unter Mac OS X

SQL Server 2005 Standard Edition SQL Server 2005 Enterprise Edition SQL Server 2005 Workgroup Edition

robotron*e count robotron*e sales robotron*e collect Anmeldung Webkomponente Anwenderdokumentation Version: 2.0 Stand:

Tess TeSign nutzen mit App's"! iphone und Bria Informationen zur Nutzung

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv

Die Lernumgebung des Projekts Informationskompetenz

Entwicklung des Dentalmarktes in 2010 und Papier versus Plastik.

Mail-Account Unimail mit der Einstellungen für Outlook Express 5.0

e-books aus der EBL-Datenbank

Anleitung mtan (SMS-Authentisierung) mit SSLVPN.TG.CH

Weiterleitung einrichten für eine GMX- -Adresse

EINE PLATTFORM

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Lokale Installation von DotNetNuke 4 ohne IIS

Der schnelle Weg zu Ihrer eigenen App

Mit jedem Client, der das Exchange Protokoll beherrscht (z.b. Mozilla Thunderbird mit Plug- In ExQulla, Apple Mail, Evolution,...)

4D Server v12 64-bit Version BETA VERSION

impact ordering Info Produktkonfigurator

Clientkonfiguration für Hosted Exchange 2010

Benutzerhandbuch. Leitfaden zur Benutzung der Anwendung für sicheren Dateitransfer.

Lizenzierung von SharePoint Server 2013

Professionelle Seminare im Bereich MS-Office

terra CLOUD IaaS Handbuch Stand: 02/2015

Lizenzierung von Windows Server 2012

Windows 8 Lizenzierung in Szenarien

Reporting Services und SharePoint 2010 Teil 1

MetaQuotes Empfehlungen zum Gebrauch von

2015 conject all rights reserved

1 Einleitung. 1.1 Caching von Webanwendungen Clientseites Caching

ANLEITUNG GERÄTEREGISTRATION AN KRZ.SMK

Optimal vorbereitet. Fit fürs Studium mit den Vorbereitungskursen der OHN. Fragen? Jetzt anmelden!

Sicherheit im Online-Banking. Verfahren und Möglichkeiten

Windows 7: Neue Funktionen im praktischen Einsatz - Die neue Taskleiste nutzen

Kommunikations-Management

Step by Step Webserver unter Windows Server von Christian Bartl

Fotos in Tobii Communicator verwenden

Sichere Kommunikation mit Ihrer Sparkasse

Herzlich Willkommen bei der nfon GmbH

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze

SCHRITT FÜR SCHRITT ZU IHRER VERSCHLÜSSELTEN

ENTDECKEN SIE DIE VORTEILE VON SUBSCRIPTION SOFTWARE HERUNTERLADEN

lldeckblatt Einsatzszenarien von SIMATIC Security-Produkten im PCS 7-Umfeld SIMATIC PCS 7 FAQ Mai 2013 Service & Support Answers for industry.

Zeichen bei Zahlen entschlüsseln

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Einrichten der Outlook-Synchronisation

SMS-Versand in MACS Einrichtung des SMS-Versand Verwendung des SMS-Versandes Der SMS-Versand Empfängerfeld Empfänger-Rufnummer Inhalt der SMS

LabView7Express Gerätesteuerung über LAN in einer Client-Serverkonfiguration. 1. Steuerung eines VI über LAN

PCC Outlook Integration Installationsleitfaden

Traditionelle Suchmaschinenoptimierung (SEO)

virtuos Leitfaden für die virtuelle Lehre

Installationsanleitung

Anwenderdokumentation PersoSim

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

Handout Wegweiser zur GECO Zertifizierung

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

ICS-Addin. Benutzerhandbuch. Version: 1.0

Wie lizenziert man die Virtualisierung von Windows Desktop Betriebssystemen?

Multicheck Schülerumfrage 2013

Step by Step Remotedesktopfreigabe unter Windows Server von Christian Bartl

ROFIN App Benutzerhandbuch. Version 1.0

Anleitung zum Extranet-Portal des BBZ Solothurn-Grenchen

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

Transkript:

7 The nice thing about standards is that you have so many to choose from; furthermore, if you don t like any of them, you can just wait for next year s model. Andrew S. Tanenbaum Die Java Micro Edition ist die»kleinste«der drei Java-Editionen und das in mehrerlei Hinsicht. Zum einen ist sie für den Einsatz in kleinen Endgeräten ausgelegt, die erheblich weniger Rechenleistung und Speicherkapazität aufbieten können als die Desktop- und Serversysteme, auf denen die JavaSE und JavaEE zum Einsatz kommen. Als Folge dieser Ressourcenbeschränkung fällt zum anderen der Funktionsumfang, gemessen an der Zahl der Programmierschnittstellen in den Klassenbibliotheken, bei der Micro Edition zwangsläufig bescheidener aus als bei den mächtigeren Editionen. Ferner ist der Leistungsumfang der Java Virtual Machine eingeschränkt, was sich etwa im Fehlen eines Just-in-Time-Compilers niederschlagen kann. Zu guter Letzt unterstützt die virtuelle Maschine nicht notwendigerweise den vollständigen Java-Sprachumfang, so wie er aus der Standard Edition bekannt ist. Trotzdem wirkt die JavaME häufig als die am schwierigsten zu durchschauende Edition. Das kann zum Teil daran liegen, dass sich die zumeist vorhandenen Erfahrungen aus JavaSE-Projekten nicht unverändert auf JavaME-basierte Entwicklungen übertragen lassen. Denn mitunter existieren für eine bestimmte Aufgabe, etwa Netzwerkprogrammierung oder die Gestaltung von Bedienoberflächen, um nur zwei Beispiele zu nennen, in der JavaSE und JavaME unterschiedliche Philosophien und Programmierschnittstellen. Zum größeren Teil resultieren die Einstiegshürden aber wohl aus dem Fehlen einer einheitlichen, durchgängigen Spezifikation und einer umfassenden Referenzimplementierung. Vielmehr gibt es mehrere, teilweise aufeinander aufbauende, sich teilweise überlappende und sich zum anderen Teil gegenseitig ausschließende Spezifikationen, die in der Summe unter dem Begriff»JavaME«firmieren. Referenzimplementierungen sind dementsprechend auch nur für einzelne Spezifikationen oder Gruppen von verwandten Spezifikationen erhältlich.

8 2.1 Konfigurationen, Profile und optionale Pakete JVM und KVM Zwei Säulen Java Specification Request Um einen ersten Überblick über die Rolle der diversen Konfigurationen, Profile und optionalen Pakete innerhalb des JavaME-Rahmenwerks zu geben und ihre wechselseitigen Abhängigkeiten aufzuzeigen, ist eine grafische Darstellung wie in Abbildung 2 1 recht hilfreich. Sie reflektiert die in Abschnitt 1.2.3 angerissene Dreischichtenarchitektur. Die Konfiguration in der unteren Schicht stellt eine Klassenbibliothek und eine virtuelle Maschine eine vollständige Java Virtual Machine (JVM) bei der CDC und eine abgespeckte Kilobyte Virtual Machine (KVM) bei der CLDC für die darüber angesiedelten Profile und optionalen Pakete zur Verfügung. Der Funktionsumfang der Konfiguration spiegelt die Leistungsfähigkeit einer Klasse von Endgeräten wider: Die CLDC ist für stark ressourcenbeschränkte Ablaufumgebungen ausgelegt, die CDC benötigt schon eine etwas mächtigere Grundlage. Die Profile und (in manchen Fällen) die optionalen Pakete sind an eine bestimmte Konfiguration gebunden. Das Foundation Profile setzt beispielsweise bestimmte Klassen und Leistungsmerkmale in der virtuellen Maschine voraus, die bei der CLDC nicht vorhanden sind. Wegen dieser Abhängigkeiten haben sich innerhalb der JavaME de facto zwei getrennte Säulen herausgebildet. Die Spezifikationen der einzelnen Konfigurationen, Profile und optionalen Pakete gehen aus verschiedenen JCP-Gruppen hervor. Startpunkt der Aktivitäten einer Gruppe ist ein so genannter Java Specification Request (JSR), das Resultat ist eine Spezifikation, eine dazu korrespondierende Referenzimplementierung und ein Technology Compatibility Kit (TCK), mit dem die Kompatibilität einer Implemen- Abb. 2 1 Editionen, Konfigurationen, Profile und optionale Pakete Java Enterprise Edition (JavaEE) RMI Java Micro Edition (JavaME) Optionale Pakete WMA MMAPI PDA BT Web Svc. Location....... Personal Java Standard Edition (JavaSE) Personal Basis Foundation Profile CDC MIDP IMP CLDC Profile JVM JVM KVM

2.1 Konfigurationen, Profile und optionale Pakete 9 tierung mit der Spezifikation überprüft werden kann. Die Ergebnisse sind unter der Adresse http://www.jcp.org/en/jsr/all/ verfügbar. Diese Seite ist jedoch nicht auf die JavaME spezialisiert, sondern beinhaltet auch Arbeiten aus dem JavaSE- und JavaEE-Umfeld. Ist die Gruppennummer bekannt, so ist mit einer speziellen URL ein direkter Zugriff möglich, z. B. http://www.jcp.org/en/jsr/detail?id=139 für JSR-139. Für die Konfigurationen zeichnen vier Expertengruppen verantwortlich, die in Tabelle 2 1 zusammengestellt sind. JSR Gegenstand Ver. 30 Connected, Limited Device Configuration (CLDC) 1.0 139 Connected, Limited Device Configuration (CLDC) 1.1 36 Connected Device Configuration (CDC) 1.0 218 Connected Device Configuration (CDC) 1.1 Tab. 2 1 Konfigurationen für die JavaME Die Profile sind in Tabelle 2 2 aufgelistet. Oberhalb der CLDC gibt es neben dem MIDP, auf das im weiteren Verlauf des Buchs in aller Ausführlichkeit eingegangen wird, mit dem Information Module Profile (IMP) noch ein weiteres Profil. Auf der Seite der CDC existieren drei Profile mit einer»zwiebelartigen«struktur: Das Personal Profile enthält das Personal Basis Profile, das seinerseits das Foundation Profile umschließt. Prinzipiell ist jedoch auch eine Implementierung von MIDP oberhalb der CDC anstelle der CLDC denkbar. JSR Gegenstand Ver. CLDC CDC 37 Mobile Information Device Profile (MIDP) 1.0 118 Mobile Information Device Profile (MIDP) 2.0 ( ) 195 Information Module Profile (IMP) 1.0 228 IMP Next Generation (IMP NG) 1.0 46 Foundation Profile 1.0 219 Foundation Profile 1.1 129 Personal Basis Profile 1.0 217 Personal Basis Profile 1.1 62 Personal Profile 1.0 216 Personal Profile 1.1 Tab. 2 2 Profile für die JavaME Das Einsatzgebiet des IMP sind Module, die im Bereich Machine-to- Machine-Kommunikation eine bedeutende Rolle spielen. Bezogen auf Datendienste verfügen diese Module über ähnliche Fähigkeiten wie Machine-to-Machine: IMP

10 Profile für die CDC CLDC für Mobiltelefone Optionale Pakete Mobiltelefone, haben aber keine Bedienoberfläche im gewohnten Sinne und unterstützen keine Sprachtelefonie. Meist finden sich IMP- Module als Komponenten in anderen Produkten und Lösungen wie Automaten oder Ortungseinheiten. Mit dem IMP könnte beispielsweise ein Getränkeautomat selbstständig Nachschub anfordern, sobald ein bestimmter Restbestand an Mineralwasser unterschritten wird. Eine Ortungseinheit mit integriertem GPS-Empfänger könnte auf einen bestimmten Reiz hin (Lichteinfall, Erschütterung, Temperatur usw.) ihre aktuelle Position an einen Server melden. Die Klassenbibliotheken des IMP sind jeweils echte Teilmengen der entsprechenden MIDP-Version: IMP 1.0 ist eine Teilmenge des MIDP 1.0, IMP NG des MIDP 2.0. Für die CDC 1.0 und die darauf aufbauenden Profile, nämlich das Foundation Profile 1.0, das Personal Basis Profile 1.0 und das Personal Profile 1.0, stand die Java Standard Edition Version 1.3 Pate. Die CDC 1.1 und die entsprechenden Profile mit der Versionsnummer 1.1 orientieren sich an der JavaSE 1.4.2. Die CDC und die drei genannten Profile definieren sich durchweg als mehr oder weniger umfangreiche Teilmengen der Klassenbibliothek der Standard Edition. Das Foundation Profile ist die kleinste dieser Teilmengen, die unter anderem auf den Bereich der grafischen Bedienoberfläche in Gänze verzichtet. Das Personal Basis Profile übernimmt einen Teil der Pakete des Abstract Window Toolkits (AWT), lässt dabei aber Klassen für schwergewichtige Komponenten wie java.awt.button oder java.awt.list weg. Letztere sind schließlich im Personal Profile enthalten. In den derzeit erhältlichen Mobiltelefonen ist die CDC indes noch nicht sehr verbreitet. Dank der ständig zunehmenden Leistungsfähigkeit der Hardware wird in neu erscheinenden Geräten zwar zunehmend ein Trend hin zur CDC zu beobachten sein; für den Anwendungsentwickler bieten heutzutage aber die CLDC und das MIDP eine Plattform mit einer weitaus größeren Marktdurchdringung. Aus kommerzieller Sicht ist dabei vor allem die millionenfache Verbreitung von Mobiltelefonen, die die CLDC und das MIDP unterstützen, und das noch zu erwartende Wachstum interessant. Aus technischer Warte erscheint die künftige Weiterentwicklung der Plattform gesichert. Die diversen optionalen Pakete, die bereits existieren oder sich derzeit in Vorbereitung befinden, untermauern diese Prognose. Einige dieser optionalen Pakete sind in Tabelle 2 3 zusammengestellt. Die Verfügbarkeit der optionalen Pakete in den Endgeräten kann von Hersteller zu Hersteller, und innerhalb des Portfolios eines Herstellers von Modell zu Modell variieren. Die Portabilität von Applikationen, die von optionalen Paketen Gebrauch machen, ist deshalb in

2.1 Konfigurationen, Profile und optionale Pakete 11 JSR Gegenstand Ver. 75 PDA Optional Packages 1.0 82 Java APIs for Bluetooth 1.0 120 Wireless Messaging API (WMA) 1.1 135 Mobile Media API (MMAPI) 1.1 172 Web Services API 1.0 177 Security and Trust Services API (SATSA) 1.0 179 Location API 1.0 180 SIP API 1.0 205 Wireless Messaging API (WMA) 2.0 211 Content Handler API (CHAPI) 1.0 226 Scalable 2D Vector Graphics API 1.0 229 Payment API (PAPI) 1.0 234 Advanced Multimedia Supplements (AMMS) 1.0 238 Mobile Internationalization API 1.0 253 Mobile Telephony API (MTA) 1.0 Tab. 2 3 Optionale Pakete für die CLDC der Praxis eingeschränkt. Ausführlichere Informationen zu den optionalen Paketen finden sich in Kapitel 11. Eine weitere, auf JSR-185 zurückgehende Spezifikation, Java Technology for the Wireless Industry (JTWI), ist ein Versuch, eine gemeinsame Basis für Applikationen zu legen, deren Ansprüche die Leistungsmerkmale der Konfiguration und des Profils übersteigen. JTWI stellt eine Art Gütesiegel dar: Ein JTWI-kompatibles Gerät implementiert mindestens den in JSR-185 festgelegten Funktionsumfang und muss dies in einer umfangreichen Test-Suite nachgewiesen haben. Wie in der JTWI-Referenzarchitektur in Abbildung 2 2 zum Ausdruck kommt, werden neben der CLDC 1.0 oder 1.1 und dem MIDP 2.0 das Wireless Messaging API und (Teile des) Mobile Media API gefordert. Diese beiden Pakete betreffen Grundfunktionalität, die heute jedes gängige Mobiltelefon beherrscht. Daher liegt der Wunsch, diese Funktionen auch in Java nutzen zu können, auf der Hand. Zusätzliche optionale Pakete und proprietäre Java-Klassenbibliotheken dürfen ebenfalls vorhanden sein. Darüber hinaus bringt JSR-185 einige Konkretisierungen für Aspekte, bei denen die CLDC- und MIDP-Spezifikationen noch Interpretationsspielraum lassen. Während die CLDC beispielsweise nur definiert, dass die Systemuhr über System.currentTimeMillis() ausgelesen werden kann, macht JTWI Vorgaben für die Taktrate der Uhr. Java Technology for the Wireless Industry

12 Abb. 2 2 Referenzarchitektur nach JSR-185, Java Technology for the Wireless Industry MIDP 2.0 (JSR-118) MIDlet-Suites, OEM-Anwendungen WMA 1.1 (JSR-120) MMAPI 1.1 (*) (JSR-135) Optionale Pakete OEM- Klassen Nativer Browser Natives AMS / OTA Native Anwendungen CLDC 1.0 (JSR-30) / CLDC 1.1 (JSR-139) Betriebssystem Hardware (*) Teilmenge 2.2 Anforderungen an die Hardware In Bezug auf ihre Rechenleistung liegen mobile Endgeräte heute in einer ähnlichen Größenordnung wie Heimcomputer vor weniger als 20 Jahren. Die Mindestaustattung für ein JavaME-konformes Gerät ist in den Spezifikationen recht detailliert festgehalten, wobei es den einzelnen Herstellern natürlich überlassen bleibt, mehr zu bieten. Im Wesentlichen richten sich die Anforderungen an: die Speicherkapazität das Display die Eingabemöglichkeiten die Netzwerkanbindung die Multimedia-Fähigkeiten Die für die CLDC, die darauf aufbauenden Profile MIDP und IMP sowie JTWI vorgeschriebenen Werte sind in Tabelle 2 4 zusammengestellt. Die Tabelle differenziert zwischen drei Speicherarten mit unterschiedlichen Aufgaben: Im ROM sind Klassenbibliotheken und bei der CLDC auch die virtuelle Maschine implementiert. Das RAM entspricht dem Arbeitsspeicher, der den Applikationen zur Verfügung steht. Der persistente Speicher ist für Anwendungsdaten vorgesehen, die dauerhaft gespeichert werden müssen. Die Speicheranforderungen der Profile sind additiv zu denen der Konfiguration. So benötigt beispielsweise ein Endgerät, in dem die CLDC 1.0 und das MIDP 2.0 realisiert sind, einen RAM-Speicher mit einer Kapazität von 160 kb: 32 kb für die CLDC plus 128 kb für das