Der Magic Software Germany Blog

Dienstag, 12. Juli 2011

Business-Apps setzen sich durch

Mobile Business-Anwendungen – Herausforderungen und Lösungen für Software-Unternehmen und IT-Abteilungen




Apps, mobile Applikationen für iPhone, Blackberry, Andreoid-Smartphones und andere intelligente Endgeräte, nutzen und erfreuen nicht mehr nur Privatuser. Auch in der Unternehmenswelt verbreiten sie sich zügig: Der Vertriebsmann möchte sein CRM-System im Smartphone haben, der Service-Techniker beim Kunden Ersatzteile ordern, der Geschäftsführer von unterwegs Liquidität und Auftragslage im Blick haben.

Der Trend zur mobilen Unternehmensanwendung stellt Software-Unternehmen und firmeninterne IT-Abteilungen vor eine ganze Reihe von Herausforderungen. Sie müssen ihre „Applikationen“ mobilisieren und dabei gleichzeitig Budgetgrenzen, technische Limitierungen der mobilen IT und andere Nutzungsgewohnheiten beim App-Einsatz berücksichtigen. Zu den wichtigsten Business-App-Herausforderungen gehören:

- die Reduzierung des Entwicklungs- und Bereitstellungsaufwands

- die Integration mit den Backend-Systemen

- die Entwicklung bedienungsfreundlicher Clients, die trotz begrenzter Bandbreiten Desktop-ähnliche Nutzererfahrungen bieten

- die Sicherstellung einer hohen App-Qualität bei vertretbarem Einsatz

Reduzierung des Entwicklungs- und Bereitstellungsaufwands



Die Entwicklung von mobilen Applikationen erfordert oft unterschiedliche Technologien und Know-how-Profile. Der Client mit Benutzeroberfläche, Interaktionslogik und einem Teil der Geschäftslogik sowie die Serverseite mit dem größten Teil der Geschäftslogik und der Integration in die Backend-Systeme basieren in der Regel auf unterschiedlichen Plattformen. Hinzu kommt, dass noch eine Middleware für die Client-Server-Kommunikation und das Session-Management mit einer wiederum anderen Technologie realisiert werden muss.

Die Entwicklungsaufwände addieren sich durch den Einsatz verschiedener Teams, die das Know-how für die jeweilige Server-, Client- oder Middleware-Plattform besitzen, schnell auf unakzeptable Höhen. Deshalb benötigen Software-Häuser und IT-Abteilungen Entwicklungs- und Bereitstellungsplattformen, mit denen sie mobile Applikationen vom Client bis zum Server mit einer einzigen Lösungen und einem Know-how-Set „durchentwickeln“ können.

Backend-Integration mit Integrationsplattform

Im Gegensatz zu Consumer-Apps müssen mobile Business-Appliktionen in die Backend-Systeme eines Unternehmens integriert sein – und zwar so, dass die Informationen zwischen ihnen in Echtzeit ausgetauscht werden können. Eine Bestellung, die der Außendienst beim Kunden per Mobilgerät abschickt, stößt eine Prozesskette an, die mehrere Applikationen involviert: Zunächst geht die Bestellung in Richtung ERP-System, um zu überprüfen, ob das bestellte Produkt verfügbar ist. Wenn dies der Fall ist, wird beim CRM-System angefragt, ob die Bonität des Kunden in Ordnung ist. Nach einem positiven Bescheid generiert wiederum das ERP-System eine Rechnung und die Lagermanagement-Software initiiert die Auslieferung der bestellten Ware. Sind alle Schritte durchgeführt, muss der Vertriebler beim Kunden die Nachricht erhalten: „Alles ok, Bestellung unterwegs, Anlieferung am Tag x.“ Gleichzeitig sind alle beteiligten Systeme – ERP, Bestandsmanagement, Fibu etc. – zu aktualisieren, um die Transaktion datentechnisch abzubilden und zu steuern.

Wenn die notwendigen Verbindungen der mobilen Applikation mit den verschiedenen Backend-Systemen „manuell“ und „Punkt-zu-Punkt“ programmiert werden müssen, schießt der Integrationsaufwand in die Höhe. Zumal diese Szenarien veränderlich sind. Ändert sich der Markt, verändern sich auch die Geschäftsprozesse, die wiederum neue Integrationen erfordern.

Für diese Aufgabe benötigen Software-Häuser und IT-Abteilungen deshalb Integrationswerkzeuge, die das händische Programmieren von Schnittstellen überflüssig machen und übersichtliche Integrationslandschaften schaffen. So können sie mobile Applikationen schnell und flexibel in IT-Infrastrukturen einbinden, ohne dass es zu langen Projekten mit ausufernden Kosten und Risiken kommt.

Einfache und schnelle Anwendungen mit eigenem Client



Smartphones, so leistungsfähig sie auch geworden sind, haben immer kleinere Tastaturen und Bildschirme als Desktop-Systeme. Wenn es darum geht, Apps als mobile Versionen interner Unternehmenslösungen zu realisieren, wird dies zum Problem. Die gewohnte Benutzerführung funktioniert nicht mehr, Funktionen und Features sind anders erreichbar, mühsamer zu nutzen oder gar nicht darstellbar.

Hinzu kommt, dass die Bandbreite immer noch ein „Nadelöhr“ ist. Aufwändige grafische Benutzeroberflächen sind nicht möglich, ohne dass die App-Perfomance leidet.

Damit Mitarbeiter mobile Applikationen tatsächlich nutzen und nachhaltig akzeptieren, sollten sie deshalb möglichst einfach konzipiert sein. Die Nutzer müssen ihre Aufgaben mit wenigen Klicks erledigen können – ohne sich durch etliche Screens zu tippen und lange auf sich nachladende Oberflächen und Informationen warten zu müssen.

Empfehlenswert ist es deshalb, mobile Applikationen in einem eigenen Client ablaufen zu lassen statt in einem Standardbrowser. So können Entwickler Bedienoberflächen ohne HTML-Einschränkungen gestalten und besser auf niedrigen Datendurchsatz trimmen. Nur so lässt sich die Nutzererfahrung auf das gleiche hohe Level heben, wie es die Mitarbeiter von ihrer Arbeit mit der Desktop-Anwendung gewohnt sind.

Qualität in der Software-Entwicklung

Die Software-Qualität ist für die Akzeptanz von mobilen Business-Lösungen genauso entscheidend wie bei ihren Desktop-Pendants. Ein „Quick-and-Dirty-Ansatz“ bei den vorgeblich kleinen Apps wirkt sich fatal aus und führt zur schnellen Nicht-Nutzung.

Deshalb sollte bei der Entwicklung auf Technologien zurückgegriffen werden, die das Programmieren in schnellen Zyklen mit jeweils einem funktionsfähigen Prototypen als Ergebnis ermöglichen. Dann können die späteren Nutzer Prototypen schon in frühen Stadien ausführlich testen und ein direktes Feedback geben, das im nächsten Entwicklungszyklus „eingebaut“ wird. Durch die iterativen „Programmierschlaufen“ und die Integration der Mitarbeiter in die Entwicklung entstehen Apps, die von ihrem ersten Einsatztag an die Ansprüche der Nutzer erfüllen.

Entwicklungstools und Integrationstools für mobile Applikationen



Fasst man die Anforderungen an Programmierung, Test, Verhalten und Integration von mobilen Applikationen zusammen, ergeben sich einige Eigenschaften, die Entwicklungs-, Integrations- und Bereitstellungsplattformen mitbringen müssen.

Zunächst sollte es, wie bereits erwähnt, möglich sein, mobile Applikationen mit einem Werkzeug vom Client bis zum Server zu entwickeln, um nicht mit verschiedenen Programmiertechnologien und Teams arbeiten zu müssen. Um die erforderliche Entwicklungsgeschwindigkeit zu erzielen, ist es weiterhin notwendig, mit Metadaten-gesteuerten Werkzeugen zu programmieren. Statt Funktionen per Code manuell zu realisieren, konzentrieren sich Entwickler mit diesen Plattformen darauf, vorkonfigurierte und -kompilierte Funktionen auf Geschäftsprozessebene zusammenzubauen. Die Ausführung und die „Umwandlung“ in mobile Funktionen übernimmt während der Laufzeit die integrierte Bereitstellungsplattform (Lösungen, die Entwicklungs- und Bereitstellungsumgebung vereinen, werden auch als Applikationsplattformen bezeichnet).

Um schlanke Apps mit browserunabhängigen und funktionsreichen Clients zu entwickeln, die eine ähnliche Nutzererfahrung vermitteln wie Desktop-Anwendungen, sollten sich mit der Entwicklungsumgebung Rich-Internet-Applikationen (RIA) entwickeln lassen. Eine RIA verlagert wesentliche Teile der Funktionslogik in den Client, so dass sein Verhalten Desktop-ähnlich ist. Da der Client zur Funktionsausführung nicht mehr auf den Server angewiesen ist und nur noch Daten angefordert werden müssen, reduziert sich der notwendige Datenverkehr im Vergleich zu herkömmlichen Webanwendungen drastisch, was wiederum die Performance der Apps steigert.

Da Metadaten-gesteuerte Entwicklungsumgebungen nicht auf bestimmte Bereitstellungsmodelle begrenzt sind, können mit ihnen auch RIAs für den mobilen Einsatz realisiert werden: Die Bereitstellungsplattform sorgt automatisch dafür, dass die definierten Funktionen im Rahmen einer RIA ausgeführt werden.

Der Metadaten-gesteuerte Programmieransatz unterstützt auch das schnelle Programmieren in iterativen Entwicklungszyklen. Statt im Wasserfallmodell eine Software zu codieren, zu compilieren und zu testen, um dann die gesamte Prozedur erneut zu durchlaufen, werden hier vorkompilierte und getestete Funktionsbausteine in einem Zehntel der sonst notwendigen Codier-Zeit zu lauffähigen Prototypen zusammengefügt, die sofort vom Enduser getestet werden können. So entstehen durch das schnelle Durchlaufen der Zyklen sehr fein auf die Ansprüche und Wünsche der Nutzer abgestimmte Lösungen.

Auch bei der Integration der Apps in die Backend-Systeme hilft der Meta-daten-gesteuerte Ansatz. Hier eliminiert er das händische Entwickeln von Schnittstellen zwischen den an den Geschäftsprozessen beteiligten Lösungen, das sonst schnell in aufwändige und risikoreiche Projekte ausartet. Ähnlich wie bei der Entwicklung auf vorkompilierte, geschäftsorientierte Funktionsbausteine zurückgegriffen wird, nutzt die Metadaten-gesteuerte Integrationsplattform vorkonfigurierte Schnittstellen, um schnell und einfach Verbindungen zwischen Applikationen zu schaffen.

Herausforderung mobile Applikationen

Mobile Unternehmenslösungen stellen sowohl für die Entwickler als auch für die Anwender ein neues technologisches Umfeld dar. Um sich dafür zu rüsten, benötigen sie die richtigen Applikations- und Integrationsplattformen.

Denn der Time-to-Market einer mobilen Applikation ist in einer solchen dynamischen Branche Schlüsselfaktor für Erfolg. „Der Erste auf dem Markt“ ist ein Vorsprung, der von den Konkurrenten oft nicht wieder eingeholt werden kann.

Es zahlt sich daher aus, Werkzeuge zu nutzen, die den Entwicklungsprozess vereinfachen, den Time-to-Market beschleunigen und Business-Apps realisieren, die den Nutzer schon von der ersten Version an begeistern.

Über die uniPaaS Entwicklungs- und Applikationsplattform

uniPaaS ist eine Metadaten-basierende Entwicklungs- und Applikationsplattform, mit der Unternehmen Business-Lösungen entwickeln und integrieren.

uniPaaS ist ein universelles Werkzeug, dessen „End-to-End-Paradigma“ die durchgängige Entwicklung von Client-, Server- und Session-Schicht erlaubt.

uniPaaS bietet seinen Nutzern die Freiheit, wie sie ihre Applikationen bereitstellen wollen, als Full Client oder Web-Lösung, als On-Premise- und On-Demand-Applikation, in der Cloud oder hinter der Firewall, ob als eigene Software oder im SaaS-Modell, ob mobil, global oder lokal. uniPaaS ist kompatibel zu ereignisgesteuerten und serviceorientierten Architekturen.

uniPaaS schirmt Entwickler von der Technologie ab, so dass sie sich auf die geschäftlichen Aspekte einer Software konzentrieren können, statt sich mit der Technik zu befassen.

uniPaaS ist vollständig kompatibel mit .NET- und Java. Mit uniPaaS entwickelte Applikationen sind Browser-frei, 3-schichtig, ohne Verwendung von Skripten oder Middleware, Multi-Plattform-fähig und für die Entwicklung mobiler Software geeignet.

Magic Software bietet Ihnen mit uniPaaS Jet, eine kostenlose, Single-User Version der revolutionären uniPaaS Application Plattform für die Entwicklung und das Deployment von Applikationen: http://web.magicsoftware.com/unipaas-jet-download/GR/


Über die iBOLT Geschäfts-Integrations-Suite

iBOLT ist eine Metadaten-Plattform für die Software- und Geschäftsprozessintegration. Sie ermöglicht es Unternehmen, Daten verschiedener Applikationen zu synchronisieren, Workflows zu optimieren, manuelle Tätigkeiten wie Dateneingaben zu automatisieren sowie Aktivitäten in Echtzeit-Review zu überwachen.

iBOLT vereinfacht Design- und Integrationsprozesse, indem es die Geschäftslogik von der Integrationstechnologie trennt. Mit iBOLT können Geschäftsprozess-Prototypen geändert werden, ohne die Funktion aktueller Geschäfts- und Softwareprozesse zu beeinträchtigen.

iBOLT verfügt über benutzerfreundliche, Code-freie Werkzeuge wie Assistenten, Drag-&-Drop- oder Tabellenfunktionen. Sie schafft direkte Verbindungen zwischen Applikationen, die auf verschiedenen Plattformen – Hardware, Betriebssystemen oder Datenbanken – laufen.

iBOLT Special Editions

iBOLT integriert ein breites Spektrum von Business-Applikationen, inklusive SAP Business One, SAP R/3, Salesforce.com, Oracle JD Edwards, Lotus Notes, Microsoft Office, IBM i (AS/400), HL7-Applikationen und Google Apps.