Gupta-Migration zu .NET | fecher
Gupta-Portierung
Sichern Sie Ihre Investitionen langfristig

Gupta-Migration: Portierung auf .NET

In den 90er-Jahren waren Gupta-Werkzeuge die Stars der Anwendungsentwicklung. Längst wurden sie allerdings von Browsertechnologien und modernen Plattformen, wie .NET von Microsoft, überholt. Damit stellt sich vielen die Frage, wie sich die vorhandenen Gupta-Anwendungen zukunftsfähig machen lassen. Diese weiter unter Gupta zu modernisieren, ist auf Dauer oft keine tragbare Lösung, sie neu zu entwickeln dagegen teuer und risikoreich.

fecher bietet eine sinnvolle Alternative: die Gupta-Migration. Als „Porting Project“ portieren wir Gupta-Anwendungen nach einem bewährten Vorgehensmodell auf die .NET-Plattform. Schnell, kostengünstig und zum Festpreis.

Lassen Sie Ihr Softwarekapital nicht brach liegen! Wir analysieren Ihre Anwendungen kostenlos und erarbeiten einen ersten Vorschlag für ein Modernisierungsprojekt.

Auf einen Blick

fecher-Kunden erhalten durch die Gupta-Migration eine echte .NET-Anwendung, die modernen Architektur- und Darstellungsstandards entspricht. Damit ist auch die Grundlage gelegt, diese in Richtung SOA oder Web-Anwendung weiterzuentwickeln.

fecher hat weltweit eine Vielzahl von Gupta-Anwendungen sowie Datenbanken und Reports erfolgreich auf .NET portiert. Die dafür eingesetzten Werkzeuge des amerikanischen Unternehmens Ice Tea Group ermöglichen eine einzigartige automatisierte Portierung von 100% des Quellcodes.

Ohne die automatisierte Migration auf .NET wären wir längst noch nicht so weit. Dabei lag der Aufwand kaum höher als für den Wechsel von einer Team-Developer-Version zur nächsten.

Robert Schaeffer, Imtech Austria

Während des Projektes werden unsere Kunden in alle zu treffenden Entscheidungen einbezogen. Aktivitäten, die die automatisierte Portierung nachbereiten, können sie wahlweise auch selbst übernehmen. Wenn gewünscht, begleiten wir Gupta-Entwickler anschließend bei den ersten Schritten mit .NET.

Anwendungsbereiche

Bei der Portierung von Gupta-Datenbanken und -Anwendungen sind drei grundsätzliche Bereiche zu unterscheiden:

  • die eigentliche Anwendung mit ihrer Anwendungslogik und Benutzeroberfläche,
  • die damit verbundenen Reports
  • und die Datenbank, auf die sie zugreift.

Anwendung

Eine Portierung muss die Funktionen und Abläufe der ursprünglichen Anwendung funktional so vollständig wie irgend möglich in die neue Umgebung transferieren. Außerdem soll die portierte Anwendung für ihre Benutzer genauso aussehen wie zuvor unter Gupta. Schließlich wollen die Entwickler die bisherige Anwendungsstruktur wiedererkennen und in der neuen Umgebung problemlos pflegen und weiterentwickeln können. Entsprechend erzeugt das Portierungswerkzeug Ice Porter bei der Gupta-Migration eine funktional vollständig äquivalente Anwendung sowie ein identisches Abbild der Benutzeroberfläche mit konfigurierbaren Möglichkeiten zum Redesign wie beispielsweise Skinning oder ein TabbedMDI. Weitere Addons wie Ribbonbar, Navigationsleisten oder erweiterte Tabellenfunktionen können sofort für die Weiterentwicklung verwendet werden.

Benutzeroberfläche: iCustomizer

Mit dem iCustomizer setzen Entwickler kundenspezifische oder veränderte Anforderungen an eine Standardanwendung ohne großen Aufwand um: Das Add-on für .NET-Applikationen ermöglicht es, die Benutzeroberfläche ohne weiteres Programmieren zur Laufzeit anzupassen. Graphical-User-Interface-Elemente und Controls aus dem Repertoire von Microsoft Visual Studio können damit nachträglich verändert oder hinzugefügt werden.

Entwickler nutzen das Werkzeug auch, um die Funktionalität einer fertigen Anwendung über C#-Code und Events zu erweitern. Das vom Softwarehaus nGroup im Rahmen eines Portierungsprojektes entwickelte Customizing-Werkzeug wird von fecher auf das Porting Project Framework abgestimmt und in Projekten eingesetzt.

Reports

In den Reports einer Gupta-Anwendung steckt ebenfalls erheblicher Entwicklungsaufwand. Zudem haben Hersteller, Dienstleister oder Kunde sie oftmals individuell angepasst. Beides bleibt beim Technologiewechsel mit dem Porting Project erhalten, indem wir auch die Reports automatisiert portieren. Das Portierungswerkzeug Ice Porter unterstützt unterschiedliche Zielsysteme:

  • Crystal Reports
  • List & Label
  • Stimulsoft Report
  • SQL Server Reporting Services

Unsere Kunden sind damit unabhängig von technologischen Zwängen und können ihre Auswahl nach den funktionalen Erfordernissen und Lizenzmodellen treffen. Auch individuelle Vorgehensweisen sind möglich. In manchen Projekten werden die Gupta Reports mittels eines „Report-Hubs“ weiterverwendet und erst sukzessive bei der Einführung beim Kunden umgestellt. fecher bietet auch Lösungen für die durch den Endbenutzer angepassten Standard-Reports.

Datenbanken

In der Theorie ist der Wechsel von einer Datenbank zu einer anderen ganz einfach: Dank der Standardisierung von SQL sollten die vorhandenen Anwendungen grundsätzlich mit einer beliebigen neuen Datenbankplattform zusammenarbeiten können.

Die Praxis allerdings sieht anders aus. Da stehen einem problemlosen Umstieg inkompatible Herstellerstandards zur Definition von Tabellen und Views, proprietäre Programmiersprachen für Trigger und Stored Procedures und nicht zuletzt erhebliche Abweichungen der einzelnen SQL-Dialekte im Wege.

Für Abhilfe sorgen die toolgestützte Dienstleistung dbPORTER und die Middleware-Komponente sqlTRANSLATOR, mit der zur Laufzeit das SQLBase-spezifische SQL in das SQL der neuen Datenbank übersetzt wird. Ganz transparent – ohne Änderungen im Quellcode. Dieses von fecher entwickelte Handwerkzeug macht den Umstieg im Rahmen der Gupta-Migration so einfach, wie er von den Erfindern von SQL ursprünglich gedacht war.

Anwenderbericht: Aus 20+ Anwendungspaketen wird eine neue Lösung - Modernisierungsprojekt von fecher bringt Software für kommunale Verwaltungen auf einheitliche neue Plattform

Gupta-Migration: Projektablauf und Vorgehensmodell

Unsere Portierungsprojekte laufen stets nach einem bewährten Vorgehensmodell ab. Lediglich der Servicegrad ist variabel. Beim All-Inclusive-Porting übergeben wir die Anwendung am Ende eines Projektes „schlüsselfertig“ portiert. Beim In-House-Porting können die Kunden eigene Entwicklungsressourcen einbringen. So lassen sich die im Vergleich zu einer Neuentwicklung ohnehin niedrigen Kosten weiter senken. Die hausinternen Entwickler erhalten dann nach der automatisierten Gupta-Migration durch fecher den fertig übersetzten und kompilierbaren Code. Sie kümmern sich um dessen Feinschliff und finalisieren ihn. Damit alles reibungslos klappt, werden sie vorher von unseren Experten geschult. Diese stehen außerdem jederzeit als Coaches zur Verfügung.

Das bewährte Porting-Project-Vorgehensmodell unterteilt sich in mehrere Phasen: In der Evaluierungsphase erarbeitet fecher mit potenziellen Kunden eine solide Entscheidungsgrundlage für die Portierung ihrer Gupta-Datenbanken und Anwendungen. Dazu gehört auch unser Festpreisangebot, das sich nach Code-Umfang und -komplexität richtet. Erst danach startet mit der Portierungsphase das eigentliche Projekt. Die Testphase führt schließlich zu einer auf .NET portierten, voll lauffähigen und für die Weiterentwicklung in Microsoft Visual Studio bereiten Anwendung.

Evaluierungsphase

Information: Ein Informationspaket aus Referenzbeispielen illustriert, wie das Porting Project in der Praxis abläuft. Erste Fragen klären wir im persönlichen Gespräch oder bei einer Online-Demonstration. Außerdem beraten wir zu Technologieauswahl, verschiedenen Migrationsansätze und der Zukunft von Gupta.

Grobanalyse: Mit dem Werkzeug PPJ Inventory und unseren immer weiter verfeinerten Checklisten erfassen wir den Code-Umfang sowie mögliche Besonderheiten. So können wir den erforderlichen Aufwand, den Zeitrahmen und die Kosten des Portierungsprojektes mit einer Schwankungsbreite zwischen 10 und 15 Prozent abschätzen. Die Grobanalyse ist kostenfrei.

Feinanalyse: Wir untersuchen alle Anwendungsmodule und Reports auf Problembereiche und Abhängigkeiten. Der potenzielle Kunde erhält einen Ergebnisbericht, das Festpreisangebot und einen groben Zeitplan für die Portierung. Die Feinanalyse berechnen wir nach Zeitaufwand. Je nachdem wie komplex die Anwendung ist, beträgt dieser zwei oder mehr Tage.

Portierungsphase 

Project Setup und Partitioning: Das Portierungsprojekt wird auf Basis der Analyseergebnisse aufgesetzt. Wir stimmen den genauen Zeitplan und die weitere Vorgehensweise mit dem Kunden ab. Gemeinsam definieren wir die Zielstruktur der einzelnen Anwendungsmodule und -komponenten und damit der gesamten Anwendung. Auch eine Zusammenführung von einzelnen Programmen kann durchgeführt werden.

Code Generation und Completion: Nach­einander portieren wir alle Module und Reports mit dem Werkzeug Ice Porter. Dies wird mehrmals wiederholt, um ein optimales Übersetzungsergebnis zu erzielen. Falls erforderlich, überarbeiten wir passend für das Projekt das Porting Project Framework oder den Ice Porter. So können beispielsweise auch Besonderheiten des Quellcodes berücksichtigt werden. Den generierten .NET-Code überarbeiten wir manuell, damit er kompilierbar wird.

Code Finalization: Codeanteile, die bei der Übersetzung durch den Ice Porter gekennzeichnet wurden, prüfen beim All-Inclusive-Porting unsere Spezialisten, beim In-House-Porting die Entwickler des Kunden. Sie überprüfen außerdem alle Masken, Dialoge und Reports und führen grundlegende Tests durch.

Abschlussphase 

Testphase: Die abschließenden Tests führt der Kunde durch. Oft werden dabei auch schon erste Endanwender als Piloten eingesetzt. Je nach Portierungsmodell, also All-Inclusive-Porting oder In-House-Porting, werden eventuell auftretende Fehler von uns, dem Kunden oder gemeinsam behoben.

Training/Coaching: Wir führen die Entwickler ausführlich in die native Klassenbibliothek Porting Project Framework und die portierte Anwendung ein. Dies legt den Grundstein für eine erfolgreiche Weiterentwicklung. Sollen darüber hinaus weitergehende .NET-Kenntnisse aufgebaut werden, bieten wir gerne Seminare dafür an. Ein Supportvertrag sichert unsere kontinuierliche Unterstützung.

Weiterentwicklung: Das portierte Projekt gründet häufig einen neuen Lebenszyklus für die Software. Die Weiterentwicklung findet vollständig in Visual Studio statt. Softwareentwickler mit .NET-Kenntnissen finden sich in dem lesbaren und wartungsfreundlichen Quellcode sehr gut zurecht. So wird auch gleich das Ressourcenproblem gelöst, da Gupta-Entwickler auf dem Markt kaum noch zu finden sind. Änderungen am Quellcode sind mit Visual Studio viel einfacher möglich, als zuvor. Modernste Refactoring-, Analyse- und Dokumentationswerkzeuge erhöhen die Produktivität der Entwicklung deutlich. Dabei unterstützen wir Kunden ebenfalls gerne.


Die Technologie: Porting Project & Ice Porter

Bei der Gupta-Migration setzt fecher auf Technologie des US-amerikanischen Unternehmens Ice Tea Group. Das auf Gupta spezialisierte Softwarehaus hat das Porting Project 2003 ins Leben gerufen. Es sollte Gupta-Entwickler von Anfang an dabei unterstützen, ihre Anwendungen auf die .NET-Plattform zu portieren und dadurch zukunftsfähig zu machen. Die Portierungswerkzeuge entwickelt die Ice Tea Group seitdem kontinuierlich weiter. Als ihr Premium Porting Partner ist fecher seit 2008 für den weltweiten Vertrieb der Dienstleistung verantwortlich.

Das Porting Project stützt sich auf das Werkzeug Ice Porter der Ice Tea Group, das SAL-Code automatisiert in C#- oder VB.NET-Code für die .NET-Plattform umsetzt. Außerdem wandelt der intelligente Übersetzer die Reports von Gupta Report Builder wahlweise nach Crystal Reports, List & Label, Stimulsoft Reports oder SQL Server Reporting Services um. Der Ice Porter erbringt eine Leistung, die man in Schriftform nur schwer erläutern kann. Im Rahmen eines Workshops und zusätzlichen Trainings kann das Werkzeug aber in komplexen Projekten durchaus auch in einem Inhouse-Projekt eingesetzt werden.

Der Kunde entscheidet, ob er nur die Lizenz des Ice Porters erwerben möchte oder auf die Erfahrung des fecher-Teams baut, das mit dem Ice Porter im Werkzeugkoffer einen sicheren und schnellen Start in ein solches Portierungsprojekt ermöglicht.

Porting Project Framework

Jede leistungsfähige Software basiert auf einer modernen Architektur, die die heutigen Anforderungen in anerkannten Mustern implementiert und die flexibel auf neue Trends reagiert. Das Porting Project Framework liefert alle notwendigen Objekte, um den migrierten Quellcode klar strukturiert zu generieren und damit sehr produktiv mit allen Tools von Visual Studio und der .NET Community weiterzuentwickeln. Mit dieser Basis ist die Software zukunftsfähig. Dies stellte die Ice Tea Group unter Beweis, als sie das Framework auch in einer Version für eine Web-Architektur auf Javascript-Basis zur Verfügung stellte.

Porting Project Services

Mit den Porting Project Services wird das Framework um die Möglichkeit zur Partitionierung in mehrschichtige Architekturen erweitert. So können Anwendungen teilweise oder vollständig vom Desktop auf einen Server, ins Rechenzentrum oder zu einem Cloud-Computing-Anbieter verlegt werden. Als Kommunikationsschicht verwenden die Porting Project Services die bewährte Windows Communication Foundation. Dies ist der ideale Einstieg in eine SOA-basierende Architektur.

Porting Project Web

Das bewährte Porting Project Framework steht auch als Version für eine Web-Architektur zur Verfügung. Eine auf dieses Framework portierte Anwendung wird als Real-Time Web-Anwendung auf einem Windows Web Server betrieben und kann mit allen gängigen Browsern genutzt werden. Auch komplexeste Benutzerschnittstellen können darüber abgebildet werden. Sehr häufig steht in den Browsern eine gegenüber der Desktop-Anwendung verbesserte User Experience zur Verfügung.

Lizenzmodell

  • Die Lizenzkosten des Ice Porters berechnen sich nach der Anzahl an nicht redundanten SAL-Items bei einer Code-Übersetzung und anhand der Anzahl der Report-Builder-Templates bei einem Report-Migrationsprojekt.
  • Das Ergebnis einer Migration ist zu 100 Prozent Quellcode. Auch die eingebundene Klassenbibliothek wird als Quellcode geliefert. Für die Klassenbibliothek wird ein jährlicher Wartungsvertrag angeboten, der ebenfalls anhand der Anzahl an SAL-Items berechnet wird.
  • In der Klassenbibliothek sind OEM-Lizenzen diverser ComponentOne-Controls und der Skin-Designer von Skinsoft enthalten. Dafür fallen keine weiteren Lizenzkosten bei der Weiterentwicklung an.
  • Für die Ausführung einer portierten Anwendung fallen keine Laufzeitkosten an! Für den Betrieb der Webanwendung wird ein Webserver benötigt. Nähere Details finden Sie auch auf unserer Übersichtsseite zu Wisej oder auf wisej.com

Qualitätssicherung in Porting-Projekten

Weiterführende Infos über die Maßnahmen für den problemlosen Wechsel von Gupta auf .NET.

Machen Sie Ihre Anwendungen zukunftsfähig - mit fecher

Vertrauen Sie für Ihre Anwendungsmodernisierung auf fecher. Bereits seit über 30 Jahren begleiten wir Unternehmen unterschiedlichster Branchen auf ihrem Weg in die Zukunft. Neben der Gupta-Migration stehen wir Ihnen z.B. auch bei der VB6-Migration, dem Web-Enabling oder der Access-Migration zur Seite. Dank unserer Expertise und speziell entwickelter Tools ermöglichen wir Ihnen die Portierung Ihrer Softwareanwendungen schnell, präzise und zum Bruchteil der Kosten einer Neuentwicklung. Nehmen Sie jetzt Kontakt zu uns auf und lassen Sie sich beraten!