directaudit: Runtime Audit für RPG

Programmcode in Echtzeit protokollieren und Fehler schneller beseitigen = Produktivität steigern!

directaudit (Runtime Audit für RPG) ist ein Software-Tool für IBM i Entwickler, um RPG-, COBOL- und CL-Programme während der Ausführung in Echtzeit zu protokollieren.

directaudit erstellt eine lückenlose und authentische Aufzeichnung aller Operationen, die im Programm in Echtzeit gelaufen sind.

 

Typische Anwendungsgebiete

  1. 10 x schnellere Fehlersuche als mit Debugging (man kann bei Bedarf nicht 12 Anweisungen zurückgehen)
  2. Fehleranalyse unter Realbedingungen. Beispiel: Wenn ein User das Programm benutzt, liefert es andere Werte als wenn der Programmierer das Programm testet.
  3. Ein fremdes oder altes Programm mit mehreren Tausend Statements, dessen Entwickler nicht verfügbar ist, soll geändert oder modernisiert werden. Dazu muss man erst einmal verstehen, was dieses Programm wie und in welcher Reihenfolge unter verschiedenen Bedingungen macht. Ein Echtzeit-Protokoll hilft enorm und nimmt den Schrecken.
  4. Besonders kritische Softwareteile (Buchungen, Preisfindung, Überweisungen, etc.) müssen vor Manipulation geschützt werden. Wenn diese Teile mit directaudit lückenlos dokumentiert werden, kann Missbrauch weitgehend ausgeschlossen werden.

 

So funktioniert directaudit

directaudit erweitert das Quellenprogramm, das danach automatisch kompiliert wird. Bei der Ausführung erhalten Sie:

  • ein vollständiges sequentielles Ablaufprotokoll einschließlich Zeitstempel von jedem ausgeführten Statement
  • eine unveränderliche Datenspur, d.h. den Inhalt aller Datenfelder und Variablen bei jedem ausgeführten Statement

 

Auszug aus einem directaudit-Protokoll

 

Abhängig von Ihren Ausführungsparametern (welche Statements, Subroutinen, Variablen, Dateien, Bedingungen) können komplette Programme oder auch nur bestimmte Programmteile untersucht, d.h. protokolliert werden.

 

Voraussetzungen    
IBM i mit V7R1 oder höher, Source-Member der zu protokollierenden Programme.

 

 

 

 

 

 

 

 

 

 

Fragen und Antworten

Für welche Programmtypen kann directaudit genutzt werden?

 

directaudit unterstützt aktuell RPGIII, RPGIV, CL, CLLE und COBOL.

Free RPG kommt in 2024. Kunden mit Wartungsvertrag erhalten die neue Version kostenfrei geliefert.

Welche Rechte muss ein User haben, um directaudit nutzen zu können?

 

Um ein Programm auditierfähig zu machen, d.h. zu “erweitern”, muss der User die Source bearbeiten und umwandeln dürfen.

Um das erweiterte und umgewandelte Programm ausführen zu können, benötigt der Benutzer keine besonderen Rechte.

Wird der Original-Code der Sourcen irgendwie verändert oder markiert?

 

Nein. An Ihren Original-Quellen werden keine Veränderungen vorgenommen. Die erweiterte Quelle wird nur temporär erzeugt, damit sie compiliert werden kann.

Kann das Auditieren auf einen bestimmten Zeitraum oder User eingeschränkt werden?

 

Nicht direkt. Es wird über die Bibliotheksliste bestimmt, ob das normale Programm ausgeführt wird oder das auditierfähige Programm.

Hier ist das Warum:
Man könnte das Auditing  zwar auf bestimmte Zeiten oder User einschränken, würde dadurch aber nur die Ausgabe des Protokolls verhindern. Das Programm würde intern trotzdem durch das Audit laufen und so zusätzliche Rechenleistung in Anspruch nehmen.

 

 

Geschäftsrelevante Aspekte von directaudit

  • Die Produktivität der Software-Entwickler wird durch erheblich schnellere Fehlersuche und Protokollierung von Testläufen in jeder Phase (Entwicklung, Wartung, Supportfälle) signifikant höher.    
  • Die Abhängigkeit von ausgeschiedenen Mitarbeitern wird reduziert. Dank directaudit kann auch jeder andere Entwickler die einmal programmierten Abläufe nachvollziehen, verstehen und neue Anforderungen ohne “Blindflug-Programmierung” an der richtigen Stelle einbauen.    
  • Die Investition in Software wird geschützt, indem die Software um Jahrzehnte länger produktiv bleiben kann.    
  • Softwaremodernisierung gelingt schneller und fehlerfreier mit den detaillierten Angaben von directaudit zu jedem Programm, z.B. Anzahl Fehlermeldungen, Anzahl Updates, welche Subroutinen, benutzte Operationsschlüssel und Funktionen, uvm.