Wie lassen sich Fehler im Design und bei der Programmierung von Software im RPG- und Cobol-Umfeld vermeiden und welche Tools empfehlen Sie dazu – diesen Fragen haben sich vier Experten aus dem Bereich der Software-Entwicklung gestellt: Torsten Klinge, Geschäftsführer ML-Software GmbH, Jörg Hamacher, Geschäftsführer der S.M.Hartmann GmbH, Andreas Strietholt, Geschäftsführer Task Force IT-Consulting GmbH und Josef Grünbichler, Geschäftsführer der Toolmaker Advanced Efficiency GmbH.
„Eine gut durchdachte und vorausschauende Planung zur Systemarchitektur ist das A und O, um Fehler per Design zu vermeiden“, so lautet die Devise von Torsten Klinge. „Nicht nur die bereits bekannten, sondern auch die zukünftig zu erwartenden Prozesse und Anforderungen müssen in die Betrachtungen einfließen. Wer zu kurzfristig denkt, für den kann die spätere Umsetzung aufwändiger oder gar unmöglich werden. Je langfristiger und flexibler die Systemarchitektur ausgerichtet wird, umso reibungsloser laufen die Projekte.“
Dabei gelte es, so Klinge weiter, die zu verwendenden Technologien sorgsam auszuwählen und ihre Langlebigkeit und Stabilität sowie ihre Tragfähigkeit sowohl in Sachen Funktionsumfang, als auch Performance und Sicherheit genau zu prüfen: „Nehmen wir ‚Webservice‘ als Beispiel: Sie erfreuen sich zunehmender Beliebtheit und bieten in bestimmten Bereichen wichtige Vorteile, doch bei einem zu umfangreichen Einsatz drohen hohe Performance-Verluste.“
Zur Vermeidung von Fehlern bei der Programmierung bieten nach Einschätzung des Geschäftsführers der ML-Software GmbH moderne Entwicklungsumgebungen Features wie CodeCompletion, Permanent Compiling sowie Edit & Continue: „CodeCompletion reduziert die Schreibarbeit, weil bereits nach den ersten Buchstaben alle sinnvollen Möglichkeiten zur Vervollständigung zur Auswahl gestellt werden. Der PermanentCompiler testet schon zur Entwicklungszeit, ob die Compilierung des Sourcecodes erfolgreich ist und meldet gefundene Fehler. Und mit Edit & Continue werden Fehler, die in der kompilierten Anwendung entdeckt werden, direkt behoben und ohne erneute Kompilierung übernommen und überprüft. Derartige Hilfen stehen im RPG- und COBOL Umfeld leider nicht zur Verfügung. Doch mit einem Tool wie iNow UI können sie bei einer IBM i-Anwendungsmodernisierung genutzt werden und beschleunigen so die Entwicklung um ca. 20 bis 40 Prozent.“
Für Andreas Strietholt steht die Analyse der bestehenden Anwendung ganz klar im Fokus: „Nur wer einen kompletten Überblick der Anwendung hat, der kann man auch gut weiterentwickeln.“ Hier habe die Task Force ein sehr breites Spektrum von Tools im Portfolio, die das Entwickeln von Software sehr einfach macht: „Als ein Beispiel ist hier die Integration der Analyse-Tools X-Analysis und xPlain genannt, die beide vollständig in die CMOne RDi-Entwicklungsumgebung eingebunden werden können.“
„Responsive Design und die vielen technologischen Aspekte moderner – mobiler – Applikationen erfordern ein viel umfassenderes Wissen und eine wesentlich detailliertere Konzeption, als das im reinen 5250-Umfeld der Fall ist. Und das kann durchaus kostspielig und fehlerbehaftet werden“, gibt Jörg Hamacher zu Bedenken. „Abhilfe bietet hier ein Tool, das alle Aspekte zeitgemäßer Programmierung integriert und mit einfach erlernbarer Sprache die Basis für jede Art der Software-Entwicklung – Web, PC, IBM i – inklusive Prototyping und Design-Unterstützung bildet und im besten Fall sofort verwendbare Samples mitbringt.“
Aufgrund der Erfahrungswerte in unserem Hause rät Hamacher zu Visual LANSA. „Es ist die Entwicklungsplattform mit dem umfassendsten Portfolio, das ich kenne: Wir entwickeln mit einer Sprache und einem Befehlssatz Anwendungen für alle möglichen Endgeräte, ohne dass wir uns im Detail mit HTML, CSS, Java, JavaScript, C++ etc. auskennen müssen. Unsere ursprünglich reinen RPG-Programmierer realisieren Webservices, plattform- und anwendungsübergreifende Kommunikation über diverse Transportwege ohne detailliertes Wissen über die dahinterstehenden Technologien und Befehle haben zu müssen. Und natürlich aktualisiert LANSA das Tool permanent und integriert neue Technologien zeitnah.“
Design und bei der Programmierung von Software sind für Josef Grünbichler Begriffe, bei denen für „Sauberkeit und Abgrenzung“ gesorgt werden müsse: „Was versteht man unter Design? Ist damit primär das Programmdesign, das Datenbankdesign oder das User-Interface, also die Bedienung gemeint. Was versteht man unter Programmierung? Betrifft das SQL, RPG, RPGWX, JSON, oder mehrere? Geht es um eine Neuentwicklung oder um eine Modernisierung?“
Als allgemeine Antwort für die Ausgangsfrage stellt Grünbichler vier Aspekte in den Vordergrund: „Zunächst müssen die Projektverantwortlichen wissen, was Stand der Technik ist, und was die konkreten Projektanforderungen sind. Das betrifft die in der IBM i vorhandenen Möglichkeiten des Betriebssystems und der Programmiersprachen, aber auch die Produkte und Features, die der Toolmarkt aktuell anbietet. Bei IBM i Programmierern wird an dieser Stelle oft nicht konsequent gearbeitet. Man vertraut noch oft auf ‚Bewährtes‘ und übersieht, dass die Zukunft erhebliche Veränderungen mit sich bringt.“
Andererseits dürfe man sich nicht von Möglichkeiten und Features blenden lassen, die vielleicht super klingen und toll aussehen, die aber für das Projekt nicht relevant sind, und dafür andere Schwächen in Kauf nehmen, die für das Projekt eine höhere Priorität haben. „Zum zweiten lohnt es sich in der Regel, einen oder mehrere Profis frühzeitig zur Projektplanung als Berater hinzuzuziehen, um grundlegende Fehler und Irrtümer zu vermeiden“ betont Grünbichler. „Wer in dieser Phase 10.000 Euro spart, soll gleich das 10 bis 20-fache an Rückstellungen bilden, um diese Design-Fehler später zu korrigieren.“
Als dritten Punkt führt der Geschäftsführer der Toolmaker Advanced Efficiency GmbH ins Feld: „Bevor man sich endgültig auf eine Vorgehensweise festlegt, sollte man nach Ausschöpfung der ersten beiden Punkte mit einem anspruchsvollen Pilotprojekt starten, das 10 bis 20 Prozent des Zielprojekts an Umfang hat. Wenn dieses Pilotprojekt zeigt, dass es zu viele Probleme gibt, hat man vielleicht 20 Prozent Zeit verloren, aber kann noch rechtzeitig auf einen besseren Weg umschwenken.“
Und als vierten Aspekt bringt Grünbichler einen nach seiner Ansicht ganz wichtigen Faktor in der Anwendungsentwicklung ins Spiel: „Die Erfahrung sowie die Branchen- und Betriebskenntnisse der Entwickler kann gar nicht hoch genug eingeschätzt werden. Wer mangels Erfahrung die betrieblichen oder branchentypischen Eigenheiten nicht kennt, macht so viele Anfängerfehler, dass das Projekt dadurch richtig teuer und langwierig werden kann. Deshalb ist es wichtig, die eigene erfahrene Mannschaft bestmöglich zu nutzen und nur dort wo nötig auf neue oder externe Kräfte zu setzen.“
(rhh)