Seit geraumer Zeit gibt es in PITSS.CON die Möglichkeit mit Hilfe des Data Access Layer Assistenten (DAL-Assistent) automatisiert Zugriffsschichten für Tabellen oder tabellenbasierte Datenblöcke zu generieren. Bisher mussten Anpassungen am später generierten Code entweder im Vorweg in PITSS.CON implementiert werden, oder im nachhinein an den generierten Objekten selbst. Im kommenden PITSS.CON Release wird sich dies ändern. PITSS.CON wird mit Hilfe von Apache Velocity um die Möglichkeit reicher, die Generierung des DAL vollständig zu beeinflussen.
Wie wird das in der Praxis aussehen? Nun Apache Velocity bietet die Möglichkeit mit Hilfe von Templates jeglichen Code zu generieren – Sei es HTML, PHP oder eben auch PL/SQL. Dies macht sich PITSS.CON zu Nutze, integriert diese Möglichkeit und kombiniert Sie mit den geladenen Datenbankinformationen im PITSS.CON Repository. Dadurch ist es mit wenigen Klicks möglich, einen DAL-Layer für eine komplette Applikation zu generieren und diese noch vor der Generierung anzupassen. Sollten Sie zum Beispiel ein Standardvorgehen für Ihr Exception Handling haben, können Sie dies gleich in jedes Generierte Zugriffspackage integrieren. Somit werden die Templates, die vom Benutzer angepasst werden können mit Informationen aus dem Repository angereichert (z.B. Tabelleninformationen).
Aber was bringt Ihnen eine gesonderte Zugriffsschicht eigentlich für Vorteile? Es geht darum sogenannte CRUD-Operationen (Create, Read, Update und Delete) in Packages zu kapseln und einen direkten Tabellenzugriff der Applikation zu unterbinden. Durch die Schaffung eines DAL-Layers können weitere Schichten erzeugt werden, die aufeinander aufbauen. Somit lässt sich Stück für Stück eine SOA Architektur einführen. PITSS.CON unterstützt hierbei auch Multiline-Insert.
Wie wird diese Generierung in PITSS.CON aussehen:
Zunächst wird wie bisher auch ein Objekt aus dem Fundus der geladenen Objekte ausgewählt, für das ein DAL-Layer erzeugt werden soll. Es darf sich hierbei entweder um eine Tabelle oder tabellenbasierten Oracle Forms Block handeln.
Wichtig bei Tabellen: Die Tabelle muss einen Primärschlüssel aufweisen. Mit „Start Wizard“ wird der Wizard gestartet. Im ersten Schritt kann ausgewählt werden, in welchem Datenbankschema der DAL-Layer erzeugt werden soll. Dient eine Tabelle als Basis für die Erzeugung, besteht außerdem die Möglichkeit mit der Checkbox „All Objects“ DAL-Layer für alle geladenen Tabellen mit Primärschlüssel zu erzeugen. Mit einem Klick auf „Next“ erscheint im nächsten Schritt eine Oberfläche zum Bearbeiten der Velocity Skripte. Diese werden standardmäßig mit ausgeliefert und können mit einem Klick auf den jeweiligen Button bearbeitet werden. PITSS.CON erzeugt hierbei vier Objekte für die Zugriffsschicht: ein Package, eine View, zwei Objekttypen. Mit einem Klick öffnet sich ein Editor und die Skripte können angepasst werden. Abschließend kann der Anwender noch entscheiden, ob die generierten DAL-Layer nur auf dem Dateisystem erzeugt oder auch im PITSS.CON Repository angelegt werden sollen. Hat man sich für zweites entschieden, so sind im PITSS.CON Modul „DB-Handling“ die erzeugten Objekte zu finden, welche direkt in dem ausgewählten Datenbankschema erzeugt werden können. In unserem Beispiel wurde das Template angepasst und in der Prozedur „Query_Records“ ein Exception Handling hinzugefügt. Würden wir nun dieses Template für die Generierung aller geladenen Tabellen benutzen so hätten alle generierten DAL-Layer dasselbe Exception Handling für die Prozedur „Query Records“. Somit lässt sich ein applikationseigener Standard in der Generierung der Zugriffschichten erzeugen.