Webbasierte Entwicklung für webbasierte Anwendungen


Webbasierte Entwicklungsumgebungen können den Entwicklungsprozess an vielen Stellen vereinfachen. Denn diese neuen Werkzeuge bieten Möglichkeiten für ein dezentrales und mobiles Arbeiten interner und externer Mitarbeiter.
Ziel der aktuell verfügbaren Lösungen ist es, Entwicklungsressourcen schnell für ein Projekt bereitzustellen, intern und extern besetzte Teams ohne technische Hürden zu skalieren und gleichzeitig Betriebs- und Wartungskosten der IT-Umgebung zu senken.
Entwicklung in die Cloud auslagern
Eine Web-Entwicklungsumgebung ist eine vollständige Software-Entwicklungsumgebung, bereitgestellt durch einen Cloud-Dienstleister. Diese umfasst sowohl Entwicklungswerkzeuge als auch Test-Systeme, Prototypen oder das Quelltext-Repository. Als Technologie wird zumeist JavaScript eingesetzt.
Für den Einsatz dieser Entwicklungsumgebungen werden keine dedizierten Netzwerk-Verbindungen zwischen der Cloud und der Unternehmens-IT benötigt. Dies ist aufgrund der JavaScript-Technologie möglich.
Denn JavaScript wird lokal im Web-Browser ausgeführt und gleicht somit den herkömmlichen lokal zu installierenden Lösungen. Mit einer Ausnahme: Die Entwicklungsumgebung wird durch den Cloud-Anbieter gewartet und immer auf dem aktuellsten Stand gehalten.
Interne Mitarbeiter können gewohnt auf bestehende interne IT-Systeme zugreifen, um neue Anwendungen zu testen oder zu verteilen. Technisch arbeiten diese Mitarbeiter weiterhin lokal und benötigen daher lediglich einen Internetzugang.
Externe Mitarbeiter hingegen werden in vielen IT-Projekten benötigt, um Spezialkenntnisse beizusteuern, welche nicht dauerhaft im eigenen Unternehmen angesiedelt oder aufgebaut werden können.
Das On-Boarding dieser Ressourcen ist aber zeitintensiv, sowohl administrativ als auch technisch. Oft ist es zudem nicht gewünscht oder nur aufwändig möglich, externe Mitarbeiter in interne Software-Entwicklungsteams zu integrieren oder Zugriffsrechte auf die interne IT-Umgebung zu gewähren.
Web-Entwicklungsumgebungen bieten für diesen Fall neue Lösungsansätze wie das automatisierte Erstellen von Mock-ups interner IT-Systeme, die funktionsfähig in einer Cloud-Umgebung für Entwicklungszwecke bereitgestellt werden.
Die Technologie der webbasierten Entwicklung erlaubt, interne Teams auf einfache Weise mit zusätzlichen externen Ressourcen zu skalieren.
Spezialfähigkeiten, wie etwa die für die Benutzerschnittstellen-Entwicklung notwendigen CSS-Kenntnissen, können somit nach Bedarf flexibel in ein Projektteam hinzugezogen werden, ohne zunächst aufwändige IT-Zugriffsrechte zu beantragen oder verwalten zu müssen. Es genügt der Zugriff auf die Software-Entwicklungsumgebung.
Gemeinsamkeiten von SAP und anderen Lösungen
Alle großen Hersteller von Individual-Software-Lösungen bieten inzwischen webbasierte Entwicklungs- und Testumgebungen an. Die Lösungen haben dabei viele Gemeinsamkeiten und basieren alle auf dem gleichen Prinzip: webbasierte Entwicklung für webbasierte Anwendungen!
Web-Entwicklungsumgebungen sind in erster Linie entworfen, um Webseiten, Portale, hybride und reine HTML5-Apps bereitzustellen. Verfügbare Produkte sind zum Beispiel Microsoft WebMatrix, IBM BlueMix, SAP Web IDE., SAP Hana Workbench oder der Google Chrome Dev Editor. Den Bereich der nativen Entwicklung adressiert dabei bislang allein die Hana Workbench.
Die Produkte teilen sich folgende grundlegende Eigenschaften:
- Sie sind auf Hersteller-Spezifika wie etwa SAP Fiori oder IBM BPM optimiert.
- Sie beinhalten alle einen Hersteller-Baukasten mit vorgefertigten Code-Bausteinen und Templates.
- Alle Produkte verwenden standardisierte Schnittstellen, etwa zum Code Repository GitHub oder Bug Tracking Tool Bugzilla.
Darüber hinaus sind die IT-Architektur und das Entwicklungsvorgehen – Test, Entwicklungsstrategie, Berechtigungskonzepte etc. – aber immer identisch. Die Kombination verschiedener Herstellerlösungen ist daher immer möglich und erlaubt es, jederzeit das ideale Werkzeug für ein spezifisches Projekt zu verwenden. Denn das Ergänzen einer weiteren Lösung bedeutet oft nicht mehr als das Hinzufügen eines weiteren Links in die Web-Browser-Favoriten.
Konkrete Umsetzung im SAP-Umfeld
Worauf ist in der Praxis zu achten? Für die SAP-Community gewinnt das Thema webbasierte Softwareentwicklung zunehmend an Bedeutung. Zum einen sind die klaren Vorteile der neuen Technologie kaum noch von der Hand zu weisen:
Das Verteilen und Pflegen einer Cloud-Applikation ist um ein Vielfaches einfacher als die Wartung einer klassischen Desktop-Applikation. Zum anderen setzt SAP für die Fiori-Entwicklung und Erweiterung ganz stark auf den Einsatz der eigenen „SAP Web-IDE“.
Gleiches gilt in Zukunft auch für Hana, das bereits diverse Entwicklungswerkzeuge als Cloud-Lösung bereitstellt. Es ist allein deshalb schon erforderlich, die neuen Technologien näher zu betrachten und sowohl in die IT-Betriebsstrategie als auch in die Projektmethodik zu integrieren, da in absehbarer Zeit keine alternativen und klassischen Lösungen mehr existieren werden.
Nach den ersten Projekterfahrungen mit den neuen Technologien sind folgende Aspekte bei Verwendung einer webbasierten Entwicklungsumgebung zu beachten:
- Grafische Anwendungs-Mock-ups von Beginn an in der Web-Umgebung bereitstellen.
- Frühzeitig Schnittstellen-Mock-ups der On-Premise-Systeme generieren und die Funktionsweise testen.
- Berechtigungskonzept für die Software-Entwicklung und Projektdurchführung bereits in der Konzeptphase erstellen.
- Einheitliche Entwicklungsstandards im Unternehmen definieren und kommunizieren.
- Das Source Code Repository sowie Bug Tracking On-Premise bereitstellen und mit der Web-Entwicklungsumgebung verknüpfen.
Die schnelle Bereitstellung von Mock-ups ist einer der großen Vorteile der neuen Technologie. Da die webbasierten Entwicklungsumgebungen in einer extern bereitgestellten Cloud arbeiten, ist es zunächst nicht notwendig, interne IT-Ressourcen und Systeme zu verwenden, um den Fachabteilungen im Unternehmen eine „Demo-Applikation“ zur Verfügung zu stellen.
Neue Anwendungen können schnell und bereits lauffähig mithilfe von digitalen Assistenten erstellt werden. Hierzu werden standardisierte Benutzerschnittstellen und Oberflächenelemente, wie zum Beispiel Textfelder und Buttons, zu einer komplexen Anwendung zusammengesetzt.
Die erstellte Anwendung kann dann mit wenigen „Klicks“ online veröffentlicht werden und den Fachbereichen zur Prüfung und Diskussion übergeben werden. Die fachlich verantwortlichen Mitarbeiter können die Anwendung direkt, auch auf unterschiedlichen Geräten wie Smartphones, Tablets oder Desktops, prüfen.
Standards zwingend notwendig
Im Rahmen der neuen Technologie gewinnen einheitliche Infrastruktur und Standards an Bedeutung. Die Web-Entwicklungsumgebungen der verschiedenen Hersteller sind optimiert auf deren Spezifika und bieten den jeweils optimalen Baukasten für ihre Produkte.
Aus Sicht der Softwareentwicklung macht es daher Sinn, jeweils die passende Entwicklungsumgebung zu wählen. Geschäftsprozesse sind aber häufig systemübergreifend, sodass letztendlich mehr als eine Entwicklungsumgebung zum Einsatz kommt.
In einem Projektumfeld besteht damit die Herausforderung, Teams mit unterschiedlichen technologischen Backgrounds, die unterschiedliche Werkzeuge verwenden, zu einer einheitlichen, in sich konsistenten Lösung zu führen.
Standardisierung ist eine mögliche Antwort auf diese Herausforderung. Es sollte jedoch darauf geachtet werden, diesen Ansatz möglichst pragmatisch zu verfolgen und sich auf die Kernbereiche zu konzentrieren.
Für Schnittstellen etwa sollte, wenn möglich, nur eine Technologie gewählt werden, und wenn die Wahl zum Beispiel auf „REST“ fällt, ist grundlegend zu definieren, wie dieses Paradigma umgesetzt werden soll.
Ebenfalls sind alle unterstützenden Werkzeuge wie beispielsweise Bug Tracking, Source Code Repository und Dokumentation möglichst einheitlich und nur einmalig für alle Teams zu wählen.
Zudem gilt: Standards sind wichtig, aber nur sinnvoll, wenn diese auch verstanden und angewandt werden. In der Praxis ist daher gemeinsam mit den Projektbeteiligten aus Entwicklung, Infrastruktur und Fachabteilung zu definieren, was wichtig und entscheidend für den gemeinsamen Erfolg ist.