Migration: Desktop Software zu RIA

Für die Migration von Desktop Software gibt es etliche Herangehensweisen. Generell greift auch hier der Entwicklungsplan, den wir ebenso für Software, Web-Anwendungen und Apps einhalten.

Vorteilhaft ist, wenn bei der bisherigen Entwicklung auf die strikte Trennung der Schichten (MVC) geachtet und eine modulare Programmierung eingehalten wurde. Auf dieser Basis kann das neue Anwendungs-Konzept entworfen werden und konkret definiert werden, welche Aufgaben in welchem Umfang auf Server und Client aufgeteilt werden (siehe auch: Geschwindigkeit bei RIA).

Geht es schließlich an die Programmierung und Umsetzung, so sei an dieser Stelle darauf hingewiesen, dass es in etlichen Fällen deutlich günstiger und zweckmäßiger ist, von der bisherigen Programmiersprache (der Desktop Software) abzusehen. Manch einem mag diese Behauptung unsinnig erscheinen; jedoch muss bedacht werden, dass die Migration der Desktop Software zu einer Rich Internet Application nicht damit getan ist, dass man die grafischen Ebenen durch ein Webinterface austauscht und anschließend die Interaktivität reimplementiert. Richtig ist, dass die GUI in der AJAX-Umgebung für die Clients (Frontend) realisiert und ebenso auch die Interaktivität für den Browsereinsatz geschrieben wird. Doch die Logik der Software (Backend, ohne GUI) wird für den Server übersetzt und kann dort an etlichen Stellen zusätzlich optimiert werden. Meist bedeutet es einen größeren Aufwand, die bisherige Programmiersprache beizubehalten, als eine state-of-the-art Software für den Server zu entwickeln. Damit kann auch eine höhere Stabilität geboten werden. Darüber hinaus entfallen auch oft die Lizenzkosten für proprietäre Lösungen.

Insgesamt sollte sich spätestens nach Ausarbeitung des (sprachenunabhängigen) Konzepts einschätzen lassen, welche Programmiersprachen und Frameworks sich am Besten für die RIA eignen. Dabei ermöglicht ausgiebige Erfahrung und Kompetenz, diese grundlegende Entscheidung zu fällen, bei der die Faktoren berücksichtigt werden:

  • effektive und effiziente Software-Entwicklung
  • Stabilität und Sicherheit des Systems
  • Datensicherheit und Rechtesystem
  • kostengünstige Wartbarkeit
  • Erweiterbarkeit/Flexibilität
  • DBRMS

Was für den Desktop ideal ist, kann auf dem Server zweite Wahl sein; sei es wegen der Entwicklungskosten, Wartbarkeit oder Performance bei synchronen Zugriffen. Bei dieser Entscheidung können teure Fehler und unnötige Entwicklungskosten vermieden werden.

Für die Seite der Clients bzw. Nutzer sollte feststehen, welcher Einsatzbereich durch die RIA abgedeckt werden soll. Wird die Anwendung auch auf Smartphones/iPhone/Blackberry/Palm oder anderen mobilen Endgeräten genutzt? Die Plattformunabhängigkeit und Kompatibilität sollten bei RIAs grundsätzlich gewährleistet sein, scheinen aber bei etlichen Dienstleistern immer noch ein Problem darzustellen.

Abhängig von den Anforderungen der Server Application (nicht: Systemanforderungen der Desktop Software!) und dem zu erwartenden Traffic kann bereits beim Konzept entschieden werden, ob ein Server oder DB-Cluster genügt oder ob von vornherein eine Clouds-Lösung sinnvoll ist.

Kommentare zum Thema: im Blog

Angebot anfordern

 

Tags: