Es gibt viele Gründe, gewachsene Unternehmensanwendungen ins Web zu bringen. Nicht nur die Verfügbarkeit der Anwendungsfunktionen außerhalb des lokalen Netzes spricht dafür. Deployment-Kosten für neue Versionen sinken, Patches und Change Requests können einfacher verteilt werden. Außerdem entsprechen Web-Anwendungen immer mehr den Look&Feel-Erwartungen der Anwender. Schließlich kann durch eine Web-Anwendung die Verfügbarkeit der Funktionalität auf verschiedenen Plattformen bis hin zu mobilen Geräten wie Smartphones und Tablets sicher gestellt werden.
All diese Aspekte können dafür sprechen, auch über Jahre gewachsene Client-Server-Anwendungen in eine Web-Architektur zu überführen. Dazu sind allerdings eine Reihe von Vorüberlegungen nötig. Von einer kompletten Neuprogrammierung ist, auch wenn Ausgangs- und Ziel-Technologien weit auseinander liegen, zumeist abzuraten. Neue Anforderung und neue Technologien in einem Projekt zu vereinen vergrößert die Gefahr, dass das Projekt zu einem Millionengrab wird und nie zu einem erfolgreichen Ende gebracht wird.
Welcher Ansatz der richtige ist, hängt oft nicht primär von der Technologie der bisherigen Anwendung ab. Ob sie in Visual Basic oder C/C++ oder in Java geschrieben ist, oder ob es sich gar um eine Großrechner-Anwendung handelt, ist zumeist nicht so wichtig wie die Frage, ob die Anwendung eine klare Schichten-und Modul-Architektur hat und ob Entwicklungsstandards während der gesamten Lebenszeit der Anwendung weitgehend eingehalten wurden.
Eine einfache Checkliste kann zu einer ersten Beurteilung eines Software-Migrationsprojekts hilfreich sein. Auf ihrer Basis ist eine Analyse möglich die zeigt, welche Bestandteile ein Durchstich-Prototyp haben sollte, mit dessen Hilfe eine seriöse Kosten- und Zeitschätzung für eine erfolgreiche Migration möglich ist.