Java Entwicklung für Embedded Devices Best & Worst Practices!

Ähnliche Dokumente
Was meinen die Leute eigentlich mit: Grexit?

ecaros-update 8.2 Update 8.2 procar informatik AG 1 Stand: DP 02/2014 Eschenweg Weiterstadt

Installation von NetBeans inkl. Glassfish Anwendungs-Server

Die Post hat eine Umfrage gemacht

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

Erfahrungen mit Hartz IV- Empfängern

Kurzanleitung Installation der Zend Studio Sprachpakete

präsentiert: Ventildeckel lackieren

teischl.com Software Design & Services e.u. office@teischl.com

Das Leitbild vom Verein WIR

Die integrierte Zeiterfassung. Das innovative Softwarekonzept

Eva Douma: Die Vorteile und Nachteile der Ökonomisierung in der Sozialen Arbeit

Reporting Services und SharePoint 2010 Teil 1

Anleitung über den Umgang mit Schildern

infach Geld FBV Ihr Weg zum finanzellen Erfolg Florian Mock

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

WOT Skinsetter. Nun, erstens, was brauchen Sie für dieses Tool zu arbeiten:

C++ mit Eclipse & GCC unter Windows

IT-SICHERHEIT IM UNTERNEHMEN Mehr Sicherheit für Ihre Entscheidung

Updatehinweise für die Version forma 5.5.5

Die neue Aufgabe von der Monitoring-Stelle. Das ist die Monitoring-Stelle:

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

VIP-Programm. Herzlich Willkommen!

Studieren- Erklärungen und Tipps

Die Bundes-Zentrale für politische Bildung stellt sich vor

Leichte-Sprache-Bilder

40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst.

CADEMIA: Einrichtung Ihres Computers unter Windows

Was ist Sozial-Raum-Orientierung?

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

Internet online Update (Internet Explorer)

Hex Datei mit Atmel Studio 6 erstellen

e-books aus der EBL-Datenbank

Wichtig ist die Originalsatzung. Nur was in der Originalsatzung steht, gilt. Denn nur die Originalsatzung wurde vom Gericht geprüft.

Sicher auf Erfolgskurs. Mit Ihrem Treuhand-Betriebsvergleich

PowerPoint vertonen. by H.Schönbauer 1

Anleitung zur Daten zur Datensicherung und Datenrücksicherung. Datensicherung

Persönliche Zukunftsplanung mit Menschen, denen nicht zugetraut wird, dass sie für sich selbst sprechen können Von Susanne Göbel und Josef Ströbl

Content Management System mit INTREXX 2002.

The ToolChain.com. Grafisches Debugging mit der QtCreator Entwicklungsumgebung

Einstellungen im Internet-Explorer (IE) (Stand 11/2013) für die Arbeit mit IOS2000 und DIALOG

Regeln für das Qualitäts-Siegel

9 Auto. Rund um das Auto. Welche Wörter zum Thema Auto kennst du? Welches Wort passt? Lies die Definitionen und ordne zu.

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

Ein Vorwort, das Sie lesen müssen!

Version smarter mobile(zu finden unter Einstellungen, Siehe Bild) : Gerät/Typ(z.B. Panasonic Toughbook, Ipad Air, Handy Samsung S1):

Wissenswertes über LiveUpdate

Konzentration auf das. Wesentliche.

DER SELBST-CHECK FÜR IHR PROJEKT

Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.

Kostenstellen verwalten. Tipps & Tricks

Online-Bestellung Tageskarten für Mitglieder des FC St. Pauli, die nicht im Besitz einer Dauer- oder Saisonkarte sind.

DAVID: und David vom Deutschlandlabor. Wir beantworten Fragen zu Deutschland und den Deutschen.

Installation OMNIKEY 3121 USB

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

Teiltransparente Bilder

Arbeiten mit dem Outlook Add-In

Microsoft Update Windows Update

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser

ERPaaS TM. In nur drei Minuten zur individuellen Lösung und maximaler Flexibilität.

Welche Gedanken wir uns für die Erstellung einer Präsentation machen, sollen Ihnen die folgende Folien zeigen.

Das sagt die UN-Behinderten-Rechts-Konvention zu Barriere-Freiheit Wie barriere-frei ist Deutschland?

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus:

OUTLOOK-DATEN SICHERN

Was ist pcon.update? Girsberger Manual Registrierung pcon.update Service - Marketing Edition Sep Seite 1

Lehrer: Einschreibemethoden

OP-LOG

Bedienungsanleitung für den Online-Shop

Einführung in TexMaker

Installation SQL- Server 2012 Single Node

Konfiguration von Igel ThinClients fu r den Zugriff via Netscaler Gateway auf eine Storefront/ XenDesktop 7 Umgebung

Handout Wegweiser zur GECO Zertifizierung

Standard Daten-Backup-Script

Loggen Sie sich in Ihrem teamspace Team ein, wechseln Sie bitte zur Verwaltung und klicken Sie dort auf den Punkt Synchronisation.

YouTube: Video-Untertitel übersetzen

Installation des Authorware Webplayers für den Internet Explorer unter Windows Vista

Alle gehören dazu. Vorwort

SMS/ MMS Multimedia Center

Proxy. Krishna Tateneni Übersetzer: Stefan Winter

Schrittweise Anleitung zur Erstellung einer Angebotseite 1. In Ihrem Dashboard klicken Sie auf Neu anlegen, um eine neue Seite zu erstellen.

- Zweimal Wöchentlich - Windows Update ausführen - Live Update im Norton Antivirusprogramm ausführen

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.

Sie müssen sich für diesen Fall mit IHREM Rechner (also zeitgut jk o.ä.) verbinden, nicht mit dem Terminalserver.

CADEMIA: Einrichtung Ihres Computers unter Linux mit Oracle-Java

Das Handbuch zu KNetAttach. Orville Bennett Übersetzung: Thomas Bögel

Professionelle Seminare im Bereich MS-Office

Stecken Sie Ihren USB Stick oder Ihre externe USB Festplatte in den USB Steckplatz des Sinus 154 DSL SE.

Haben Sie Ihre Weihnachtsmänner schon gebrieft?

Meine Entscheidung zur Wiederaufnahme der Arbeit

Internet Explorer Version 6

Outlook 2000 Thema - Archivierung

Windows 10. Vortrag am Fleckenherbst Bürgertreff Neuhausen.

Sie werden sehen, dass Sie für uns nur noch den direkten PDF-Export benötigen. Warum?

AutoTexte und AutoKorrektur unter Outlook verwenden

Welchen Nutzen haben Risikoanalysen für Privatanleger?

Eigenen WSUS Server mit dem UNI WSUS Server Synchronisieren

FritzCall.CoCPit Schnelleinrichtung

Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter

Transkript:

Java Entwicklung für Embedded Devices! George Mesesan Microdoc GmbH

Natürlich können wir dieses neue log4j Bundle auch auf dem Device verwenden. Ist doch alles Java. Java Micro Edition (ME) Java Standard Edition Die Kompatibilität zu Java ME muss geprüft werden: Minimun Execution Environment wurde im MANIFEST konfiguriert. Der Sourcecode ist verfügbar und lässt sich mit einem Java ME Compiler fehlerfrei übersetzen. Ist das Bundle nicht kompatibel so kann eine Portierung vorgenommen werden. Ein nicht-kompatibles Bundle sollte auf keinen Fall eingesetzt werden nach dem Motto: aber es läuft ja eh!. Die böse Überraschung tritt meist erst im Feld auf.

Wir wissen daß Java ME nicht gleich Java SE ist. Deshalb haben wir auch den Source Level von unserem Java 5 Compiler auf 1.3 gesetzt. Dies reicht leider nicht aus. Das Problem ist dass der Code gegen die Java 5 Class Library gelinkt wird: java.lang.nosuchmethoderror: java.lang.stringbuffer: method append(ljava/lang/stringbuffer;)ljava/lang/stringbuffer; not found Es muss entweder ein reiner Java ME Compiler verwendet oder ein JRE Execution Environment konfiguriert werden.

Target Platform? Noch nie gehört! Unter Target Platform versteht man alle Bundles die man für seine Anwendung benötigt (Framework Bundles, ) Als Standard wird in Eclipse die Target Platform der IDE gesetzt. Um einen konsistenten Stand der verwendeten Bundles zur Entwicklung und Laufzeit zu haben muss die Target Platform konfiguriert werden. Eclipse 3.5 plugins auf meinem device?

Wir haben die Target Platform richtig konfiguriert und können also auf unserem Entwicklungsrechner sehr gut testen. Auf dem Device zu testen machen wir meist eine Woche vor der Lieferung. Kontinuierliches Testen am Device ist unverzichtbar um frühzeitig Probleme zu erkennen: Performace-Engpässe OSGi Startup Zeiten wär hier ein Problem das immer wieder auftritt. Speicher-Probleme Windows Mobile stellt einer Anwendung nur 32MB zur Verfügung. DLLs müssen manchmal schon sehr früh im Startprozess der OSGi Anwendung geladen werden. Filesystem & Pfade können Probleme verursachen Bugs von 3 rd Party Code: eswt Fullscreen auf Windows Mobile 2003 u.v.m

Wir brauchen keine Simulatoren. Wir testen immer gleich am Device. Simulatoren beschleuningen den Turnaround-Zyklus code-deploy-testdebug und tragen deshalb wesentlich zur Qualität bei. In OSGi sind Simulatoren relativ einfach zu implementieren. Bundles mit Hardware-Zugriff können einfach durch Bundles mit simuliertem Zugriff ersetzt werden. Simulatoren ersetzen jedoch nicht das Testen am Device.

Testen ist nicht (mehr) so wichtig. Wenn wir einen Bug entdecken, machen wir einfach ein Remote Update. Mit OSGi geht das ja ganz einfach. Ein Remote Update ist ein komplexer Prozess mit technischen und ökonomischen Anforderungen: Neue Updates können das Device in einen Zustand bringen wo kein weiteres Update mehr möglich ist. Ein Upate vieler Geräte die über GSM/GPRS ihr Update beziehen kann zum Kostenfaktor werden. Die Kosten können sogar explodieren wenn Roaming Kosten hinzukommen. Je weniger Bugfix-Updates also notwendig sind, umso besser.

Bundle-Versionierung brauchen wir nicht. Wir machen einfach ein Update der ganzen Anwendung. In Szenarien wo, teilweise hohe, Verbindungskosten (GSM) anfallen, ist es ratsam das Update so klein wie möglich zu halten. Bundle-Versionierung ermöglicht es nur Bundles auszutauschen, welche sich auch wirklich geändert haben.

Zum testen unseres JNI Codes starten wir einfach die Anwendung hoch und testen damit. Generell sollte Anwendungs- und Frameworkcode nicht gemischt werden POJOs POJOs zu verwenden ist insbesondere bei JNI Teilen wichtig Spart Zeit beim Testen Spart Zeit bei der Suche nach Fehlern Erhöht die Testbarkeit

Wir testen am Device immer manuell. Automatisiertes Testen am Device ist entweder nicht möglich oder nur mit großen Aufwand implementierbar. Mittlerweile gibt es Testing Frameworks dies es ermöglichen relativ einfach Testcases (JUnit, ) auf dem Device auszuführen. efitnesse: http://www.microdoc.com/efitnesse