Ratgeber Dienste mobilisieren

So bringen Sie Web-Anwendungen aufs Smartphone

01.10.2010
Von Stefan  Henze

Einheitliche Architektur für alle Plattformen

Einheitliche und saubere Client-/Server-Software-Architektur.
Einheitliche und saubere Client-/Server-Software-Architektur.
Foto: Capgemini

Alle aktuellen Smartphone-Technologien bieten moderne und ausgereifte Entwicklungs-Frameworks. Model-View-Controller und komponentenbasierte Entwicklung gehören hier zum Standard. Durch diese Voraussetzungen wird es möglich, Apps für verschiedene Plattformen mit derselben Architektur zu entwickeln.

Eine Web-Anwendung, die nach modernen Architekturprinzipien konstruiert ist, sollte in verschiedene Schichten aufgeteilt werden. Interessant im Kontext der mobilen App sind die Präsentationsschicht (View Layer) und die Business-Logik-Schicht (Logic Layer). Die mobile App wird viele der Use Cases aus der Business Logik verwenden können. Diese Schicht muss lediglich um Use Cases erweitert werden, die für die mobile App charakteristisch sind.

Die Präsentationsschicht ist spezifisch für den Web-Kanal der Anwendung, also für die Auslieferung des HTML Client. Diese Schicht eignet sich nicht für die Verwendung in der mobilen App.

In jedem Fall sollten die Daten und Funktionen aus der Business Logik, die in den mobilen Apps verwendet werden sollen, in einer einheitlichen Schnittstelle zusammengefasst und gekapselt werden. Es empfiehlt sich, die Daten an dieser Stelle fachlich identisch, aber in verschiedenen technischen Formaten bereit zu stellen. Es ist einfacher, serverseitig Daten in verschiedene Formate wie XML oder JSON zu übersetzen, als in der mobilen App Daten einlesen zu müssen, die nicht perfekt auf die verwendete mobile Plattform passen.

Mit diesen Erweiterungen ist die Web-Anwendung in der Lage, Daten und Funktionen für mobile Apps bereit zu stellen. Ebenso wichtig wie eine klar strukturierte Server-Architektur ist eine einheitliche und saubere Client-Software-Architektur. Die verschiedenen Clients sollten soweit möglich sogar dieselben Schnittstellen zwischen den Schichten verwenden. Damit ist gewährleistet, dass die Software auf den verschiedenen Geräten einheitlich arbeitet und gleichartig funktioniert.

Durch eine einheitliche Architektur auf allen Plattformen können sich die Entwickler der einzelnen Apps leichter austauschen. Funktionsänderungen und Erweiterungen lassen sich wesentlich leichter kommunizieren. Bei Fehlern lässt sich leichter analysieren, wo genau sich das Problem befindet. Die Softwareentwicklung in größeren Systemen besteht zu einem guten Teil aus Kommunikation. Eine einheitliche Architektur hilft Missverständnisse zu verhindern und Vorbehalte abzubauen:

Zur Startseite