Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Verfasser · weitere Angaben

Ähnliche Präsentationen


Präsentation zum Thema: "Verfasser · weitere Angaben"—  Präsentation transkript:

0 Oracle APEX: Fortgeschrittene Techniken aus der Praxis => Design
Verfasser · weitere Angaben Thema der Präsentation · Datum Oracle APEX: Fortgeschrittene Techniken aus der Praxis => Design Patrick Wolf – Denes Kubicek - Dietmar Aust

1 Verfasser · weitere Angaben
Thema der Präsentation · Datum Agenda Datenmodell Geschäftslogik Konfigdaten Parsing Schema Workspace Applikationsaufteilung Seitennummerierung/-gruppierung APEX Einstellungen Teamentwicklung Oracle APEX: Fortgeschrittene Techniken aus der Praxis Patrick Wolf – Denes Kubicek – Dietmar Aust

2 Verfasser · weitere Angaben
Thema der Präsentation · Datum Datenmodell Zeit investieren! Oracle APEX: Fortgeschrittene Techniken aus der Praxis Patrick Wolf – Denes Kubicek – Dietmar Aust

3 Verfasser · weitere Angaben
Thema der Präsentation · Datum Datenmodell Datenmodell leben länger als Applikationen Ist letztes Bollwerk für konsistente Daten Oracle APEX: Fortgeschrittene Techniken aus der Praxis Patrick Wolf – Denes Kubicek – Dietmar Aust

4 Datenmodell – Grafisch visualisieren
Verfasser · weitere Angaben Thema der Präsentation · Datum Datenmodell – Grafisch visualisieren ERDs oder UML Diagramme Farben verwenden Logisch Gruppieren Von Oben nach Unten Hilft beim Denken Leichterer Einstieg für neue Entwickler Man diskutiert ganz anders Oracle APEX: Fortgeschrittene Techniken aus der Praxis Patrick Wolf – Denes Kubicek – Dietmar Aust

5 Verfasser · weitere Angaben
Thema der Präsentation · Datum Oracle APEX: Fortgeschrittene Techniken aus der Praxis Patrick Wolf – Denes Kubicek – Dietmar Aust

6 Verfasser · weitere Angaben
Thema der Präsentation · Datum Datenmodell Künstlicher Primary Key (mit Sequence) In APEX maximal 2 Primary Key Attribute Update auf natürlichen „Primary Key“ keine Auswirkungen Eine Sequence reicht Nachteil Eventuell mehr Joins Constraints können weniger überprüfen Unique Keys verwenden! Jede Tabelle hat meistens natürlichen Schlüssel! (Auftragsnr., Kundennr, Auftragsnr.+Position, …) Wenige Ausnahmen (Logging Tabelle, ...) Oracle APEX: Fortgeschrittene Techniken aus der Praxis Patrick Wolf – Denes Kubicek – Dietmar Aust

7 Verfasser · weitere Angaben
Thema der Präsentation · Datum Datenmodell Foreign Keys verwenden! Schaft Sicherheit und konsistente Daten Nicht auf Applikation verlassen!!! Performance schon lange kein Thema mehr Foreign Key Spalten generell indizieren Schneller beim joinen Verhindert Table Locks Konsistentes Namensschema überlegen Keine Lookup Tabellen sparen! Z.B.: für Aufzählungen ( , Fax, Tel, ...) Oracle APEX: Fortgeschrittene Techniken aus der Praxis Patrick Wolf – Denes Kubicek – Dietmar Aust

8 Datenmodell – Keine Lookup Tabellen sparen
Verfasser · weitere Angaben Thema der Präsentation · Datum Datenmodell – Keine Lookup Tabellen sparen Mehr Stellen zeigen Werte an als man denkt! Zu viele Lookup Tabellen? Generische Tabelle als Alternative DOMAIN (z.B.: KOMMUNIKATION) DOMAIN_VALUE (z.B.: TEL, FAX, , ...) Oracle APEX: Fortgeschrittene Techniken aus der Praxis Patrick Wolf – Denes Kubicek – Dietmar Aust

9 Datenmodell – Generische Werteliste
Verfasser · weitere Angaben Thema der Präsentation · Datum Datenmodell – Generische Werteliste Oracle APEX: Fortgeschrittene Techniken aus der Praxis Patrick Wolf – Denes Kubicek – Dietmar Aust

10 Datenmodell – Generische Werteliste
Verfasser · weitere Angaben Thema der Präsentation · Datum Datenmodell – Generische Werteliste Vorteile Eine generische Maske zum pflegen aller Werte Keine Datenmodell Änderung notwendig „Spart“ viele Tabellen Nachteile Weniger Aussagekraft von Foreign Key Constraints FK kann nicht auf bestimmte DOMAIN überprüfen CBO hat weniger Information Oracle APEX: Fortgeschrittene Techniken aus der Praxis Patrick Wolf – Denes Kubicek – Dietmar Aust

11 Verfasser · weitere Angaben
Thema der Präsentation · Datum Datenmodell Check Constraints verwenden! Schaft Sicherheit und konsistente Daten Nicht auf Applikation verlassen!!! CBO hat mehr Informationen NOT NULL Constraints verwenden Gehört zum Analyse/Design Prozess Oracle APEX: Fortgeschrittene Techniken aus der Praxis Patrick Wolf – Denes Kubicek – Dietmar Aust

12 Verfasser · weitere Angaben
Thema der Präsentation · Datum Datenmodell Domänen überlegen Vereinheitlichung der Datentypen Z.B.: Spalte DESCRIPTION ist immer VARCHAR2(40) Booleans NUMBER(1) mit Constraint auf 0 (FALSE) und 1 (TRUE) Normalerweise NOT NULL! Gleiche Namensgebung – z.B.: IS_MANAGER, HAS_CHILDS Verarbeitungsflag NUMBER(1) mit Constraint auf NULL und 1 (TRUE) Index erstellen -> Enthält nur Datensätze mit 1 Historisierungsattribute Kann automatisch generiert werden Oracle APEX: Fortgeschrittene Techniken aus der Praxis Patrick Wolf – Denes Kubicek – Dietmar Aust

13 Verfasser · weitere Angaben
Thema der Präsentation · Datum Datenmodell Konsistentes Namensschema überlegen Tabellen Prefix (z.B.: NPT_T_) Spalten Prefix Foreign Key Benennung Constraint Benennung (IX_, UK_, PK_, FK_, CK_, ...) Spalten mit gleicher Bedeutung (DESCRIPTION, CODE, ...) Tabellen und Spalten Kommentar verwenden Immer mit Scripts ändern (Dev., Test, Produktion) Oracle APEX: Fortgeschrittene Techniken aus der Praxis Patrick Wolf – Denes Kubicek – Dietmar Aust

14 Datenmodell - Conclusio
Verfasser · weitere Angaben Thema der Präsentation · Datum Datenmodell - Conclusio Constraints, Constraints, Constraints!!! Nicht auf Applikation verlassen Letztes Bollwerk Zeit investieren Oracle APEX: Fortgeschrittene Techniken aus der Praxis Patrick Wolf – Denes Kubicek – Dietmar Aust

15 Verfasser · weitere Angaben
Thema der Präsentation · Datum Geschäftslogik In die Applikation? Direkt auf Tabellen inserten/updaten/löschen? Was ist mit Überprüfungen? Oracle APEX: Fortgeschrittene Techniken aus der Praxis Patrick Wolf – Denes Kubicek – Dietmar Aust

16 Geschäftslogik - Objektkapselung
Verfasser · weitere Angaben Thema der Präsentation · Datum Geschäftslogik - Objektkapselung Package für jede Tabelle oder logische Tabelle/Tabellengruppe Prozeduren createObjektname updateObjektname deleteObjektname validateSpalte/... Eine Zentrale Stelle wenn es um die Erstellung oder Änderung des Objekts geht Andere Objekte Initialisieren Notification, ... Kann Initial generiert werden Hilft bei Datenmodell Änderungen – Eine Zentrale Stelle Auch andere Programme können Code verwenden (Batchjobs, ...) -> eine Art von SOA ;-) Oracle APEX: Fortgeschrittene Techniken aus der Praxis Patrick Wolf – Denes Kubicek – Dietmar Aust

17 Geschäftslogik - Objektkapselung
Verfasser · weitere Angaben Thema der Präsentation · Datum Geschäftslogik - Objektkapselung Wie in APEX verwenden? Eigene DML Prozess Verlust von „Lost Update Detection“/Optimistic Looking Viel Arbeit View mit INSTEAD OF TRIGGER Für APEX wie Tabelle Keine Änderung am Standardverhalten Siehe statements.sql Oracle APEX: Fortgeschrittene Techniken aus der Praxis Patrick Wolf – Denes Kubicek – Dietmar Aust

18 Geschäftslogik - Conclusio
Verfasser · weitere Angaben Thema der Präsentation · Datum Geschäftslogik - Conclusio Geschäftslogik raus aus dem UI !!! Oracle APEX: Fortgeschrittene Techniken aus der Praxis Patrick Wolf – Denes Kubicek – Dietmar Aust

19 Verfasser · weitere Angaben
Thema der Präsentation · Datum Konfigdaten Wiedereinspielbahre Scripts! STORE Prozeduren Siehe statements.sql Oracle APEX: Fortgeschrittene Techniken aus der Praxis Patrick Wolf – Denes Kubicek – Dietmar Aust

20 Verfasser · weitere Angaben
Thema der Präsentation · Datum Parsing Schema Verwenden Sie das Applikationsschema? Oracle APEX: Fortgeschrittene Techniken aus der Praxis Patrick Wolf – Denes Kubicek – Dietmar Aust

21 Verfasser · weitere Angaben
Thema der Präsentation · Datum Parsing Schema Gefahr bei SQL Injection „Run User“ mit eingeschränkten Rechten verwenden Z.B.: Kein DROP TABLE Recht Mit Data Dictionary Scripts automatisch granten und Synonyms erstellen Nachteil Wizard sieht die Synonyme nicht Workspace braucht auch Applikationsschema Immer Applikationsschema auswählen Applikationsschema hardcodiert Alternative „Run User“ Parsing Schema erst bei Deployment setzen Oracle APEX: Fortgeschrittene Techniken aus der Praxis Patrick Wolf – Denes Kubicek – Dietmar Aust

22 Verfasser · weitere Angaben
Thema der Präsentation · Datum Workspace Einen? Mehrere? Abhängig von Berechtigungsstruktur (Entwickler, Power User , Abteilungen) Tendiere zu Einem Single Sign On zwischen Applikationen im Workspace Über gleiche „Cookie Attributes“ in Authentification Scheme Oracle APEX: Fortgeschrittene Techniken aus der Praxis Patrick Wolf – Denes Kubicek – Dietmar Aust

23 Applikationsaufteilung
Verfasser · weitere Angaben Thema der Präsentation · Datum Applikationsaufteilung Bei kleinen Applikationen nicht sinnvoll Bei größeren überlegenswert Vorteile Unabhängige Release Zyklen Besser handhabbar Übersichtlicher Leichtere Teamentwicklung Mögliche Nachteile Weniger integriert Unterschiedliche Templates Uneinheitliche Navigationsleisten Übergreifende Navigation komplizierter Weniger Synergie (gleiche Seiten, Lovs, ...) Oracle APEX: Fortgeschrittene Techniken aus der Praxis Patrick Wolf – Denes Kubicek – Dietmar Aust

24 Applikationsaufteilung
Verfasser · weitere Angaben Thema der Präsentation · Datum Applikationsaufteilung Zentrale Master Applikation Login Allgemeine Seiten (Benutzerverwaltung, ...) Navigationsleisten Lovs ... Spezifische Applikationen Subscription verwenden Oracle APEX: Fortgeschrittene Techniken aus der Praxis Patrick Wolf – Denes Kubicek – Dietmar Aust

25 Verfasser · weitere Angaben
Thema der Präsentation · Datum Seitennummerierung Fortlaufend? APEX weiß es am besten? Nur bei kleine Applikationen APEX Seitennummern sind nicht wirklich limitiert! Es gibt immer zusammengehörige Seiten Übersichtsbericht mit Suche Detail Formular Vielleicht noch weiteres Detail Formular 50 oder 100 Schritte pro zusammengehörige Seiten 1.000 oder Schritte pro Seitengruppe Oracle APEX: Fortgeschrittene Techniken aus der Praxis Patrick Wolf – Denes Kubicek – Dietmar Aust

26 Verfasser · weitere Angaben
Thema der Präsentation · Datum Seitengruppen Wer kennt Sie? Verwendet Sie? Gutes Mittel um Applikation zu Strukturieren Admin Bereich Öffentlicher Bereich Shop ... Verschiedene Darstellungsmöglichkeiten Hilft Page Flow Diagram von ApexLib Zuordnen über Seiteneigentschaften Oracle APEX: Fortgeschrittene Techniken aus der Praxis Patrick Wolf – Denes Kubicek – Dietmar Aust

27 Verfasser · weitere Angaben
Thema der Präsentation · Datum APEX Einstellungen Application Builder Defaults Developer Preferences UI Interface Defaults Defaults beim erstellen von Tabellen/Views Titel, Labels, Templates, Format Masken Applikationsübergreifend Oracle APEX: Fortgeschrittene Techniken aus der Praxis Patrick Wolf – Denes Kubicek – Dietmar Aust

28 Verfasser · weitere Angaben
Thema der Präsentation · Datum APEX Einstellungen Default Templates für Komponenten und Regionen Shared Components\Themes\Edit Theme Ein wenig versteckt Oracle APEX: Fortgeschrittene Techniken aus der Praxis Patrick Wolf – Denes Kubicek – Dietmar Aust

29 Teamentwicklung – Codierrichtlinien
Verfasser · weitere Angaben Thema der Präsentation · Datum Teamentwicklung – Codierrichtlinien Jeder entwickelt anders Emotionales Gebiet! Einheitliche Namensgebung Filenamen Variablen Parameter Konstanten Felder Einheitliche Formatierung Gross-/Kleinschreibung Klammern Einrückung Leerzeichen PL/SQL Aufrufe mit Non-Positional Syntax/Parameter Oracle APEX: Fortgeschrittene Techniken aus der Praxis Patrick Wolf – Denes Kubicek – Dietmar Aust

30 Teamentwicklung – Codierrichtlinien
Verfasser · weitere Angaben Thema der Präsentation · Datum Teamentwicklung – Codierrichtlinien Einheitliche Vorgehensweise Gleiche Patterns (z.B.: Geschäftslogik, APEX Seiten, ...) Einheitliches Layout Labels, Tabs, Breadcrums, ... Feldtypen vereinheitlichen (Datum, Geldbeträge, …) Für Oracle APEX und PL/SQL und SQL Schriftlich!!! Reviews durchführen Oracle APEX: Fortgeschrittene Techniken aus der Praxis Patrick Wolf – Denes Kubicek – Dietmar Aust

31 Teamentwicklung – Versionsverwaltung
Verfasser · weitere Angaben Thema der Präsentation · Datum Teamentwicklung – Versionsverwaltung Ist ein MUSS!!! Auch bei 1 Mann Entwicklung! Schnell etwas überschrieben/gelöscht Historien Vergleich Tools CVS + TortoiseCVS SVN + TortoiseSVN Oracle APEX: Fortgeschrittene Techniken aus der Praxis Patrick Wolf – Denes Kubicek – Dietmar Aust

32 Teamentwicklung – Versionsverwaltung
Verfasser · weitere Angaben Thema der Präsentation · Datum Teamentwicklung – Versionsverwaltung Alle Projekt relevanten Dateien Create Table Scripts Konfigdaten Packages Dokumente ... APEX Applikations Export Manueller Export am Abend (APEX Builder oder SQL Developer) Automatisiert mit apex\utilities\oracle\apex\APEXExport.class und APEXSplitter.class Details siehe Oracle APEX: Fortgeschrittene Techniken aus der Praxis Patrick Wolf – Denes Kubicek – Dietmar Aust

33 Teamentwicklung – Ticketsystem
Verfasser · weitere Angaben Thema der Präsentation · Datum Teamentwicklung – Ticketsystem Nachvollziehbar Strukturiert Viele Tools JIRA Bugzilla ... Oracle APEX: Fortgeschrittene Techniken aus der Praxis Patrick Wolf – Denes Kubicek – Dietmar Aust

34 Teamentwicklung – Gleichzeitige Entwicklung
Verfasser · weitere Angaben Thema der Präsentation · Datum Teamentwicklung – Gleichzeitige Entwicklung Versionsverwaltung hilft dabei Locks Merge Nicht für APEX Export geeignet APEX Page Locks verwenden Nicht alles geschützt (Shared Components) In 3.1 ein paar Bugs korrigiert Themengebiete für Entwickler festlegen Eine Zentrale Entwicklungsinstanz Oracle APEX: Fortgeschrittene Techniken aus der Praxis Patrick Wolf – Denes Kubicek – Dietmar Aust

35 Teamentwicklung – Gleichzeitige Entwicklung
Verfasser · weitere Angaben Thema der Präsentation · Datum Teamentwicklung – Gleichzeitige Entwicklung Wenn was schief geht... Seiten Export mit „As of xx min“ verwenden Komplett Import beeinträchtigt andere Entwickler DBA soll höheres Zeitfenster einstellen!!! Oracle APEX: Fortgeschrittene Techniken aus der Praxis Patrick Wolf – Denes Kubicek – Dietmar Aust

36 Teamentwicklung – Conclusio
Verfasser · weitere Angaben Thema der Präsentation · Datum Teamentwicklung – Conclusio Codierrichtlinien Versionsverwaltung Ticketsystem Regelmäßige Exports Page Locks verwenden Einzel Seiten Export mit „As of“ Oracle APEX: Fortgeschrittene Techniken aus der Praxis Patrick Wolf – Denes Kubicek – Dietmar Aust


Herunterladen ppt "Verfasser · weitere Angaben"

Ähnliche Präsentationen


Google-Anzeigen