Rich Internet Applications und Web Services:
Softwareentwicklung: Renovierung statt Neubau

von Werner Fritsch (werner.fritsch@crn.de), Michael Bark

23.07.2010

Altanwendungen komplett zu ersetzen ist teuer und risikoreich. Mit Web-Services- und RIA-Technologien lassen sich vorhandene Applikationen oft passabel ins Internet-Zeitalter hinüberretten.

Keine Beiträge im Forum. » Diskussion starten!

Foto: Fotolia

Die IT-Abteilung soll durch neue Produkte und Services einerseits Motor für Innovationen sein, andererseits aber mit weniger Budget auskommen – eine schwere Aufgabe für alle IT-Verantwortlichen. Eine aktuelle Erhebung des Marktforschungsunternehmens Vanson Bourne hat ergeben, dass die Mehrheit der befragten Unternehmen die Modernisierung bestehender Anwendungen für die beste Methode hält, um Kosten zu reduzieren. Da wesentliche Komponenten erhalten bleiben, werden im Gegensatz zur Ablösung durch Standardprodukte oder Neuimplementierungen getätigte Investitionen geschützt.

Eine solche Modernisierung ist kein Selbstzweck, vielmehr will sie Herausforderungen annehmen und gleichzeitig Risiken minimieren, Ressourcen schonen und mit finanziellen Mitteln sparsam umgehen. Viele Kernanwendungen wurden vor dem Internetzeitalter erstellt und sind monolithisch aufgebaut. Host-Anwendungen sind so implementiert, dass Datenhaltung, Verarbeitung und Präsentation eng gekoppelt sind. Den damit verbundenen Nachteilen bei Wartung und Erweiterungen, aber auch im Hinblick auf Wiederverwendung versuchte man in den neunziger Jahren mit neuen Ideen zu begegnen.

Client-Server-Architekturen führten zu einer Entkopplung von Datenhaltung, Geschäftslogik und Präsentation. Die alten monolithischen Systeme sind aber auch aus Anwendersicht nicht mehr zeitgemäß, denn die Ansprüche an Ergonomie und Usability haben erheblich zugenommen. Heutige Nutzer sind in der Regel internetaffin und bewegen sich zielsicher in der Online-Welt. Sie kennen Mouseover-Highlighting genauso wie Drag-and-Drop und weitere Möglichkeiten des Web 2.0.

Auch auf Ebene der Geschäftsprozesse sind diese alten Anwendungen nicht mehr auf der Höhe der Zeit. Es fehlt an der notwendigen Flexibilität, um schnelle Anpassungen vornehmen zu können. Denn die enge Kopplung der Funktionsblöcke schließt eben auch die Geschäftslogik mit ein.

Ablösung einer Altanwendung ist teuer und riskant

Folgendes Beispiel soll dies verdeutlichen: Versicherung A verwendet eine Host-Applikation zur Abwicklung ihrer Geschäftsprozesse. Darin enthalten ist ein Tarifrechner, der für die Sachbearbeiter in den Filialen und in der Zentrale verfügbar ist. Versicherung A möchte das Geschäft ausweiten und baut einen Partnervertrieb auf. Die Partner haben technisch keine Möglichkeit, auf den Tarifrechner zuzugreifen. Und selbst wenn dies der Fall wäre, könnten sie die Dialogmasken, die an ein DOS-Fenster erinnern, nicht bedienen. Also beschließt Versicherung A, eine proprietäre, dedizierte Tarifrechnerlösung für die Partner entwickeln zu lassen. Einige Zeit später soll im Rahmen der B2C-Strategie der Endkunde das Versicherungsprodukt auch direkt von zu Hause kaufen können. Das Problem: Die bereits verfügbaren Tarifrechner lassen sich aber nicht über das Internet ansprechen. Die Innovationszyklen im Vertrieb werden immer kürzer – die Anwendungsentwicklung wird zum Bremsklotz.

Der radikale Ansatz klingt verlockend: Sollte man die alte Lösung nicht am besten komplett entsorgen? In die Entwicklung dieser Anwendung sind allerdings hohe Investitionen geflossen, und sie ist in der Regel auf firmen- und aufgabenspezifische Anforderungen zugeschnitten. Zuverlässigkeit und Fehlerfreiheit haben ein hohes Maß erreicht. Zudem ist eine Menge Know-how implizit im Anwendungssystem enthalten und kann nur mit erheblichem Aufwand explizit gemacht werden. Nicht zuletzt werden Spezialisten für ältere Programmiersprachen und Host-Systeme immer rarer.

Die vollständige Ablösung einer Altanwendung ist deshalb oft nicht möglich oder mit erheblichen Risiken verbunden. Aus diesem Dilemma führen kann die Modernisierung der Client-Funktionalität. Funktionsbereiche der monolithischen Anwendung werden dahingehend entkoppelt und gekapselt, dass Aktivitäten des Geschäftsprozesses – ohne Limitierungen wie LAN oder proprietäre Kommunikationsprotokolle – bereitgestellt werden.

Entkopplung durch Web Services

Es geht also nicht mehr allein um den technischen Aspekt einer Mehrschichtenarchitektur, sondern um das Zuschneiden und Konfektionieren von Fachdiensten im Sinne eines Services. Um beim Beispiel des Tarifrechners zu bleiben: Der Tarifrechner soll – abstrakt beschrieben – eine Prämie liefern und benötigt dafür Daten für die Kalkulation. In der Vergangenheit hat der Tarifrechner mit dem Benutzer direkt kommuniziert und umgekehrt. Nun wird eine Abstraktionsschicht eingezogen, der Tarifrechner ist über eine standardbasierte Schnittstelle adressierbar. Über diese Schnittstelle können nun moderne Endgeräte eine Prämie ermitteln. Die Geschäftslogik, also das codierte Rechenwerk, wird dabei nicht angetastet. Weitere Funktionsbereiche, die man entkoppeln könnte, wären beispielsweise Provisionierung, Scoring, Vertragswesen und Stammdatenverwaltung.

Eine zielführende Entkopplung lässt sich über Web Services realisieren. Die wesentliche Geschäftslogik verbleibt innerhalb der Kernapplikation. Über die so bereitgestellten Schnittstellen können zeitgemäße und leistungsfähige Clients im Sinn von Rich Internet Applications (RIA) auf den entkoppelten Funktionsbereich zugreifen.

Diese RIA-Clients verfügen – anders als die Thin Clients einer rein HTML-basierten Browser-Lösung – über Eigenschaften und Funktionalitäten, wie sie sonst nur Desktoplösungen mit Fat Clients liefern. Dazu gehören Möglichkeiten wie Drag-and-Drop oder die Bedienbarkeit über Tastenkürzel, wie man das von Windows-Anwendungen auf dem PC kennt. RIAs bieten im Vergleich zu konventionellen Browser-Clients auch eine höhere Leistungsfähigkeit. So können beispielsweise Berechnungen auf dem Client ausführt werden, ohne eine Anfrage zum Server schicken zu müssen. Daten lassen sich vorladen und cachen, bis der Nutzer sie benötigt.

Gleichzeitig werden keine ganzen Seiten geladen, sondern nur die Bereiche, bei denen Änderungen angezeigt werden müssen. Dadurch lassen sich RIA-Anwendungen meist flüssiger und komfortabler bedienen. Die Kapselung der Kernfunktionalität hat einen weiteren positiven Effekt: Sie führt zu einer Entkopplung der unterschiedlichen Lebenszyklen der Gesamtanwendung.

Perspektiven für Software as a Service und Cloud Computing

So sind im Sinne der Prozesslogik beispielsweise Bereiche in der Buchhaltung wie Faktura, Orderbuch oder Wareneingang sehr stabil und überdauern meist den Lebenszyklus einer Anwendung. Im Gegensatz dazu unterliegen User Interfaces einer höheren Dynamik. Bei den neuen Mobile Devices oder den Tablet PCs ist das überdeutlich. RIA-Clients haben darüber hinaus den Vorteil, dass sie über Internet-Protokolle kommunizieren. Damit lassen sich Probleme im Zusammenhang mit Firewalls vermeiden. Da keine Softwareverteilung erforderlich ist, erhöhen flexible Zugriffe zum Beispiel für Außendienst, Vertrieb, Partner oder das Home Office die Effizienz.

Die skizzierte Modernisierungsstrategie reduziert Risiken und Ressourcenbedarf, da aufwendige Phasen wie Prozessmodellierung oder Migration entfallen und kein Big Bang geplant werden muss. Die Anwendungsentwicklung kann sich dabei ohne abrupten Bruch neu orientieren und moderne Entwicklungsumgebungen einführen. Auch wenn Unternehmen, die über Anwendungsmodernisierung nachdenken, noch keinen konkreten Einstieg für das Cloud Computing planen oder die Anforderung an einen Betrieb mit Software as a Service (SaaS) aufstellen – eine Anwendungsmodernisierung mittels RIA-Technologie eröffnet für sie Perspektiven für diese mutmaßlichen künftigen Megatrends. Denn die RIA-Technologie ist mit den Elementen zukünftiger Anwendungsarchitekturen kompatibel.

Dr. Michael Bark ist Geschäftsführer des Hamburger IT-Dienstleisters evodion Information Technologies GmbH.

Verwandte Artikel