350 likes | 439 Views
Seminar zum Thema „Aktive Datenbanken“ des Lehrstuhls Praktische Informatik der Friedrich-Schiller-Universität Jena. AMIT- active middleware technology. Gliederung. 1. Einleitung 2. Ziele 3. Eigenschaften 4. Architektur 5. Situationskonzept 6. AMIT in der Praxis 7. Literatur
E N D
Seminar zum Thema „Aktive Datenbanken“ des Lehrstuhls Praktische Informatik der Friedrich-Schiller-Universität Jena (c) Julia Hillebrandt
Gliederung • 1. Einleitung • 2. Ziele • 3. Eigenschaften • 4. Architektur • 5. Situationskonzept • 6. AMIT in der Praxis • 7. Literatur • 8. Ausblick (c) Julia Hillebrandt
Einleitung • Kundenwunsch als Motivation • Projekt of IBM Forschungslabor Labor Haifa 1999 • Aufgabe AMIT: aus einzelne Events eine Situation erfassen • überbrücken mit einem „Situationsmanagers“ (c) Julia Hillebrandt
Einleitung Runtime- AMIT (c) Julia Hillebrandt
Gliederung • 1. Einleitung • 2. Ziele • 3. Eigenschaften • 4. Architektur • 5. Situationskonzept • 6. AMIT in der Praxis • 7. Literatur • 8. Ausblick (c) Julia Hillebrandt
Ziele • reactive systems: • auf etwas reagieren, was im System stattfindet • proactive systems: • prognostizieren von Umweltveränderungen • überbrücken Differenz vom Event zur Situation • Anwendungsentwicklungswerkzeug passt sich an die damals schnelle Entwicklung von aktiven Datenbanken an • benutzerdefinierte Situationen erkennen • unterschiedliche Inhalte unterstützen • es kann mehr als ein Kontext nötig sein, um eine spezifische Situation zu erkennen (c) Julia Hillebrandt
Gliederung • 1. Einleitung • 2. Ziele • 3. Eigenschaften • 4. Architektur • 5. Situationskonzept • 6. AMIT in der Praxis • 7. Literatur • 8. Ausblick (c) Julia Hillebrandt
Eigenschaften • externe Quellen Events erfassen • verarbeiten externer Metadaten • modellieren aller Unternehmensaktivitäten und Komponenten • Überwachung aller Events • Plattform unabhängig • Unterstützung lokal- basierte Entscheidungsunterstützungssysteme (c) Julia Hillebrandt
Gliederung • 1. Einleitung • 2. Ziele • 3. Eigenschaften • 4. Architektur • 5. Situationskonzept • 6. AMIT in der Praxis • 7. Literatur • 8. Ausblick (c) Julia Hillebrandt
Architektur (c) Julia Hillebrandt
Gliederung • 1. Einleitung • 2. Ziele • 3. Eigenschaften • 4. Architektur • 5. Situationskonzept • 6. AMIT in der Praxis • 7. Literatur • 8. Ausblick (c) Julia Hillebrandt
Situationskonzept (c) Julia Hillebrandt
Beispiele für mögliche Situationen • Ein Chef möchte eine Meldung bekommen, wenn ein Mitarbeiter eine bestimmte Anzahl an Verträgen innerhalb von 2 Tagen abgeschlossen hat • (Vorschlag für Gehaltserhöhung ) (c) Julia Hillebrandt
e2 e1 e3 Situationskonzept-Event Events • signifikanter, augenblicklicher und atomarer Vorfall • löst eine Aktion und damit meistens eine Zustandsveränderung aus • concrete und inferred events • concrete passieren in der Realität Zustandsänderung • inferred events • logische Folgerungen (c) Julia Hillebrandt
e2 e1 e3 Situationskonzept-Event Events • 2 Eventklassen • external Events • konkrete Events kommen in den Situationsmanager • von externen Quellen während der Laufzeit • internal events • inferred events welche signalisiert Situation entdeckt • Event Event instance • Infos über Event • event class attribute und methods • class name, a set of a attributes
e2 e1 e3 Attributes Situationskonzept-Attribute • Event ist eine strukturierte Menge von Attributen • Attributname, attribute type und default type Events Beispiel: <event name=“Abschluss“> <attribute name=“Name“ type=“string“> <attribute name=“Anzahl “ type=“number“> <attribute name=“Differenz “ type=“number“> </event> (c) Julia Hillebrandt
e2 e1 e3 Attributes Repeat Mode (always, once) (immediate, delayed, deferred) Detection Mode Context e5 e8 Terminator Initiator Situationskonzept-Lifespan • Lifespan • während der Situationserkennung relevant • begrenzt zwischen zwei Ereignissen den • Initiator und den Terminator • Initiator und den Terminator können externe, interne oder Systemereignisse sein • lifespan class beinhaltet Eigenschaften • Anzahl/Bedingung, welche einen Lifespan initiieren/beenden • maximale Länge Events
Initiator e5 Situationskonzept-Lifespan-Initiator • lifespan durch einen Initiator • Aufkommen eines Events oder starten Situationsmanager • beinhaltet durch was initiiert und unter • welchen Bedingungen • Bedingung,Event Name,Correlation code • Correlation code 2 Möglichkeiten • add und ignore • ignore = neuer lifespan initiiert, nur wenn ein lifespan selben Types nicht schon offen ist • add= ein neuer lifespan während alle anderen lifespans ebenfalls offen <lifespan name = „Anzahl“> <initiator name= „Berechnen“ Condition=“Mitarbeiterabschluß>30“ Correlate = “add“/> </lifespan> (c) Julia Hillebrandt
Terminator e8 Situationskonzept-Lifespan- Terminator • lifespan Terminator • lifespan beendet durch Terminator • lifespan Type definiert nach einer Zeitperiode oder auftreten eines Ereignisses • beinhaltet die Bedingungen bevor Laufzeit beendet • 3 Bedingungen first, last, each • first älteste lifespan beendet • last neueste lifespan beendet • each alle beendet (c) Julia Hillebrandt
e2 e1 e3 Attributes Repeat Mode (always, once) (immediate, delayed, deferred) Detection Mode Context e5 e8 Terminator Initiator Situationskonzept-Modi Events
Situationskonzept-Modi • detection mode • Immediate • Situationserkennung wenn neues Event • berichtet wenn entdeckt wird • Delayed • Situationserkennung wenn neues Event • Ende der Laufzeit berichtet • Deferred • Situationserkennung am Ende der Laufzeit • berichtet wenn entdeckt wird • Repeat mode • Always • wiederholt • Once • einmal beachtet (c) Julia Hillebrandt
JOINING (all, sequence) e2 COUNTING (atleast, atmost, nth) Operators Events e1 TEMPORAL (every, after, at) (not, unless) ABSENCE e3 Attributes Repeat Mode (always, once) (immediate, delayed, deferred) Detection Mode Context e5 e8 Terminator Initiator Situationskonzept-Operators
Situationskonzept-Operators • Joining Operators: • All Verknüpfung von Events ohne Anordnung • Sequences Verknüpfung von Events Anordnung • Counting operatorsVerknüpfung von n gewichteten Events triggered wenn gesamte Gewicht Operator keine Anordnung • Atleast Anzahl muss größer einer vom Benutzer definierten Größe sein • Atmost Anzahl muss kleiner einer vom Benutzer definierten Größe sein • nth Anzahl muss gleich einer vom Benutzer definierten Größe sein • Absence operator • Not keins der Ereignisse mit der Laufzeit auftritt • Unless nur Ereignis beim 1. Operator nicht 2. (c) Julia Hillebrandt
Situationskonzept-Operators- Beispiel operator = "atleast 10" detection mode = "immediate" first operand = event: “Abschluss" threshold: “differenz <0” weight: “1” quantifier: "each" second operand = event: “Abschluss" threshold: “differenz >0” weight: “-1” quantifier: "each" (c) Julia Hillebrandt
JOINING (all, sequence) e2 COUNTING (atleast, atmost, nth) Operators Events e1 TEMPORAL (every, after, at) (not, unless) ABSENCE e3 Attributes Conditions (where...) e1.id Key e2.name e3.key Repeat Mode (always, once) (immediate, delayed, deferred) Detection Mode Context e5 e8 Terminator Initiator Situationskonzept-Conditons und key
Situationskonzept-Conditons und key • Condition • kontrolliert, ob die Condition durch den Operator angewandt, sowie „where“ Klausel erfüllt wurde • key definition • semantische Übereinstimmung bei verschiedenen Events aufgrund gleicher Attributwerte • Vgl. equi join in relationale DBs (c) Julia Hillebrandt
JOINING (all, sequence) e2 COUNTING (atleast, atmost, nth) Operators Events e1 TEMPORAL (every, after, at) (not, unless) ABSENCE e3 Attributes Conditions (where...) e1.id Key e2.name e3.key Situation Repeat Mode (always, once) (immediate, delayed, deferred) Detection Mode Context e5 e8 Terminator Initiator Situationskonzept !!! !!!
Gliederung • 1. Einleitung • 2. Ziele • 3. Eigenschaften • 4. Architektur • 5. Situationskonzept • 6. AMIT in der Praxis • 7. Literatur • 8. Ausblick (c) Julia Hillebrandt
AMIT Werkzeuge (c) Julia Hillebrandt
Gliederung • 1. Einleitung • 2. Ziele • 3. Eigenschaften • 4. Architektur • 5. Situationskonzept • 6. AMIT in der Praxis • 7. Literatur • 8. Ausblick (c) Julia Hillebrandt
Literatur • http://www.cse.ust.hk/db/index_files/dbseminar/archives/fall04/amit_vldbj04.pdf • http://ftp.informatik.rwth-aachen.de/Publications/CEUR-WS/Vol-60/adi.pdf • http://cep.weblogger.com/stories/storyReader$157 • http://www.haifa.il.ibm.com/dept/services/soms_ebs_tech.html • http://www.computerwoche.de/bizone/579005/ (c) Julia Hillebrandt
Gliederung • 1. Einleitung • 2. Ziele • 3. Eigenschaften • 4. Architektur • 5. Situationskonzept • 6. AMIT in der Praxis • 7. Literatur • 8. Ausblick (c) Julia Hillebrandt
Ausblick • basierend auf AMIT Complex Event Processing Technolgy (CEP) • überwacht Business Prozesse • Ziel ist eine Art Radarsystem schneller auf Veränderungen reagieren Ereignismuster unmittelbar erkennen und Reaktionen anstoßen • bessere Ergebnisse in Echtzeit • Neuerung: erkennen von komplexen Situation verschiedene Eventquellen mit unterschiedlichen Zusammenhängen (c) Julia Hillebrandt
Ausblick • Funktionsweise: • kleine Programme, die kontinuierlich Anfragen gegen Daten aus Ereignisströmen fahren • nutzen Regeln, um Ereignisse zu filtern, zu korrelieren und zu komplexeren Ereignissen (Complex Events) zu aggregieren • Events mit vorher definierten Mustern identifizieren Ereigniskonstellationen die vorgegebene Restriktionen verletzen (c) Julia Hillebrandt