
Herausforderungen.
Während früher Geräte mit einem festen Betriebssystem für klar abgegrenzte Anwendungsfälle entwickelt und ausgeliefert wurden, haben sich heute sowohl die Kundenerwartungen als auch die Entwicklungsansätze für Embedded-Systeme grundlegend gewandelt.
Für Unternehmen ist es daher wirtschaftlich nicht mehr sinnvoll, für ähnliche Produkte aus dem eigenen Portfolio jeweils ein neues Betriebssystem oder eine neue Anwendung zu entwickeln.
Embedded Plattformen.
Bei der Plattformentwicklung haben bestimmte Funktionalitäten einen deutlich höheren Stellenwert als einzelne Features eines ganz spezifischen Produkts. Eine konsequent hochwertige und stabile Fundamententwicklung kommt allen Produkten gleichermaßen zugute. Kunden erleben die daraus resultierende Robustheit und Verlässlichkeit unmittelbar.
Embedded Plattformen haben oft u. a. folgende Funktionalitäten:
- Modularisierung (Paketverwaltung)
- Remote-Aktualisierbarkeit der Gerätesoftware
- Autorisierung / Authentifikation
- Digital-Twin über die Cloud
- Fernwartung
- Gerätestatus
- Backup & Restore
- Factory Reset
- Anbindung von I/O-Modulen
- Generische Treiberverwaltung
- Ereignislog
- Datenschutzkonformes Logging
- Watchdog / Health (Gerätezustand)
- Flash-Speicherschutzstrategien
- Recovery nach einem Stromausfall während des Schreibvorgangs
- Security (Resilienz / Secure Coding / IDS – Intrusion Detection)
- Redundanzmanager (Primary / Secondary)
- Startup-Performance
Je früher Plattform-Funktionalitäten – abhängig vom jeweiligen Anwendungsfall – eingeplant werden, desto einfacher gestaltet sich deren Entwicklung. Dabei ist es nicht erforderlich, dass sämtliche Funktionen von Anfang an bereitstehen – eine grundlegende Vorstellung zur Integration sollte jedoch vorhanden sein.
Die nachträgliche Einbindung in eine bereits gewachsene Anwendung verursacht meist erhebliche Kosten. Häufig ist nicht der finanzielle Aufwand der entscheidende Faktor, sondern die deutlich verlängerten Entwicklungszyklen, die die Wettbewerbsfähigkeit stark einschränken.
Unsere Schwerpunkte.
Seit über 20 Jahren entwickeln wir Java Embedded-Systeme und beraten Unternehmen hinsichtlich geeigneter Architekturen – auch in sehr komplexen Umgebungen und stets unter Einhaltung höchster Sicherheitsstandards. Wir verfügen über umfangreiche Erfahrung in der Entwicklung von full-featured Plattformen und unterstützen Unternehmen dabei, von Anfang an eine gehärtete Systembasis zu schaffen.
Wir haben an trendsetzenden Plattformen gearbeitet, die hunderttausendfach in smarten Geräten im Consumer- und Industriebereich zum Einsatz kommen.
Unser Tätigkeitsschwerpunkt liegt in den Bereichen:
- IoT-Plattformen (Internet of Things)
- Erneuerbare Energien
- Automotive und Elektromobilität
- Navigationssysteme
- Cyber Security
.. aber wir bleiben neugierig – und steigen gern in neue Branchen ein.
Unser Beratungsschwerpunkt liegt im Bereich der Plattformarchitektur und der Modularisierung – stets unter Einhaltung hoher Sicherheitsanforderungen.
Wir verfügen über umfassende Erfahrung in der Schulung (Mentoring) von Kolleginnen und Kollegen, deren bisheriger Tätigkeitsschwerpunkt in der Backend-Entwicklung lag und die nun im Bereich der Embedded-Systeme tätig sind. Dabei vermitteln wir zentrale Methodiken zur Optimierung in Bezug auf (Single-) Core-Processing, (Single-) User-Access, Threading, Synchronisation (z. B. über das Actor-Model), Speicherverwaltung, I/O-Zugriffe, Flash-Speicherschutz – und machen auf die Risiken eines potenziellen Gerätedefekts durch Softwarefehler aufmerksam (Gefahr von Rückrufaktionen).
Unsere Technologien.
Ein Auszug der von uns eingesetzten Kern-APIs, Technologien und Werkzeuge:
- Java SE (Java Plattform von 1 – 17)
- OSGi R3-R7 (Gateway-Spezifikation)
- Bosch mBS / Felix / Equinox / Knopflerfish (Applikationsplattform)
- Jetty / Netty (Server)
- JAX-RS / OpenAPI (REST-Webservices)
- Jackson / gson (JSON-Binding)
- Protocol Buffers / Plain Socket mit TCP/IP und UDP/IP (Protokolle)
- HTTP(s) / WebSocket / CoAP / MQTT (Spezifische Protokolle)
- OAuth2 / OpenID / Basic Auth (Autorisierungsverfahren)
- X.509 Zertifikatsketten und lokale CA (Security)
- JDBC / SQL (Datenbankanbindung)
- SQLite / H2 (Datenbanksysteme)
- JUnit 5 / Mockito / AssertJ / REST Assured (Test-APIs)
- Maven / Jenkins / Nexus / Docker (CI/CD)
Weitere Technologien finden Sie in unserem Bereich Backend-Technologien.
Unser Qualitätsverständnis.
Neben unserem Verständnis von Softwarequalität – das wir auch in der Backend-Entwicklung leben –, ist uns bewusst, dass geeignete Mechanismen zur Qualitätsabsicherung unerlässlich sind, um Geräteschäden oder gar Rückrufaktionen zu vermeiden.
Wir wissen, dass die Geräte oft von Nicht-Fachleuten genutzt werden – bei gleichzeitig hoher Erwartung an Verfügbarkeit und zuverlässigen Betrieb ohne Neustarts.