Oracle Application Express Tipps für Entwicklung und ... - Trivadis
Oracle Application Express Tipps für Entwicklung und ... - Trivadis
Oracle Application Express Tipps für Entwicklung und ... - Trivadis
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Auditing Attribute<br />
Jede Tabelle sollte Attribute besitzen, die pro Datensatz den Ersteller mit<br />
Erstelldatum <strong>und</strong> den Editor mit Editdatum ausweisen. Das Füllen dieser vier<br />
Spalten sollte über Before-Insert-Update-Trigger bewerkstelligt werden.<br />
Gr<strong>und</strong>:<br />
� Änderungen an Daten können so einfacher nachvollzogen werden<br />
� Der Audit passiert direkt in der Datenbank <strong>und</strong> muss nicht in der Anwendung<br />
berücksichtigt werden<br />
Geschäftslogik von Visualisierung trennen<br />
Geschäftslogik <strong>und</strong> Berechnungen sollten unbedingt in der Datenbank, innerhalb<br />
von Views, Triggers, Packages, Prozeduren <strong>und</strong> Funktionen, realisiert werden.<br />
Wenn der PL/SQL Code keine GUI-Elemente enthält, kann er ohnehin vollständig<br />
in die DB ausgelagert werden. Generell sollte so viel Geschäftslogik wie möglich in<br />
die DB ausgelagert bzw. so wenig PL/SQL Code wie möglich in APEX hinterlassen<br />
werden. Es sollten lediglich die <strong>für</strong> die Visualisierung notwendigen SQL Befehle<br />
<strong>und</strong> Funktions- bzw. Prozeduraufrufe in der APEX <strong>Entwicklung</strong>sumgebung<br />
gehalten werden.<br />
Gr<strong>und</strong>:<br />
� Klassischer Ansatz der Software <strong>Entwicklung</strong><br />
� Einfacheres Debugging <strong>und</strong> Ressourcenkontrolle möglich<br />
� Mehrfachverwendung von Code möglich (Modularisierung)<br />
View-Schicht statt direkter Tabellenzugriff<br />
Um einerseits die Vorteile der Wizard-getriebenen <strong>Entwicklung</strong> zu nutzen <strong>und</strong><br />
andererseits ein hohes Mass an Kontrolle über die DML Transaktionen zu<br />
behalten, sollten sämtliche APEX-Formulare, in denen DML Operationen (Insert,<br />
Update, Delete) vorkommen, ausschliesslich über Views auf die Daten zugreifen.<br />
Die Implementierung der DML-Logik kann bei Bedarf (komplexe Views, komplexe<br />
Updates etc.) in Instead-Of-Trigger verlagert werden. Diese Vorgehensweise ist<br />
selbst dann empfehlenswert, wenn das APEX-Formular direkt nur auf eine einzige<br />
View zugreift.<br />
<strong>Oracle</strong> <strong>Application</strong> <strong>Express</strong> <strong>Tipps</strong> <strong>für</strong> <strong>Entwicklung</strong> <strong>und</strong> Betrieb 19