Gunnar Lehker
 - 11. Juli 2018

Checkliste für Ihr App-Konzept

Checklist

Ist die Checkliste als Werkzeug in Entwicklungsprojekten notwendig? Stimmt es, dass es in App-Entwicklungsprojekten immer wieder Punkte gibt, die vergessen werden?Bei vielen Konzepten steht meist die App, die Logik und das Aussehen im Vordergrund. Was im Hintergrund aber alles vorhanden, eingerichtet und lauffähig sein muss, kommt meist erst bei einem ersten Test heraus.

Checkliste: 5 Dinge, an die Sie bei der App-Konzeptionierung denken müssen

Anhand der folgenden Checkliste präsentiere ich Ihnen fünf Punkte, die bereits im Vorfeld der App-Entwicklung geklärt sein müssen.

Netzzugang

Angefangen mit der grundlegendsten Funktionalität: Dem Netzzugriff. Bei einer einfachen App ist das zugehörige Backend meist ohne Authentifizierung aus dem Internet erreichbar und muss im Netzwerk des Betreibers keine größeren Hürden nehmen.

Wenn  es sich bei der Entwicklung um eine Enterprise-App handelt, geht es meist zeitgleich um hochsensible Daten, die besonders geschützt werden müssen. Dies haben in den letzten Jahren die Unternehmen durch eine weitestgehende Abschottung erreicht. So konnte ein Angreifer nicht über das Internet in das interne Netze gelangen. Für die Anwendungen von IoT, Social Enterprises oder eben auch Apps müssen diese Hürden überwunden werden, damit aus dem Internet zugegriffen werden kann.

Was ich damit nicht meine, ist, dass Haus und Hof nun freigänglich gemacht werden müssen. Es sollte Mechanismen zur Autorisierung von eingehenden Requests geben, damit die Verantwortlichen auf die sensiblen Daten von ihren aus Endgeräten zugreifen können.

Folgende Mechanismen sind in vielen Unternehmen etabliert und bieten einen ersten Ansatzpunkt für die eigene mobile Infrastruktur:

  • Verschiedene Enterprise Mobility Management Anbieter bieten in Ihren Softwarelösungen für die Smartphones einen sog. App-Tunnel an. Dieser App-Tunnel kapselt alle Requests in der App und leitet diesen über ein In-App-VPN an den Endpunkt in der DMZ des eigenen internen Netzes weiter.
  • Auch werden oft sog. Reverse-proxies installiert, welche die Validität der Requests prüfen und entsprechend der Anfrage weiterleiten. Bei vielen Unternehmen prüft der Reverse-Proxy zusätzlich einen Client-Zertifikat, welches bei jedem Request mitgesendet wird. Das Client-Zertfikat findet meist über das MDM den Weg auf das Gerät des Nutzers.
  • Als letztes sei noch die Möglichkeit eines Geräte-VPNs erwähnt, in der alle Requests auf dem Gerät über das VPN zum VPN-Endpunkt geroutet werden. Für Nutzer ist dies allerdings die uumständlichste Lösung, weil
    1. dieser manuell  eine Verbindung herstellen muss.
    2. die VPN-Verbindung ständig besteht, was den Akkuverbrauch extrem steigert.
    3. alle anderen Requests, die nicht über das VPN geroutet werden müssten, länger auf eine Antwort warten. Die Ursache liegt darin, dass ein zusätzlicher Loop nötig ist.

Authentifizierung

Das nächste große Thema auf der Checkliste ist meist die Authentifizierung. Hier ist die Zielgruppenanalyse ausschlaggebend, was sich auch an den fälligen Lizenzkosten für die User widerspiegelt. Dennoch ist eine Authentifizierung direkt am Gateway/Backend nicht die beste Lösung. Auch hier gibt es wieder verschiedene Szenarien, welche alle durchgesprochen und beleuchtet werden sollten:

  • Ziel für die Unternehmen sollte sein, dass der User möglichst nur einmal seine Credentials merken muss und diese entsprechend für alle Dienste gültig sind. Dies Single-Sign-On-Konzept wird von Herstellern verschiedener Verzeichnisdienste unterstützt, die die Authentifizierungsdaten prüfen. Um nun eine Authentifizierung mit den Credentials in einem Backend-System wie SAP ERP on Premise, SAP Cloud Plattform oder Salesforce zu erreichen, muss eine Vertrauensbeziehung zwischen den Systemen logisch hergestellt werden.
  • Die Vertrauensbeziehung ist auch dann nötig, wenn der User nicht im Backend authentifiziert wird, sondern in einem vorgeschalteten System, wie zum Beispiel dem Reverse Proxy. Dies kann von Vorteil sein, wenn Sie das Risiko von DDoS-Attacken reduzieren wollen.

Berechtigungssteuerung

Je nachdem, ob Berechtigungen für ganze Datensätze oder für einzelne Felder vergeben werden, kann es bei der App-Entwicklung mehr oder weniger zu Herausforderungen kommen.

Weniger herausfordernd ist es, die Berechtigungen auf ganze Datensätze umzusetzen, in dem der jeweilige Datensatz gar nicht erst geladen wird. Die einzelnen Felder, die je nach Rolle anzeigbar/schreibbar sind, zeigen eine größere Problematik auf. Hierzu gibt es innerhalb der App-Entwicklung kein Patentrezept. Daher ist mit zusätzlicher Konzeption und somit auch mit darüber hinausgehenden Aufwand zu rechnen. Deshalb ist es wichtig, diese Fragestellung schon in frühen Konzepten näher zu beleuchten, da diese Entscheidung grundlegend für weitere Entwicklungen sein kann.

Kurz zusammengefasst:

  • Berechtigungen haben im Business Kontext fundamentale Bedeutungen, welche unbedingt bei der App-Entwicklung berücksichtigt werden müssen.
  • Die Umsetzung von Feld-Berechtigungen in Apps ist nicht trivial. Dies bedarf genauerer Analyse der Anforderungen.

Input-Validierung

Nun geht’s ans Eingemachte. Die App, die Navigation und die Felder stehen – also alles, was beim Design der App schon besprochen und nun umgesetzt wurde. Nun ist es aber möglich, dass der Nutzer mit der Smartphone-Tastatur, genauso wie am PC,  die unmöglichsten Zeichen eingeben kann. Das ist natürlich nicht immer gewollt: Genau wie bei der Feldsteuerung sollte hier im Vorhinein genau definiert werden, welche Werte und Zeichen für die jeweiligen Felder erlaubt sind und von welchen anderen Feldern diese Berechnung entsprechend abhängt.

Datensicherheit

Neben den schon angesprochenen, sicherheitsrelevanten Themen der Checkliste ist der Aspekt der Datensicherheit noch entscheidend. Dies umfasst zum einen die Verschlüsselung der Daten auf dem Gerät und den folgenden Transportwegen, zum anderen die Frage der Wiederherstellung bei Verlust/Diebstahl.

Verschlüsselung

Auch hier haben die Mobile-Device-Management-Anbieter (MDM) eine Lösung parat, in dem die App bzw. die zugehörige Sandbox zusätzlich verschlüsselt wird und somit ein Zugriff auf dem Device unmöglich wird. Selbstredend muss der Transportweg, meist über das Hypertext Transfer Protocol (HTTP), zusätzlich verschlüsselt werden, sodass eine sichere Kommunikation möglich ist. Dabei müssen beide Enden die Authentizität gegenseitig anerkennen, das meist über Client-Zertifikate funktioniert (s.o.)

Datenhaltung

Bei Abhandenkommen eines Gerätes sollten die Daten vom verloren gegangenen Gerät gelöscht werden können. Diese Bereinigung bieten meist die Hersteller der MDM-Systeme mit an. Wird nun ein neues Gerät in Gebrauch genommen, müssen die bisherigen Daten auch wieder hergestellt werden können. Dies kann durch Abruf vom Server bzw. durch Wiederherstellung eines Back-ups ermöglicht werden. Hier sollte im Vorhinein geklärt werden, welche Wiederherstellungsoptionen ermöglicht werden müssen und wer für die Wiederherstellung verantwortlich ist (der User mit seinem BackUp oder die App mit dem Abruf vom Backend).

Fazit

Bei Fragen oder Anregungen rund um die fünf Punkte der Checkliste können Sie mich gerne jederzeit kontaktieren. Gemeinsam werden wir eine Lösung für Ihre offenen Fragen und Anregungen finden.

Gunnar Lehker

Mein Name ist Gunnar Lehker und ich bin IT-Consultant bei mindsquare. Meine Kernthemen sind: mobile App Entwicklung, UI5, Fiori und Neptune.

Sie haben Fragen? Kontaktieren Sie mich!




Das könnte Sie auch interessieren


Schreiben Sie einen Kommentar

Bitte füllen Sie alle mit * gekennzeichneten Felder aus. Ihre E-Mail Adresse wird nicht veröffentlicht.





Angebot anfordern
Preisliste herunterladen
Expert Session
Support