Skip to main content
main-content

Inhaltsverzeichnis

Frontmatter

1. Eine erste Begegnung mit APL

Zusammenfassung
APL heißt: A Programming Language. Das bedeutet aber nicht, daß APL nur eine weitere Programmiersprache im Reigen der vielen Sprachen ist, die in den vergangenen Jahren entwickelt wurden, um den Problemlösungsprozeß von der Notwendigkeit zu befreien, sich an den internen Strukturen einer DV-Anlage zu orientieren.
Wulf-Dieter Wagner

2. Erstellung eines Personal-Informationssystems

Zusammenfassung
Dieses Beispiel soll veranschaulichen, wie APL-Funktionen realisiert werden, um einen einheitlichen Satz von miteinander kombinierbaren Programmen — etwa in Form einer natürlichen Sprache — zu erhalten. Es läßt sich sehr leicht auf andere Aufgabenstellungen übertragen, und ein APL-Programmierer sollte immer in der Lage sein, dieses Beispiel für eine APL-Demonstration “ohne Anleitung” zu verwenden.
Wulf-Dieter Wagner

3. Die Transaktion

Zusammenfassung
In diesem und den folgenden Kapiteln werden Bausteine definiert, die geeignet sind, einen Rahmen für die unterschiedlichsten Dialoganwendungen aufzubauen. Bei diesem Designprozeß ist es wichtig, Lösungen zu erarbeiten, die
  • einfach
  • transparent
  • erweiterbar
sind. Wir werden sehen, daß einige Lösungsansätze aus dem Bereich der klassischen Anwendungsentwicklung mit höheren Programmiersprachen stammen, andere aber stark durch die spezifischen Möglichkeiten der Programmiersprache APL geprägt sind. Aus der klassischen Anwendungsentwicklung wurde der Begriff “Transaktion” übernommen, der eine Dialoganwendung in diskrete Bausteine zu zerlegen gestattet. Mit dieser Thematik, d.h. mit der Frage, wie eine transaktionsorientierte Anwendung in APL realisierbar ist, werden wir uns zunächst auseinandersetzen.
Wulf-Dieter Wagner

4. Grundprinzipien der Bildschirmformatierung

Zusammenfassung
Für jede Bildschirmdefinition benötigt man spezielle Angaben über die Lage der einzelnen Felder auf dem Bildschirm. Die Mindestangaben hängen nur wenig von der verwendeten Bildschirmunterstützung ab, ich will daher zunächst auf die wesentlichsten Informationen für eine Bildschirmdefinition eingehen.
Wulf-Dieter Wagner

5. Interne Transaktionssteuerung

Zusammenfassung
Bisher haben wir gesehen, daß für die Steuerung einer Anwendung eine globale Anwendungssteuerung benötigt wird, daß zu jedem verwendeten Format eine Transaktion (Anwendungsfunktion) gleichen Namens gehört und wie die gesamte Anwendung von der zentralen Steuerungsfunktion kontrolliert wird.
Wulf-Dieter Wagner

6. Kontrollvariablen

Zusammenfassung
Ein wesentliches Element der Implementierung von APL ist sein Arbeitsspeicherkonzept. Das heißt, daß sich zur Ausführungszeit einer Funktion alle benötigten Variablen im Arbeitsbereich befinden müssen. Dies bedeutet allerdings auch, daß eine Variable in allen Funktionen bekannt ist, es sei denn, man definiert diese Variable als lokal innerhalb einer Funktion. Die “Lokalität” erreicht man durch Aufführen des Variablennamens in der Kopfzeile einer Funktion. Hierbei ist zu beachten, daß lokale Variablen in Unterprogrammen der entsprechenden Funktion wiederum bekannt sind, für diese also keine lokale Variablen darstellen. Bei der Programmierung muß man sich immer über die Konsequenzen dieses Verhaltens im klaren sein. Verwendet man z.B. die Laufvariable “I” einer Schleife in mehreren geschachtelten Funktionen, so ist es zwingend erforderlich, diese Variable in allen Funktionen lokal zu machen, d.h., in der Kopfzeile der Funktion aufzuführen. Ansonsten erhält man sehr leicht Endlosschleifen, da das Setzen der Schleifenvariable im Unterprogramm Rückwirkungen auf das aufrufende Programm hat. Entsprechend diesem Verhalten spricht man in APL auch von lokalen, globalen oder semiglobalen Variablen.
Wulf-Dieter Wagner

7. APL2 und Relationale Datenbanken

Zusammenfassung
Für dieses Kapitel stützen wir uns auf die Sprachversion IBM-APL2, da nur diese Version ein Interface zu den Relationalen Datenbanken DB2 bzw. SQL-DS besitzt. Ich verwende allerdings weiterhin den Namen APL, wenn dies nicht zu Irrtümern führen kann, auch wenn ich nur auf die Sprache abheben will.
Wulf-Dieter Wagner

8. Daten- und Plausibilitätsprüfungen

Zusammenfassung
In den vorherigen Kapiteln haben wir uns mit der Ablaufsteuerung eines Anwendungssystems beschäftigt. Es wurde gezeigt, daß es besonders wichtig ist, den Transaktionen einen Standardrahmen zugrunde zu legen, weil nur so nachträglich Erweiterungen eingefügt werden können, die sich auf die gesamte Anwendung beziehen. So ermöglicht eine einfache Änderung in der Aufruffunktion für die Feldexits den direkten Transaktionsaufruf in allen Einzeltransaktionen. Weiter haben wir gesehen, daß die eigentliche Verarbeitungslogik in einem wohldefinierten Exit erfolgt, der durch seinen Namen immer mit der Transaktion verbunden ist. Ein wichtiger Bestandteil jeder Verarbeitung ist hierbei die Prüfung der eingegebenen bzw. veränderten Daten auf Konsistenz. Da diese Prüfungen häufig umfangreichen Änderungen und Erweiterungen unterworfen sind, soll auch für die verschiedenartigen Datenprüfungen innerhalb einer Anwendung ein einheitliches Vorgehensmodell entwickelt werden. Im Vordergrund wird hierbei das Ziel stehen, Datenprüfungen auch nachträglich, ohne Änderung des prozeduralen Codes, in eine Anwendung einzufügen.
Wulf-Dieter Wagner

9. Die Anwendungsdokumentation

Zusammenfassung
In den vorherigen Kapiteln wurde bereits großer Wert auf verschiedene Namenskonventionen gelegt. So wurde z.B. bei dem Modell der Einzeltransaktionen für den Transaktionsnamen derselbe Name wie für das eigentliche Format verwendet. Die Exits zum Aufruf individueller Prüfungen hatten den Namen EX mit angehängtem Format bzw. Transaktionsnamen. Durch diese Konventionen soll sichergestellt werden, daß in allen zu einer Transaktion gehörenden Funktionen irgendwo der Namensbestandteil der Transaktion im Programmnamen erscheint. Nur dies gibt nämlich auf einfache Art die Möglichkeit, sofort alle zueinander gehörenden Funktionen zu identifizieren und gegebenenfalls eine automatische Anwendungsdokumentation zu erzeugen. Entsprechend ist bei den SQL-Zugriffspfaden immer der feste Bestandteil PREPΔ vorgesehen.
Wulf-Dieter Wagner

10. Standardbausteine einer Anwendung

Zusammenfassung
Bis hierher wurde die Basis für eine erfolgreiche Anwendungsentwicklung gelegt. Sie haben Transaktionen und Transaktionssteuerung, Datenprüfung sowie Relationale Datenbanken und Dokumentation kennengelernt. Mit diesen Bausteinen wollen wir nun versuchen, einige Standardtransaktionen zu realisieren.
Wulf-Dieter Wagner

11. Dictionary für APL-Anwendungen

Zusammenfassung
Wie bereits mehrfach erwähnt, müssen sich zur Ausführungszeit alle benötigten APL-Funktionen/Programme im Arbeitsbereich (WS) befinden. Bei großen Anwendungen bedeutet dies jedoch, daß ein relativ umfangreicher Speicherplatz von nicht benötigten Anwendungsprogrammen belegt ist. Das erzeugt eine übelflüssige Systembelastung, weil während einer Arbeitssitzung nur ein ganz begrenzter Teil eines Anwendungssystems durchlaufen wird. Hier bietet sich die Auslagerung aller Programme und Variablen in eine externe Datei (Objektbibliothek) an, wobei die zum Ablauf erforderlichen Objekte dynamisch nachgeladen werden können. Um dies nicht in den eigenen Anwendungsprogrammen durchführen zu müssen, sind die zentralen Transaktionsfunktionen so zu erweitern, daß sie bei Bedarf diese Aufgabe selbständig übernehmen können.
Wulf-Dieter Wagner

12. Die produktionsreife Anwendung

Zusammenfassung
Wir wissen jetzt, was man bei der Entwicklung einer Anwendung zu beachten hat, und haben auch ein Vorgehensmodell behandelt, wie man eine gegebene Anwendung schnell und sicher realisieren kann. Dieses Kapitel wird sich nun mit einigen Randbedingungen befassen, die man bei der Einführung einer Anwendung beachten sollte.
Wulf-Dieter Wagner

13. Der Prototyp

Zusammenfassung
Sie wissen jetzt, wie eine Dialoganwendung mit der Programmiersprache APL realisiert werden kann. Nun ist es allerdings ein weiter Weg von der ersten Überlegung, eine neue Anwendung zu realisieren, bis zur letztendlichen Einführung.
Wulf-Dieter Wagner

Backmatter

Weitere Informationen