Mohito

Mohito hat zum Ziel die Herausforderungen der Multi-Plattformentwicklung verteilter Anwendungen anzugehen. Dabei werden speziell die homogenisierte Datenhaltungsschichten (Daten-API, Datenbankschemata, Datenbankzugriffschicht, Caches und Synchronisationsmechanismen) verteilter Multi-Plattformanwendungen adressiert.

 

mohito-logoModellgetriebene homogenisierte Datenhaltung und Synchronisation mit vorhersagbaren Eigenschaften für plattformübergreifende Anwendungen

Dieses Projekt hat zum Ziel die Herausforderungen der Multi-Plattformentwicklung verteilter Anwendungen anzugehen. Dabei werden speziell die Datenhaltungsschichten (Daten-API, Datenbankschemata, Datenbankzugriffschicht, Caches und Synchronisationsmechanismen) verteilter Multi-Plattformanwendungen adressiert. Unter dem Begriff Multi-Plattform verbergen sich sowohl verschiedene Mobil-Betriebssysteme (iOS, Android, Blackberry), Server- (JavaEE, Spring) und Desktopsysteme (Windows, Mac, Linux), als auch verschiedene Browser (Internet Explorer, Mozilla, Google Chrome). Eine Beschränkung rein auf Browser-basierte Anwendungen ist nicht ausreichend um verschiedene Plattformen konsequent zu bedienen, da diese von Endbenutzern häufig nicht als nativ wahrgenommen werden. Softwarehersteller sind daher gezwungen echte Multi-Plattformanwendungen anzubieten.

Datenhaltungs-Stacks werden derzeit typischerweise manuell codiert und gewartet, d.h. jede Erweiterung oder Veränderung des Datenmodells erfordert für die Datenhaltungs-Stacks aller unterstützten Plattformen und Ausprägungen eine aufwändige manuelle Überarbeitung. Bestehende Stacks inklusive der öffentlichen APIs unterscheiden sich von Plattform zu Plattform und die Implementierung neuer Funktionalität für eine breite Zahl von Plattformen verschlingt hohe Aufwände für die Implementierung der Strukturen, sodass dieser Bereich ideal für einen integrierten generativen Ansatz ist.

Im Rahmen der heutigen Entwicklung ist der Umgang mit multiplen Plattformen und Techniken je Plattform notwendig, da keine befriedigende allgemein akzeptierte technische Basis für alle Plattformen existiert. Neben den oben bereits erwähnten Plattformen existieren auch noch unterschiedliche Techniken, wie z.B. HTML5, SQL (SQLite, CoreData, MySQL, Oracle), Hibernate / OR-Mapper und Java / Objective-C, die durch ihre Vielfältigkeit schwer beherrschbar sind.

Die Kernidee dieses Förderantrages ist die Erzeugung der kompletten Datenhaltungsschichten verteilt ablaufender Multi-Plattformanwendungen aus einem zentralen Datenmodell heraus, um die heute hohen Aufwendungen im Rahmen der Erstellung und Wartung der Software zu verringern.

Die Ziele des Projektes liegen in einer Erzeugungsmethode für die komplette Datenhaltungsschicht aus einem zentralen Datenmodell unter Berücksichtigung der plattformspezifischen Ausprägung und Konfigurierbarkeit sowie der projektspezifischen Anpassungen (bspw. Kritikalität von Daten, Caching, Write-Through). Ebenso wird eine Migrationsstrategie für bestehende Anwendungen und die Anbindung bestehender Datenhaltungs-APIs entwickelt, sowie eine Qualitätsbewertung der generierten Stacks (Steuerung zwischen bspw. Datenintegrität und Datenverfügbarkeit). Es muss betont werden, dass es nicht das Ziel ist die kompletten Anwendungen zu generieren.

sponsor-bmbfDie Schlüsselinnovationen von „MOHITO“ sind eine Homogenisierung der Datenhaltungsschichten in Multi-Plattformanwendungen, ein einheitliches Multi-Plattform-Framework für die Datenhaltung, eine Migrationsmethodik zur Anbindung von Bestandssystemen und eine integrierte Bewertungsmethodik zur Qualitätssicherung.

Weitere Informationen finden Sie auf unserer Projektseite www.mohito-projekt.de

Projektpartner sind die CAS Software AG und das Forschungszentrum Informatik.