Enterprise Mobility Beginner’s Guide – Part 4: MEAP und App-Entwicklung

MEAP und Appentwicklung - Enterprise Mobility Beginner's Guide Part 4

Das Mobile Device Management bildete die Grundlage für Part 3 des Enterprise Mobility Beginner’s Guides. Es wurde erklärt, weshalb ein MDM eine immer wichtiger werdende Rolle für Unternehmen spielt. Die zentralisierte Verwaltungsmöglichkeit von mobilen Endgeräten ermöglicht Unternehmen die sichere Verwendung von mobilen Endgeräten im Unternehmen und bietet somit mehr Souveränität im Bereich von Sicherheit und Datenschutz.

In diesem Teil werden weitere essentielle Komponenten für die Mobilität im Unternehmen abgedeckt: die App-Entwicklung und die Mobile Enterprise Application Platform (MEAP). Mobile Endgeräte können erst in Kombination mit Apps ihr volles Potenzial entfalten. Wie wir bereits in Part 1 erfahren durften, gibt es hierzu allerdings einige Fragestellungen, denen sich zunächst angenommen werden muss. Wie bilde ich meine bestehenden Daten oder Prozesse mobil ab? Wie unterstütze ich möglichst viele Betriebssysteme und wie wird die App entwickelt? Part 4 des EMBG soll zu diesen und weiteren relevanten Fragen Antworten liefern.

Grundlegende Fragen zur App-Entwicklung

Grundsätzlich gibt es zwei Arten von Apps: Consumer Apps und Enterprise Apps. Consumer Apps dienen dazu mehr Öffentlichkeit für das Unternehmen zu generieren und die Kundenzufriedenheit zu erhöhen, um so schlussendlich den Umsatz steigern zu können. Dies kann beispielsweise durch den zusätzlichen mobilen Absatzkanal oder App-spezifische Rabattaktionen geschehen. Die Möglichkeiten sind unzählig und nehmen stetig zu, speziell im Bereich Mobile Commerce werden Consumer Apps aufgrund der zu erwartenden Entwicklungen im Mobile Payment neue App-Konzepte entstehen.

Die Nutzergruppe der Enterprise Apps setzt sich aus Mitarbeitern des Unternehmens sowie externen Nutzern wie beispielsweise Lieferanten zusammen. Enterprise Apps verfolgen eine andere Intention als Consumer Apps: durch sie sollen einerseits Mitarbeiter ihre Produktivität steigern und effizienter arbeiten können und andererseits Prozesse optimiert werden – externe Nutzer miteingeschlossen (beispielsweise durch schnellerer Kundensupport). Gründe für eine Enterprise App können vielzählig sein und sind von Branche zu Branche unterschiedlich. Während viele Unternehmen lediglich Daten mobil abrufen möchten, wollen andere Unternehmen komplette Prozesse mobil abbilden können. Eine ausführliche Analyse der mobil abzubildenden Use Cases ist essentiell, da hierbei die App nicht nur auf die diversen Anwendungsfälle optimiert werden kann, sondern auch Entwicklungsanforderungen klar definiert werden. Es gilt hierbei unter Anderem zu klären:

  • Welche Anforderungen ergeben sich aus den Use Cases?
  • Welche Geräte-Funktionalitäten werden benötigt?
  • Welche Expertise können die Entwickler aufweisen?
  • In welchem Zeitraum soll die App entwickelt werden?
  • Wie groß ist das Budget?
  • Welche Betriebssysteme sollen unterstützt werden?
  • Wie wichtig ist Performance?

Erst nach einer Anforderungsanalyse kann ein geeigneter Entwicklungsansatz gewählt werden.

Sidenote: Bei der mobilen Abbildung von Daten sollte dabei nie vernachlässigt werden, dass zwischen Daten und Informationen ein wesentlicher Unterschied besteht. Eine Vielzahl an Daten simultan anzuzeigen, kann auf einem großen Bildschirm sehr informativ sein. Diese Menge an Daten kann jedoch auf einem mobilen Device mit kleinerem Bildschirm unübersichtlich wirken. Daher muss der angezeigte Content auf die wirklich wesentlichen Informationen minimiert werden.

Nativ, Hybrid oder Web App – was darf es sein?

Bei der Entwicklung von Apps muss auf einen der drei aktuellen Entwicklungsansätze zurückgegriffen werden: nativ, hybrid oder web. Jeder hat hierbei seine ganz eigenen Vor- sowie Nachteile. Im Folgenden werden die drei Ansätze kurz dargestellt, eine genaue Erörterung der Thematik können Sie diesem Blogeintrag entnehmen.

Native App

Eine native App wird spezifisch für genau ein Betriebssystem entwickelt. Native Apps liefern eine sehr gute Performance, ermöglichen durch die angebotenen APIs einen problemlosen Zugriff auf Gerätekomponenten wie Kamera, GPS oder auch diverse Betriebssystemdaten und bieten zusätzlich ein optimales Look & Feel bei der Nutzung der App. Native Apps werden gewöhnlich über einen öffentlichen App Store vertrieben, können allerdings ebenfalls über einen internen App Store verteilt werden. Der große Nachteil einer nativen App liegt im hohen Entwicklungsaufwand. Der entwickelte Quellcode ist nur auf dem jeweiligen Betriebssystem kompilierbar. Sollen mehrere Betriebssysteme bedient werden muss für jedes Betriebssystem eine spezifische App entwickelt werden. Diese fehlende Portabilität des Quellcodes lässt die Kosten der Entwicklung für mehrere Plattformen enorm ansteigen.

Das native Entwicklungskonzept wird meist aufgrund der Performance und des Look & Feel für Consumer Apps verwendet, um die bestmögliche User Experience zu ermöglichen. Als Enterprise Apps werden nativ entwickelte Apps seltener verwendet, da der Aufwand der Instandhaltung der Apps sehr kostspielig ist und zumeist mehr als nur ein Betriebssystem unterstützt werden muss. Für jede App muss je eine Version für das gewünschte Betriebssystem zur Verfügung gestellt werden, womit die Kosten für Entwicklung sowie  Support steigen.

Web App

Entwickelt werden Web Apps mit den Webtechnologien HTML5, CSS und JavaScript. Eine Web App wird über einen Webbrowser gestartet und ist deshalb auf jedem Endgerät ausführbar, welches einen kompatiblen Browser vorweisen kann. Somit kann die identische App auf jedem Betriebssystem ausgeführt werden, der Aufwand für Entwicklung und Support ist hier also deutlich geringer als bei einer nativen App für mehrere Betriebssysteme. Auch die Anbindung an das Internet ist aufgrund von Caching-Möglichkeiten nicht zwingend notwendig. Ein wesentlicher Nachteil stellt jedoch der beschränkte Zugriff auf die Geräte APIs (beispielsweise Zugriff auf GPS, Speicherung von Daten außerhalb der App…) sowie die Performance dar.

Web Apps bieten eine gute Alternative für Mobile Commerce Webpräsenzen, Marketingwebseiten oder wenn ein App Store umgangen werden soll. Hierbei ist insbesondere eine gute Integration der mobilen App mit dem bereits bestehenden Onlineauftritt möglich.

Hybrid App

Das Konzept einer Hybrid App ist ähnlich der Web App. Die App wird hierbei ebenfalls mit Webtechnologien entwickelt und danach in einem nativen Container für das jeweilige Betriebssystem kompiliert. Dieser Container hat damit als native Komponente Zugriff auf alle nativen Geräte-Funktionalitäten. Gleichzeitig kann der Quellcode fast identisch für mehrere Betriebssysteme wiederverwendet werden, da er hierzu lediglich ein anderer Container verwendet werden muss. Wie abzuleiten ist, kann hierdurch sehr viel Programmieraufwand eingespart werden. Die Wissensanforderungen für die Entwicklung der App sind etwas höher als bei Web Apps. Die Performance von Hybrid Apps ist geringer als native Apps und vergleichbar mit Web Apps. Hybrid Apps benötigen keine stetige Anbindung an das Internet, denn durch die Verwendung von speziellen Frameworks und Bibliotheken ist es möglich, Daten offline zur Verfügung zu stellen.

Hybride Apps werden aufgrund des „one-fits-all“-Prinzips bevorzugt im B2E-Bereich (Business to Employee App) verwendet. Auch die Instandhaltungskosten des Quellcodes sinken stark, da nur ein Quellcode verwaltet und aktuell gehalten werden muss.

Fazit Entwicklungsansätze

Alle Ansätze weisen Vor- und Nachteile auf, so dass sich keine beste Lösung herauskristallisiert. Auch wenn native Apps aufgrund der User Experience zunächst gerne als optimale Wahl angesehen werden, muss dabei bedacht werden, dass sich Webtechnologien in den nächsten Jahren stark verbessern werden und hiermit auch eine Steigerung der Performance von Hybrid und Web Apps einhergehen wird. Festzuhalten bleibt: Die Entscheidung sollte durch gegenseitiges Abwägen der Anforderungen mit den Vor- und Nachteilen der Entwicklungsansätze getroffen werden.

Herausforderungen bei der Entwicklung von Enterprise Apps

Unternehmen besitzen häufig eine inhomogene IT Infrastruktur. Bei der Entwicklung von Apps muss allerdings auf diese zurückgegriffen werden, da Daten für die App abgefragt oder Prozesse abgearbeitet werden müssen. Diese Daten bilden das Fundament einer Enterprise App. Die Diversität der vorhandenen Systeme erschwert die Entwicklung von Apps erheblich, da für den Zugriff auf die benötigten Daten ggf. zunächst geeignete Schnittstellen entwickelt werden müssen.  Das Backend kann hierbei beispielsweise aus einem Enterprise-Ressource-Planning (ERP), einem Content-Relationship-Management (CRM) oder ein Content-Management-System (CMS) bestehen. Wie können Backends in die App Integriert werden?

Wenn wir davon ausgehen, dass ein Unternehmen nicht nur eine App, sondern gleich mehrere Apps für verschiedene Abteilungen/Prozesse entwickeln möchte, steigt der Entwicklungsaufwand mit jeder App an. Und nicht nur die Entwicklung birgt Probleme, denn Unternehmen bedenken dabei oftmals nicht, dass diese Apps über die Jahre auch gewartet und up-to-date gehalten werden müssen. Wie reagiert man auf Änderungen in der IT Infrastruktur beziehungsweise dem Backend, wenn dieses in mehrere Apps integriert wurde?

Apps sollen darüber hinaus oftmals reich an Funktionalität sein. Die Offline-Fähigkeit ist hierbei ein essentielles Features, welche sich in der Umsetzung allerdings zum Teil sehr aufwändig und komplex gestaltet. Zur besseren Interaktion mit den Nutzern sollen darüber hinaus noch Benachrichtigungen via Push-Notifications realisiert werden. Wie können Mobile Services in die Apps integriert werden?

Auch Authentifizierungs- sowie Autorisierungsmöglichkeiten zum Schutz von sensiblen Unternehmens- und Kundendaten sind unabdingbar, um ein geeignetes Sicherheitsniveau für die entwickelten Apps bieten zu können. Wie kann man Sicherheitsmechanismen in die App integrieren?

In den letzten Jahren ist daher eine Lösung entstanden, welche sich dieser Herausforderungen annimmt und die Entwicklung von (ggf. mehreren) Apps für Unternehmen erleichtert.

Mobile Enterprise Application Platform (MEAP)

Eine MEAP bietet eine Entwicklungs- und Laufzeitumgebung für mobile Anwendungen in der  Tools zur Integration von Backend-Systemen, Entwicklung von Apps sowie der Verwaltung und Verteilung von Apps zur Verfügung gestellt werden.

MEAP - Mobile Enterprise Application PlatformDer Einsatz einer MEAP reduziert insbesondere das erforderliche Know-How, wie spezifische mobile Technologien wie Datensynchronisierung oder Push-Benachrichtigungen umzusetzen sind. Oftmals bieten MEAPs auch Werkzeuge zur graphischen Entwicklung von Apps, so dass auch hier nur ein Mindestmaß an Programmierkenntnissen erforderlich sind. Zuletzt bietet eine MEAP eine zentrale Plattform, über die alle Apps des Unternehmens entwickelt, betrieben, gewartet und verwaltet werden können.

Die Entwicklung von Apps mithilfe einer MEAP erfordert allerdings zunächst Einarbeitungszeit und Expertise der Entwickler sowie Lizenzgebühren für die Nutzung der MEAP. Laut Gartner gilt bei der Entscheidung zur Anschaffung einer MEAP die „Rule of Three“. Dieser zu Folge ist eine MEAP dann vorteilhaft, wenn das Unternehmen mehr als drei Apps entwickeln möchte (Tablet- und Smartphone-Varianten einer App sind hierbei als eigenständige Apps anzusehen), eine App für mehr als drei verschiedene mobile Betriebssysteme bereitstellen will oder mehr als drei Backendsysteme angebunden werden sollen.  Der zusätzliche Zeit- sowie Kostenaufwand wird beispielsweise durch schnellere Entwicklungszeiten von Apps, geringere Supportkosten bei der Instandhaltung, höherer Sicherheit und eine bessere Verwaltung der Backendsysteme entlohnt.

Ein Praxisbeispiel soll für mehr Klarheit sorgen:

Ein Unternehmen entschließt sich dazu in den nächsten Jahren ihren Mitarbeitern sowie Kunden verschiedene Apps zur Verfügung zu stellen. Ihre erste App soll den Außendienstlern den Arbeitsalltag erleichtern. Sie sollen Warenbestände (ERP) und Kundeninformationen (CRM) via App abfragen und Bestellungen neuer Kunden (ERP) aufnehmen können. Des Weiteren sollen durch eine Push-Funktion kurzfristig Angebotsinformationen zur Verfügung gestellt werden können. Eine MEAP bietet hierbei eine sinnvolle Einsatzmöglichkeit, da die Anbindung an das Backend (ERP, CRM) umgesetzt werden kann und auch Funktionen wie Push-Notifications mit wenig Aufwand integriert werden können. Da in den nächsten Jahren gleich mehrere Apps geplant sind, ist die Investition in eine MEAP sinnvoll, auch wenn sich das Unternehmen zunächst darüber Gedanken machen muss, ob sie die Entwicklung der Apps selbst realisiert (zusätzliche Kosten für MEAP-Schulungen der Mitarbeiter) oder ein externes Entwicklungsteam beauftragt.

Oft werden MEAPs in Kombination mit dem im letzten Part bereits angesprochenen Mobile Device Management (MDM) oder einem Enterprise App Store (welcher im nächsten Part ausführlich vorgestellt werden soll) verwendet, um so eine Synergie der Verwaltungs- und Entwicklungssysteme zu erreichen. Die entwickelten Apps können dadurch direkt für den User bereitgestellt sowie effizienter verwaltet werden. Zusätzlich spielt der Entwicklungszyklus in Kombination mit dem Enterprise App Store eine wichtige Rolle, um die einzelnen Phasen der App-Entwicklung besser überwachen zu können. Wir bereits angesprochen wird der nächste Part des EMBGs sich dieser Thematik genauer annehmen.

Für eine Evaluation einzelner MEAP Anbieter steht unser White Paper zum Download zur Verfügung.

Fazit

Enteprise Mobility Circle Part 4 - MEAP und App-Entwicklung

Eine MEAP bietet also die Chance, Unternehmen bei der App-Entwicklung zu unterstützen. Sie befähigt Entwickler, Backends vergleichsweise einfach in eine App zu integrieren und bietet die notwendigen Funktionalitäten zur Verwaltung und Instandhaltung dieser Apps. Hierbei muss es sich nicht nur um ein internes Backend handeln, sondern auch externe Daten können durch die MEAP integriert werden (vergleiche Bild). Für Unternehmen, die in Erwägung ziehen, mehrere Apps entwickeln zu wollen, ist die Investition in eine MEAP trotz des zunächst höheren Kosten- sowie Einarbeitungsaufwands in vielen Fällen zu empfehlen.

Lessons learned

  • Bei der Entwicklung von Apps müssen zunächst die Use Cases sowie die benötigten Funktionalitäten erörtert.
  • Es gibt drei Ansätze zur Umsetzung von Apps: Nativ Apps, Hybrid Apps und Web Apps.
  • Die größte Herausforderung bei der Entwicklung von Enterprise Apps ist die Integration sowie Verwaltung von Daten der Backendsysteme (ERP, CRM, CMS…).
  • MEAPs bieten eine Entwicklungsumgebung für mobile Anwendungen indem sie Tools zur Integration von Backend-Systemen, Entwicklung von Apps sowie der Verwaltung und Verteilung dieser Apps zur Verfügung stellen.

Lesen Sie hier weiter: EMBG Teil 5 – Mobile Application Management (MAM) und Enterprise App Store (EAS)

Schreib einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *