1DOAG Regionalmeeting bei DEICHMANN Juni 2004 Advanced Queuing Anwendung in der DEICHMANN Bestandsführung
2DOAG Regionalmeeting bei DEICHMANN Juni 2004 Agenda Migrationsstrategie / Umfeld Anforderungen an die Bestandsführung Architektur der Bestandsführung Entscheidung für ORACLE AQ Überblick ORACLE Advanced Queuing AQ in der DEICHMANN Bestandsführung
3DOAG Regionalmeeting bei DEICHMANN Juni 2004 Agenda Migrationsstrategie / Umfeld Anforderungen an die Bestandsführung Architektur der Bestandsführung Entscheidung für ORACLE AQ Überblick ORACLE Advanced Queuing AQ in der DEICHMANN Bestandsführung
4DOAG Regionalmeeting bei DEICHMANN Juni 2004 Migrationsstrategie / Umfeld
5DOAG Regionalmeeting bei DEICHMANN Juni 2004 Migrationsstrategie / Umfeld
6DOAG Regionalmeeting bei DEICHMANN Juni 2004 Migrationsstrategie / Umfeld
7DOAG Regionalmeeting bei DEICHMANN Juni 2004 Agenda Migrationsstrategie / Umfeld Anforderungen an die Bestandsführung Architektur der Bestandsführung Entscheidung für ORACLE AQ Überblick ORACLE Advanced Queuing AQ in der DEICHMANN Bestandsführung
8DOAG Regionalmeeting bei DEICHMANN Juni 2004 Anforderungen an die Bestandsführung Offenheit Stabilität und Wartungsfreundlichkeit Online-Fähigkeit Buchungsprozess parallel zum Tagesgeschäft Kein exklusiver DB-Zugriff für Buchungsprozesse Keine Dekaden- oder Monatsabschlüsse
9DOAG Regionalmeeting bei DEICHMANN Juni 2004 Anforderungen an die Bestandsführung WYSIWWH What you see is what we have Voll mandantenfähig Bewertung zum Einstandspreis Basis für sämtliche Verdichtungen im DW
10DOAG Regionalmeeting bei DEICHMANN Juni 2004 Anforderungen an die Bestandsführung Mengen- und wertmäßige Bestände in 3 Dimensionen Zeit Aktuell, Tag, Woche, Monat Organisationseinheit Verkaufsstelle, DZ, Firma Artikel Variante, Artikel, Artikelklasse
11DOAG Regionalmeeting bei DEICHMANN Juni 2004 Anforderungen an die Bestandsführung NameBedeutung B_MOFIPR Monatliche Bestandsänderungen je Firma und Produkt. Aktuelle Bestände im laufenden Monat, Monatsensbestände für vergangene Monate. Namenskonventionen
12DOAG Regionalmeeting bei DEICHMANN Juni 2004 Anforderungen an die Bestandsführung NameBedeutung B_MOFIPR Monatliche Bestandsänderungen je Firma und Produkt. Aktuelle Bestände im laufenden Monat, Monatsendbestände für vergangene Monate. ZeitORGEINArtikel AKORVA TAFIPR WOAR MO B_... Namenskonventionen
13DOAG Regionalmeeting bei DEICHMANN Juni 2004 Anforderungen an die Bestandsführung Performante Verbuchung von täglich Warenbewegungen Verkaufsvorgängen sonstigen Vorgängen Synchrone Verdichtung in 16 Tabellen mit 28 Insert/Update je Vorgang
14DOAG Regionalmeeting bei DEICHMANN Juni 2004 Agenda Migrationsstrategie / Umfeld Anforderungen an die Bestandsführung Architektur der Bestandsführung Entscheidung für ORACLE AQ Überblick ORACLE Advanced Queuing AQ in der DEICHMANN Bestandsführung
15DOAG Regionalmeeting bei DEICHMANN Juni 2004 Architektur des Bestandsführungssystems
16DOAG Regionalmeeting bei DEICHMANN Juni 2004 Agenda Einführungsstrategie / Umfeld Anforderungen an die Bestandsführung Architektur der Bestandsführung Entscheidung für ORACLE AQ Überblick ORACLE Advanced Queuing AQ in der DEICHMANN Bestandsführung
17DOAG Regionalmeeting bei DEICHMANN Juni 2004 Realisierungsalternativen Advanced Queuing „eigene“ Lösung Entscheidung für ORACLE AQ technische Anforderungen asynchrone Verarbeitung zeitnahe Verbuchung persistente Speicherung Archivierung
18DOAG Regionalmeeting bei DEICHMANN Juni 2004 Entscheidung für ORACLE AQ Vorteile des Advanced Queuing Nachteile des Advanced Queuing „technisches Neuland“ Machbarkeit ungewiß kein Implementierungsaufwand Nutzung des Interfaces Investitionsschutz
19DOAG Regionalmeeting bei DEICHMANN Juni 2004 Entscheidung für ORACLE AQ Vorgehen AQ-Prototyp für Massendaten (Rückfall-) Option: eigene Lösung Ergebnis Machbarkeit nachgewiesen stabil und performant Konsequenz Implementierung mit Advanced Queuing
20DOAG Regionalmeeting bei DEICHMANN Juni 2004 Agenda Einführungsstrategie / Umfeld Anforderungen an die Bestandsführung Architektur der Bestandsführung Entscheidung für ORACLE AQ Überblick ORACLE Advanced Queuing AQ in der DEICHMANN Bestandsführung
21DOAG Regionalmeeting bei DEICHMANN Juni 2004 ORACLE Advanced Queuing Pipe-Mechanismus tabellenbasiert persistent transaktionsgesteuert prozedurales Interface Administration Verwendung
22DOAG Regionalmeeting bei DEICHMANN Juni 2004 ORACLE Advanced Queuing Queue-Tabellen Message Exception Queues Queues
23DOAG Regionalmeeting bei DEICHMANN Juni 2004 ORACLE Advanced Queuing Queue-Tabellen Message Exception Queues Queues
24DOAG Regionalmeeting bei DEICHMANN Juni 2004 ORACLE Advanced Queuing Queue-Tabellen Message Exception Queues Queues
25DOAG Regionalmeeting bei DEICHMANN Juni 2004 ORACLE Advanced Queuing Queue-Tabellen Message Exception Queues Queues
26DOAG Regionalmeeting bei DEICHMANN Juni 2004 ORACLE Advanced Queuing
27DOAG Regionalmeeting bei DEICHMANN Juni 2004 ORACLE Advanced Queuing
28DOAG Regionalmeeting bei DEICHMANN Juni 2004 ORACLE Advanced Queuing
29DOAG Regionalmeeting bei DEICHMANN Juni 2004 ORACLE Advanced Queuing
30DOAG Regionalmeeting bei DEICHMANN Juni 2004 ORACLE Advanced Queuing AQ-Views Data Dictionary Views Queue-Monitor-Prozesse (QMN) V$AQ / GV$AQ {DBA|ALL|USER}_QUEUE_TABLES {DBA|ALL|USER}_QUEUES
31DOAG Regionalmeeting bei DEICHMANN Juni 2004 ORACLE Advanced Queuing Zugriff auf Queue-Tabellen immer mit Schema und Alias Nachricht als Record in Spalte USER_DATA select aq.user_data.FIRMA_NR "Firma", p.deichmann_nr "Artikel" from wwsdb.aq_verpre aq, v_produk11 p where aq.user_data.FIRMA_NR = p.firma_nr and aq.user_data.PRODUK_NR = p.produk_nr;
32DOAG Regionalmeeting bei DEICHMANN Juni 2004 ORACLE Advanced Queuing Einrichten der Queue-Strukturen Nachrichtentyp definieren Queue-Tabelle anlegen Queue anlegen Queue starten CREATE TYPE wwsdb.myType AS OBJECT ( nr number, text varchar2(100) );
33DOAG Regionalmeeting bei DEICHMANN Juni 2004 begin DBMS_AQADM.CREATE_QUEUE_TABLE ( queue_table => 'wwsdb.myTable', queue_payload_type => 'wwsdb.myType' ); end; ORACLE Advanced Queuing Einrichten der Queue-Strukturen Nachrichtentyp definieren Queue-Tabelle anlegen Queue anlegen Queue starten
34DOAG Regionalmeeting bei DEICHMANN Juni 2004 begin DBMS_AQADM.CREATE_QUEUE ( queue_name => 'wwsdb.myQueue', queue_table => 'wwsdb.myTable' ); end; ORACLE Advanced Queuing Einrichten der Queue-Strukturen Nachrichtentyp definieren Queue-Tabelle anlegen Queue anlegen Queue starten
35DOAG Regionalmeeting bei DEICHMANN Juni 2004 begin DBMS_AQADM.START_QUEUE ( queue_name => 'wwsdb.myQueue', enqueue => YES, dequeue => YES ); end; ORACLE Advanced Queuing Einrichten der Queue-Strukturen Nachrichtentyp definieren Queue-Tabelle anlegen Queue anlegen Queue starten
36DOAG Regionalmeeting bei DEICHMANN Juni 2004 Agenda Einführungsstrategie / Umfeld Anforderungen an die Bestandsführung Architektur der Bestandsführung Entscheidung für ORACLE AQ Überblick ORACLE Advanced Queuing AQ in der DEICHMANN Bestandsführung
37DOAG Regionalmeeting bei DEICHMANN Juni 2004 AQ in der Bestandsführung
38DOAG Regionalmeeting bei DEICHMANN Juni 2004 AQ in der Bestandsführung
39DOAG Regionalmeeting bei DEICHMANN Juni 2004 AQ in der Bestandsführung
40DOAG Regionalmeeting bei DEICHMANN Juni 2004 AQ in der Bestandsführung Bestandsführungskern Eine allgemeine Buchungsfunktion für alle Buchungen 3-stufiges Konzept Warenwirtschaftssystem (WWS) Erstellt Buchungsanforderungen Prozedurale Schnittstelle Transformation einer Buchungsanforderung in Parameter-Records
41DOAG Regionalmeeting bei DEICHMANN Juni 2004 AQ in der Bestandsführung allgemeiner Ablauf WWS-Trigger Queue Buchungsfunktion
42DOAG Regionalmeeting bei DEICHMANN Juni 2004 AQ in der Bestandsführung allgemeiner Ablauf WWS-Trigger Queue Buchungsfunktion
43DOAG Regionalmeeting bei DEICHMANN Juni 2004 AQ in der Bestandsführung allgemeiner Ablauf WWS-Trigger Queue Buchungsfunktion
44DOAG Regionalmeeting bei DEICHMANN Juni 2004 AQ in der Bestandsführung allgemeiner Ablauf der Verbuchung Listen-Prozedur Verbuchung aller Nachrichten Neustart gemäß Zeitfenster
45DOAG Regionalmeeting bei DEICHMANN Juni 2004 AQ in der Bestandsführung Konfiguration Parameter der Listen-Prozedur Queue-Tabelle Queue Message Properties Enqueuing-Optionen Dequeuing-Optionen
46DOAG Regionalmeeting bei DEICHMANN Juni 2004 AQ in der Bestandsführung Konfiguration Parameter der Listen-Prozedur Queue-Tabelle Queue Message Properties Enqueuing-Optionen Dequeuing-Optionen
47DOAG Regionalmeeting bei DEICHMANN Juni 2004 AQ in der Bestandsführung Konfiguration Parameter der Listen-Prozedur Queue-Tabelle Queue Message Properties Enqueuing-Optionen Dequeuing-Optionen
48DOAG Regionalmeeting bei DEICHMANN Juni 2004 AQ in der Bestandsführung Konfiguration Parameter der Listen-Prozedur Queue-Tabelle Queue Message Properties Enqueuing-Optionen Dequeuing-Optionen
49DOAG Regionalmeeting bei DEICHMANN Juni 2004 AQ in der Bestandsführung Konfiguration Parameter der Listen-Prozedur Queue-Tabelle Queue Message Properties Enqueuing-Optionen Dequeuing-Optionen
50DOAG Regionalmeeting bei DEICHMANN Juni 2004 AQ in der Bestandsführung Beispiele aus produktivem Betrieb Ablauf bei Wartungsarbeiten Fehlerbehandlung (Korrekturfall) Fehlerbehandlung (Verzicht auf Verbuchung) Überblick über den Queue-Status
51DOAG Regionalmeeting bei DEICHMANN Juni 2004 AQ in der Bestandsführung Ablauf bei Wartungsarbeiten Zeitfenster „Wartung“ anpassen Queues und Jobs anhalten kontrolliertes Beenden der Buchungsfunktionen ... Wartung bzw. Programmübernahme... Queues und Jobs starten
52DOAG Regionalmeeting bei DEICHMANN Juni 2004 AQ in der Bestandsführung Fehlerbehandlung (Korrekturfall) Dequeue aus der Exception Queue Korrektur der Daten Enqueue in die Normal Queue COMMIT
53DOAG Regionalmeeting bei DEICHMANN Juni 2004 AQ in der Bestandsführung Fehlerbehandlung (Verzicht auf Verbuchung) Dequeue aus der Exception Queue Kennzeichnen des auslösenden Vorgangs COMMIT
54DOAG Regionalmeeting bei DEICHMANN Juni 2004 AQ in der Bestandsführung Überblick über den Status der Queues Status "READY" - Nachricht steht für weitere Verarbeitung bereit (DEQUEUE) Status "WAITING" - Nachricht wartet auf Ablauf der Verzögerungszeit (RETRY DELAY) Status "EXPIRED" - Nachricht wurde in die Exception Queue verschoben (MAX RETRIES erreicht)... leere Queues werden nicht angezeigt... Name der Queue READY WAITING EXPIRED AQ$_AQ_KASSE_E AQ$_AQ_EINREC_E AQ$_AQ_VERPRE_E AQ$_AQ_AREITR_E QUEUE_HAREPO QUEUE_VERPRE Join - V$AQ – DBA_QUEUES
55DOAG Regionalmeeting bei DEICHMANN Juni 2004 Fazit Fazit nach 10 Monaten produktiver Nutzung stabil performant einfache Handhabung der Interfaces Administration Verwendung Überwachung geringe Nutzung der AQ-Funktionalität