Entwicklung einer Dashboard Suite zur Visualisierung von CEP-Events am Beispiel von Solaranlagen

Größe: px
Ab Seite anzeigen:

Download "Entwicklung einer Dashboard Suite zur Visualisierung von CEP-Events am Beispiel von Solaranlagen"

Transkript

1 Hochschule Hannover Fakultät IV Wirtschaft und Informatik Studiengang: Angewandte Informatik Entwicklung einer Dashboard Suite zur Visualisierung von CEP-Events am Beispiel von Solaranlagen Bachelorarbeit von Sebastian Sack Erstprüfer Prof. Dr. Ralf Bruns Zweitprüfer: Prof. Dr. Josef von Helden Matrikelnummer: Abgabedatum:

2 Selbständigkeitserklärung: Hiermit erkläre ich an Eides statt, dass ich die eingereichte Bachelorarbeit selbstständig und ohne fremde Hilfe verfasst, andere als die von mir angegebenen Quellen und Hilfsmittel nicht benutzt und die den benutzten Werken wörtlich oder inhaltlich entnommenen Stellen als solche kenntlich gemacht habe. Hannover, den (Sebastian Sack) 2

3 Inhaltsverzeichnis 1 Einleitung Motivation Ziel dieser Arbeit Aufbau dieser Arbeit Grundlagen Complex Event Processing (CEP) Was ist CEP? Events, Event Hierarchy und Event Stream Event Pattern und Rules Anwendungsbeispiel: Esper Business Activity Monitoring (BAM) Was ist BAM? Key Performance Indicators (KPIs) BAM Dashboards BAM - Stand der Dinge Die Dashboard Suite (DBS) für CEP-Events Anforderungsanalyse Funktionale Anforderungen Nicht funktionale Anforderungen Design und Entwurf Physische und logische Architektur Programmablauf Implementierung der Suite Die Bibliothek JFreeChart Die Packages de.dbs.eventmodel de.dbs.gui.components de.dbs.gui.controller Sonstige Packages Komplettbeispiel Fallbeispiel: Anbindung einer konkreten CEP-Anwendung Beschreibung der Anwendung Die Eventstruktur

4 5.1.2 Die Regeln Anbindung an die Suite Mapping der Events Entwurf des konkreten Dashboards Zusammenfassung und Ausblick Bewertung des Fallbeispiels Fazit Ausblick Abbildungsverzeichnis 46 Abkürzungsverzeichnis 47 Literaturverzeichnis 48 4

5 1 Einleitung 1.1 Motivation In der heutigen Zeit, dem Zeitalter der Computer und des Internets, nimmt die Vernetzung der Geräte untereinander rasant zu. Dabei bleibt es nicht aus, dass riesige Datenmengen anfallen. Um diese gezielt und zeitnah verarbeiten und auswerten zu können sind moderne Technologien und Algorithmen gefragt. Eine bewährte Technik hierfür ist Complex Event Processing (CEP). Mit diesem Verfahren lassen sich umfangreiche Datenströme aufgrund entsprechender Regeln zeitnah verarbeiten. Doch CEP alleine reicht oftmals nicht aus, um die Daten auszuwerten. Und genau an dieser Stelle kommt Business Activity Monitoring (BAM) ins Spiel. Hier werden die Daten mithilfe von verschiedenen Visualisierungsinstrumenten grafisch aufbereitet und in sogenannten Dashboards zur Verfügung gestellt. Auf diese Weise wird eine Auswertung der Daten erleichtert. 1.2 Ziel dieser Arbeit Diese Arbeit befasst sich mit der Erstellung einer Suite in Java zur Erstellung von konkreten Dashboards für beliebige CEP-Anwendungen. Ziel soll es sein, die aus einer CEP-Engine resultierenden Ereignisse (Events) mithilfe verschiedener, individuell anpassbarer Komponenten visuell darzustellen. Solche Komponenten können z. B. für numerische Ereignisse Tachometer oder Charts und für nicht numerische Daten Tabellen oder einfache Listen sein. Hierbei soll die Suite möglichst generisch entworfen und implementiert werden, so dass sie für CEP-Anwendungen mit unterschiedlichen Domänenmodellen ohne viel Programmieraufwand genutzt werden kann. Um eine möglichst lose Kopplung zwischen Suite und CEP-Anwendung zu erreichen, soll die Suite im Rahmen einer verteilten Anwendung eingesetzt werden. Daher ist eine passende Middleware anzubinden. So können Events auch von entfernten CEP- Anwendungen an die Suite gesendet werden. Als konkretes Fallbeispiel wird eine CEP-Anwendung zur Überwachung von Solaranlagen über eine entsprechende Schnittstelle an die Suite angebunden und somit ein konkretes Dashboard zur Visualisierung dieser Daten erstellt. 5

6 1.3 Aufbau dieser Arbeit Dieser Abschnitt soll eine grobe Übersicht über die Strukturierung dieser Arbeit geben: Ziel von Kapitel 2 soll es sein, eine kurzen Einblick in Complex Event Processing und Business Activity Monitoring zu geben. Diese beiden Techniken bilden die Grundlage dieser Arbeit. Mit dem Entwurf der Dashboard Suite beschäftigt sich das Kapitel 3. Hier werden zunächst Anforderungen beschrieben, welche es umzusetzen gilt. Außerdem wird sowohl die physische als auch die logische Architektur erläutert. Die Realisierung der Suite steht im Mittelpunkt von Kapitel 4. Dort werden wichtige Implementierungsdetails genannt und anhand kurzer Codebeispiele und ggf. Grafiken veranschaulicht. In Kapitel 5 wird mithilfe der Suite ein konkretes Dashboard für eine Anwendung zusammengestellt. Auf diese Weise wird die Suite auf ihre Funktionalität überprüft. Eine Bewertung der Suite und des Fallbeispiels erfolgt in Kapitel 6. Hier werden außerdem Erweiterungsmöglichkeiten aufgezeigt. 6

7 2 Grundlagen Zusammenfassung: Dieses Kapitel beschäftigt sich mit den grundlegenden Themen, auf welchen diese Arbeit aufbauen soll: Complex Event Processing und Business Activity Monitoring. 2.1 Complex Event Processing (CEP) Was ist CEP? Complex Event Processing (CEP) ist ein Themenbereich aus der Informatik, welcher sich mit der Verarbeitung von Events (Ereignissen) in Echtzeit beschäftigt. Die folgenden Abschnitte sollen die wichtigsten Aspekte dieser Technik näher erläutern und somit ein generelles Grundwissen über Complex Event Processing schaffen Events, Event Hierarchy und Event Stream Events (Ereignisse) sind die Antriebskraft einer CEP-Anwendung. Hierbei handelt es sich um beliebige Vorkommnisse, die sich zu einem bestimmten Zeitpunkt ereignen und in einem direkten Bezug zur fachlichen Domäne des Systems stehen [1]. Grundsätzlich unterscheidet man zwischen zwei Arten von Events [2]: Physikalische bzw. Technische Events werden aufgrund von physikalen Vorkommnissen automatisch erzeugt. Sie beinhalten oft nur feingranulare Daten und müssen daher mit anderen Events in Zusammenhang gesetzt werden, um Rückschlüsse auf den aktuellen Zustand des Systems ziehen zu können. Beispiel: Ein Temperatursensor misst in regelmäßigen Abständen die Temperatur und leitet sie weiter. Nicht technische Events besitzen meist eine höhere Abstraktionsebene als technische Events. Sie spiegeln oft komplexe, fachliche Sachverhalte wieder und werden manuell (z. B.: durch Anwendungssoftware) erzeugt. Beispiel: Ein Kunde gibt über eine Homepage eine Bestellung auf. Darüber hinaus besitzen Events grundsätzlich zwei Arten von Daten: Die Metadaten geben Auskunft über die Eventquelle und die Umstände des Auftretens. Sie beinhalten z. B. die Uhrzeit des Auftretens oder die Sensor-ID. 7

8 Die Nutzdaten beinhalten die eigentlichen Daten bzw. Messwerte. Dies ist z. B. bei einem Temperatursensor die gemessene Temperatur. Damit Events überhaupt klassifiziert bzw. weiterverarbeitet werden können, werden sie in einer event hierarchy (Eventstruktur, Ereignisstruktur) beschrieben. Diese deklariert bzw. definiert alle Eventtypen, die in einer CEP-Anwendung auftreten können und bildet praktisch das Domänenmodell einer CEP-Engine. All diese Events fließen als kontinuierlicher event stream (Ereignisstrom) in die CEP- Anwendung Event Pattern und Rules Event pattern (Ereignismuster) sind Kernstück einer jeden CEP-basierten Anwendung. Sie beschreiben bestimmte Konstellationen von Events, welche es im event stream wiederzuerkennen gilt. Hierbei können alle Parameter der Events betrachtet und miteinander verglichen werden. Event rules (Ereignisregeln) bestehen immer aus zwei Teilen; einem Bedingungs- und einem Aktionsteil (auch Subscriber genannt). In dem Bedingungsteil steht das oben erwähnte Ereignismuster. Wird dieses Muster im Ereignisstrom wiedererkannt, so ist der Bedingungsteil der Regel erfüllt und der Aktionsteil wird ausgeführt. Man spricht hierbei vom feuern einer Regel. In den Subscribern einer Regel werden entweder Geschäftsprozesse angestoßen oder neue Events erzeugt, welche erneut in die Engine geschickt werden Anwendungsbeispiel: Esper Während sich die letzten Abschnitte mit den theoretischen Konzepten des Complex Event Processing beschäftigten, gibt dieser Abschnitt anhand einer OpenSource-Engine Einblicke in eine mögliche Realisierung von CEP. Hierbei handelt es sich um die freie Engine Esper [3]. Die Eventstruktur Einer der ersten Schritt zur Erstellung einer CEP-Anwendung ist immer die Konzeption einer Eventstruktur. In diesem Beispiel soll ein System zur automatisierten Lichtsteuerung für Gebäude entwickelt werden. Das folgende Klassendiagramm skizziert hierfür die Eventstruktur: 8

9 Abbildung 2.1: Eventstruktur: Automatisierte Lichtsteuerung Objekte des Typs DayLightEvent werden jede Sekunde von einem Lichtsensor erzeugt und in die Engine geschickt. Sie beinhalten jeweils den aktuellen Tageslichtwert in Lux. Ein MovementEvent wird von Bewegungssensoren erzeugt, sobald eine Bewegung in einem Raum wahrgenommen wurde. Ein Objekte des Typs DoorEvent wird erzeugt, sobald die Tür von einem Raum betätigt wurde. Event Query Language (EQL) Für die Formulierung entsprechender Regeln wird in Esper die Abfragesprache Event Query Language verwendet. Diese ähnelt der bekannten Structured Query Language (SQL) Datenbanken. Hierbei wird eine eine Abfrage immer nach folgendem Schema erzeugt: SELECT... from PATTERN [... ] WHERE... In der SELECT-Klausel werden die Attribute aufgeführt, welche in den Subscriber übergeben werden sollen Die PATTERN-Klausel definiert das eigentliche Muster. Optional lassen sich in der WHERE-Klausel weitere Bedingungen festlegen. Dabei steht die PATTERN-Klausel im Vordergrund. Mithilfe der folgenden Bezeichner können hier die entsprechenden Muster definiert werden: 9

10 Bezeichner EVERY A EVERY A(x >10) A AND B NOT A A ->B timer:interval(x sec) Beschreibung Wählt jedes auftretende Event eines Typs A aus. Wählt jedes auftretende Event eines Typs A aus, bei dem das Attribut x größer 10 ist. Events der Typen A und B müssen zusammen auftreten. Es darf kein Event des Typs A auftreten. Auf ein Event vom Typ A muss eins des Typs B folgen. Definiert ein Zeitintervall von X Sekunden Die Regeln Auf der Basis der erstellten Eventstruktur werden nun Regeln erzeugt. In diesem Beispiel werden nur zwei Regeln zu Demonstrationszwecken kreiert. Ziel der ersten Regel ist es, das Einsetzen der Dämmerung zu erkennen und daraufhin die Außenbeleuchtung einzuschalten. Diese wird geschrieben und anschließend über den DefaultProvider innerhalb der Engine registriert: S t r i n g stmt = " select * from pattern [ every d= DayLightEvent( lux <50) -> ( timer: interval (10 min)) AND NOT DayLightEvent( lux >d. lux)]" ; EPStatement easyepstmt = EPServiceProviderManager. g e t D e f a u l t P r o v i d e r ( ). getepadministrator ( ). createepl ( stmt ) ; Nun wird der entsprechende Subscriber der Regel hinzugefügt: easyepstmt. addlistener (new ExternalLightsOnSubscriber ( ) ) ; Subscriber-Klassen in Esper müssen das UpdateListener-Interface implementieren, welche die Methode update(...) zur Verfügung stellt. Aus dieser lassen sich über die Event- Bean-Parameter die in der Regel selektierten Attribute holen. In diesem Fall wird aber nur die Außenbeleuchtung p u b l i c void update ( EventBean [ ] arg0, EventBean [ ] arg1 ) { FacilityManager. turnonexternallights ( ) ; } Wird nun ein DayLightEvent mit einem lux-wert von unter 50 an die Runtime der Engine (des DefaultProviders) gesendet, dem innerhalb von zehn Minuten kein neueres mit einem höherem lux-wert folgt, so feuert die Regel und die Außenbeleuchtung wird eingeschaltet: EPServiceProviderManager. g e t D e f a u l t P r o v i d e r ( ). getepruntime ( ). sendevent (new DayLightEvent (40) ) ; 10

11 Die zweite Regel erkennt das Betreten eines Raumes bei schwachem Tageslicht. Anschließend soll das Licht in diesem Raum angeschaltet werden: S t r i n g stmt = " select d. roomnumber from pattern [ every d= DoorEvent -> ( timer: interval(1 sec)) AND MovementEvent( roomnumber = d. roomnumber) AND NOT DayLightEvent( lux >50)] " ; EPStatement easyepstmt = EPServiceProviderManager. g e t D e f a u l t P r o v i d e r ( ). getepadministrator ( ). createepl ( stmt ) ; easyepstmt. addlistener (new LightsOnSubscriber ( ) ) ; Der zugehörige Subscriber holt sich aus den Parametern die zuvor ausgewählte Raumnummer und schaltet in diesem Raum das Licht p u b l i c void update ( EventBean [ ] arg0, EventBean [ ] arg1 ) { i n t roomno = ( i n t ) arg0 [ 0 ]. get ( "d.roomnumber" ) ; FacilityManager. turnonlights (roomno) ; } Sourcecode zum weiteren Verständnis der Regeln befindet sich auf der beiliegenden CD im Projekt Esper_Example. 2.2 Business Activity Monitoring (BAM) Was ist BAM? Der Begriff BAM (Business Activity Monitoring) wurde erstmals im Jahr 2002 von dem amerikanischen Forschungsinstitut Gartner Inc. eingeführt [4]. Er steht für die Überwachung von (Geschäfts-)Prozessen und Ressourcen in Echtzeit. Hierbei steht vor allem die Kontinuität im Vordergrund. Prozesse und Ressourcen sollten nach Möglichkeit rund um die Uhr (24/7) kontrolliert und die Verantwortlichen auf dem Laufenden gehalten werden. So ist es möglich, auf Unregelmäßigkeiten in Betriebs- und Prozessabläufen schnell zu reagieren. Dies führt zur Minderung von Risiken. Wird auf Abweichungen zu spät oder gar nicht reagiert, kann das gerade für kleinere Unternehmen teilweise fatale Folgen haben Key Performance Indicators (KPIs) BAM arbeitet mit Schlüsselwerten, den so genannten KPI s (Key Performance Indicator). Sie aggregieren wichtige Kennzahlen und geben somit Auskunft über die aktuelle Lage bzw. den Erfolg eines Unternehmens [5]. 11

12 2.2.3 BAM Dashboards Dashboards (engl. für Armaturenbrett, Instrumententafel) sind eine Realisierungsform von BAM. Hierbei werden die KPI s in verschiedenen Visualisierungsinstrumenten grafisch in Echtzeit dargestellt. So zeigen beispielsweise Tachometer aktuelle Werte numerischer Daten oder Tortendiagramme Häufigkeitsverteilungen bestimmter Sachverhalte an. Auf diese Weise können Abweichungen in Abläufen oder Veränderungen von Ressourcen schneller erkannt werden. Dies ermöglicht ein zeitnahes Handeln in kritischen Situationen und steigert somit die Produktivität BAM - Stand der Dinge Heutzutage ist BAM fester Bestandteil von vielen service-orientierten Architekturen (SOA). Auf diese Weise lassen sich sämtliche Aktivitäten, die sich innerhalb der SOA ereignen, visualisieren. Somit haben die Verantwortlichen rund um die Uhr sämtliche Prozesse im Blick. Die folgenden Abschnitte sollen die Integration von BAM -Komponenten in SOA s anhand von Oracle BAM und WSO2 BAM näher erläutern: Oracle BAM Oracle BAM ist ein Modul der Oracle SOA Suite 1. Hierbei handelt es sich um ein Framework, mit dessen Hilfe man verschiedenen Arten von Services, wie z. B. Web Services, individuell orchestrieren und verwalten kann [6]. Mithilfe der BAM -Komponente lassen sich nun sämtliche Aktivitäten, welche innerhalb der Suite auftreten, visualisieren. Dies können z. B. Aufrufe der einzelnen Services sein. Hierbei wird jede zu visualisierende Aktivität innerhalb der Komponente deklariert. Anschließend können die deklarierten Ereignisse über den Bus der Oracle SOA Suite an die BAM -Komponente gesendet, wo sie in passend eingerichteten Dashboards in Echtzeit visualisiert werden. Hierbei werden die Boards innerhalb entsprechender Web- Oberflächen konfiguriert. Ein mit Oracle BAM erstelltes Dashboard könnte in etwa wie folgt aussehen: 1 12

13 Abbildung 2.2: Oracle BAM Dashboard Beispiel [7] WSO2 BAM Im Gegensatz zu Oracle BAM handelt es sich hierbei um eine OpenSource Software der Firma WSO2 [8]. Der Server hierzu lässt sich gratis auf der Firmenhomepage herunterladen. Die Konfiguration erfolgt dabei ähnlich wie bei Oracle BAM in einem entsprechenden Webinterface oder wahlweise über die Konsole. Ein mit WSO2 BAM erstelltes Dashboard könnte in etwa wie folgt aussehen: Abbildung 2.3: WSO2 BAM Dashboard Beispiel [8] 13

14 3 Die Dashboard Suite (DBS) für CEP-Events Zusammenfassung: In diesem Kapitel wird die Dashboard Suite für CEP-Events konzipiert. Es werden sowohl funktionale als auch nicht funktionale Anforderungen beschrieben, welche es bei der Implementierung zu beachten gilt. Außerdem werden die Architektur und der Programmablauf näher erläutert. 3.1 Anforderungsanalyse Funktionale Anforderungen Engine- und Domänenunabhängigkeit Es soll eine Dashboard Suite entworfen werden, die von vielen verschiedenen CEP- Anwendungen mit unterschiedlichen Eventstrukturen zur Visualisierung ihrer Events verwendet werden kann. Folglich ist darauf zu achten, dass die Schnittstellen der Suite so generisch wie möglich gehalten werden. Einheitliche Eventstruktur Da jede CEP-Anwendung unterschiedliche Events (vgl. Abschnitt 2.1.2) aufweist, muss für die Suite eine einheitliche Eventstruktur geschaffen werden, mit der sie arbeiten kann. Sie bildet praktisch das Domänenmodell der Suite. Zusätzlich muss es für CEP-Anwendungen die Möglichkeit geben, eigene Events in Events dieser Struktur umzuwandeln. Hierbei handelt es sich praktisch um die KPI s im Sinne von BAM (vgl. Abschnitt 2.2.2) Verschiedene Visualisierungsinstrumente Die Suite soll verschiedene Visualisierungsinstumente (vgl. Abschnitt 2.2.3) für verschiedene Eventtypen (numerische, und nicht-numerische) anbieten. Wichtig ist hierbei auch, dass sich neue Instrumente ohne viel Aufwand in die Suite integrieren lassen. Konfiguration individueller Dashboards Es soll möglich sein, durch Auswahl der geeigneten Visualisierungsinstrumente mit möglichst wenig Programmieraufwand ein konkretes, domänenspezifisches Dashboard (vgl. Abschnitt 2.2.3) zu erstellen und individuell zu konfigurieren. 14

15 Nachweisbarkeit Zu Dokumentationszwecken soll die Möglichkeit bestehen, sowohl von den einzelnen Instrumenten als auch von dem gesamten Dashboard zu jeder Zeit Screenshots machen zu können. Diese sollen in einem vom Benutzer ausgewählten Verzeichnis mit entsprechender Beschriftung als jpg-datei automatisch abgespeichert werden. Ebenso soll es möglich sein, Screenshots von dem Board in vorgegebenen Zeitabständen automatisch erstellen zu lassen. Lose Kopplung Ein weiteres Ziel ist es, eine möglichst lose Kopplung zwischen Suite und CEP-Anwendung zu erreichen. Dazu soll als Middleware Java Messaging Service (JMS) eingesetzt werden, über den die CEP-Anwendungen Events an die Suite schicken sollen. Rücksetzmöglichkeiten Ferner soll man die Möglichkeit haben, das Dashboard im laufenden Betrieb zurück in seinen Ausgang- bzw. Startzustand zu setzen, ohne die Suite neu zu starten. Dies soll ebenfalls für einzelne Elemente möglich sein Nicht funktionale Anforderungen Erweiterbarkeit und Wartbarkeit Wie jedes andere Programm soll auch die Suite so entwickelt werden, dass sie leicht zu warten ist. Auch soll die Suite so gestaltet werden, dass sie jederzeit und ohne viel Aufwand erweitert werden kann. Hierfür werden alle implementierten Klassen und Methoden so generisch wie möglich gehalten. Fehlertoleranz Die Suite soll auf Fehlverhalten von Seiten des Benutzers entsprechend reagieren und ihn darüber informieren können. Aus diesem Grund wird eine eigene kleine Exceptionhierarchie für die Suite implementiert und ein provisorisches Exceptionhandling vorgenommen. 3.2 Design und Entwurf Physische und logische Architektur Die Dashboard Suite soll im Rahmen einer verteilten Anwendung laufen. Im Folgenden werden die einzelnen Komponenten näher erläutert. 15

16 Physische Architektur Eine CEP-Anwendung ist meistens so konzipiert, dass die eigentliche Engine auf einem zentralen Server läuft. Events aus den verschiedensten Quellen werden zu diesem geschickt, wo sie mithilfe der Regeln ausgewertet werden (vgl. Abschnitt 2.1). Um die aus der Anwendung resultierenden Events zu visualisieren, wird der Server um einen Client ergänzt, auf dem die Dashboard Suite, bzw. das konkrete, domänenspezifische Dashboard läuft. Diese beiden physikalischen Komponenten sollen über eine entsprechend eingerichtete Middleware kommunizieren, was zu einer losen Kopplung der beiden Komponenten führt (vgl. Abschnitt 3.1.1). Als Kommunikationsmechanismus wird hierfür der Nachrichtendienst JMS (Java Messaging Service) gewählt. Logische Architektur Logisch gesehen muss es auf dem Server neben der CEP-Engine und dem eigenen Eventmodel noch eine dritte Komponente geben; den SuiteConverter. Ihre Aufgabe besteht darin, die Events in Objekte des DBS Eventmodel umzuwandeln. Bei dieser Komponente handelt es sich um das Domänenmodell der Dashboard Suite (vgl. Abschnitt 3.1.1). Die Suite selbst, welche auf dem Client angesiedelt ist, soll über einen Controller gesteuert werden, der gleich zwei wichtige Aufgaben übernimmt: Zum einen wird über diesen ein konkretes Dashboard erzeugt. Hierfür fügt man beliebige Visualisierungsinstrumente (Components) hinzu und konfiguriert diese entsprechend. Zum anderen ist der Controller dafür da, die in einen EventConsumer via JMS eintreffende Objekte des DBS Eventmodel s entgegenzunehmen und an das konkrete Board weiterzuleiten. Die folgende Abbildung veranschaulicht sowohl die logische als auch die physische Architektur. Hierbei sind die grün eingefärbten Komponenten zu implementieren. Abbildung 3.1: Physische und logische Architektur der Suite 16

17 3.2.2 Programmablauf Um nun mithilfe der Dashboard Suite ein konkretes Board anzulegen, wird zunächst vom EventConsumer ein Objekt der Klasse Controller erzeugt. Über diesen lassen sich Visualisierungsinstrumente aus dem Package Components mit entsprechenden add(...)- Methoden verschiedene Instrumente dem Board hinzufügen. Hierbei wird für jedes Instrument eine id angegeben, über welche später die eingehende Events zugeordnet werden können. Der Controller initialisiert das entsprechende Instrument und speichert eine Referenz darauf in einer internen Liste ab. Nachdem das Board entsprechend konfiguriert und die gewünschten Instrumente hinzugefügt wurden, wird es durch einen Aufruf von start() gestartet. Nun ordnet der Controller durch den Aufruf der Methode setlayout() die ausgewählten Instrumente entsprechend an und das Board wird angezeigt. Geht nun ein CEP-Event aus der Engine hervor, welches es zu visualisieren gilt, wird dieses zuerst an den SuiteConverter geleitet. Hier erfolgt die Umwandlung in ein entsprechendes SuiteEvent mit einer entsprechenden id. Dieses kann per JMS an den Event- Consumer gesendet werden, welcher es mithilfe der Methode sendevent(...) an seinen Controller weiterleitet. Dieser gleicht die id des eintreffenden SuiteEvents mit den id s der Visualisierungsinstrumente in seiner Liste ab. Bei einer Übereinstimmung wird das SuiteEvent an über die Methode sendevent(...) an das Instrument gesendet. Dieses verarbeitet das empfangene Event entsprechend und ruft dann repaint() auf. Das folgende Sequenzdiagramm stellt die beiden Abläufe (Anlegen des Dashboards und Senden eines Events) noch einmal dar. Abbildung 3.2: Programmablauf 17

18 4 Implementierung der Suite Zusammenfassung: Dieses Kapitel beschäftigt sich mit der konkreten Realisierung bzw. Implementierung der Suite, welche in dem vorherigen Kapitel konzipiert wurde. Hierbei werden alle wichtigen Klassen näher erläutert und mit kurzen Codebeispielen und ggf. Grafiken ergänzt. 4.1 Die Bibliothek JFreeChart Um Visualisierungsinstrumente im Sinne von BAM (vgl. Abschnitt 2.2) zu realisieren, muss das Rad nicht neu erfunden werden. Hierfür existieren bereits zahlreiche Bibliotheken im Internet, sogenannte Java Chart Libraries, welche die entsprechenden Elemente beinhalten. Dazu zählen z. B. JFreeChart 1, charts4j 2 oder JasperReports 3. Die Entscheidung fiel aufgrund der guten Dokumentation [10] und zahlreicher Codebeispiele im Internet auf JFreeChart [9]. Hierbei handelt es sich eine OpenSource-Bibliothek, welche viele diverse Visualisierungselemente zur Verfügung stellt: Von einfachen Tachometern über Balken- und Tortendiagrammen bis hin zu komplexen Mischformen aus verschiedenen Diagrammtypen lässt sich mit dieser API sehr viel erstellen (vgl. Abbildung 4.1) Abbildung 4.1: JFreeChart Beispieldiagramme [9] 18

19 Dabei ist die Vorgehensweise immer ähnlich: Zuerst erstellt man sich ein Dataset, welches die ganzen Daten beinhalten wird, die es zu visualisieren gilt. Anschließend erzeugt man sich das gewünschte Diagramm mithilfe der Klasse ChartFactory, welche die entsprechenden statischen Methoden bereitstellt. Als Parameter wird hierbei unter anderem das erzeugte Dataset übergeben. Das Diagramm, welches man zurückbekommt, lässt sich noch vielseitig verändern. Die auf diese Weise erstellten Diagramme lassen sich leicht in Swing-Umgebungen einbinden, was JFreeChart außerdem als passende Bibliothek für die Suite auszeichnet. 4.2 Die Packages Die folgenden Abschnitte beschäftigen sich mit den in Kapitel 3.2 vorgestellten Komponenten. Hierbei stehen die Packages de.dbs.eventmodel, de.dbs.gui.components sowie de.dbs.gui.controller im Vordergrund de.dbs.eventmodel Dieses Package beinhaltet die Eventstruktur mit welcher die Suite arbeiten kann. Es ist praktisch das Domänenmodell der Anwendung und befindet sich in einem separaten Java-Projekt. Die Suite und CEP-Anwendungen, welche ihre Events in der Suite anzeigen lassen wollen, verweisen auf dieses Projekt. Im Sinne von BAM handelt es sich hierbei um die Klassen, welche die KPI s (vgl. Abschnitt 2.2.2) repräsentieren. Hierbei erbt jeder Typ von der abstrakten Klasse SuiteEvent im Vordergrund. Sie bildet die Grundlage jeder weiteren Eventklasse und implementiert das Interface java. io.serializable, damit die Events auch mithilfe von JMS versendet werden können. Mithilfe des folgenden Konstruktors wird sie von jeder Unterklasse aus aufgerufen: p u b l i c SuiteEvent ( S t r i n g id, long timestamp ) {... } ; Der Parameter id ist sehr wichtig. Über diesen lassen sich die Events später den einzelnen Anzeigeelementen zuordnen. Ist dieser Parameter nicht gesetzt, so ist keine Zuordnung möglich. Natürlich benötigt auch jedes Event einen timestamp, der Auskunft über den Zeitpunkt des Auftretens gibt. Für den Zweck dieser Arbeit wurden folgende Eventtypen erstellt: Die Klasse SimpleNumericValueEvent enthält ein einfaches Schlüssel-Wert-Paar, welches durch einen String und ein double-wert repräsentiert wird. Gleich mehrere Schlüssel-Wert-Paare enthält die Klasse MultipleNumericEvent. Diese werden hierbei in einer Map<String, Double> gespeichert. 19

20 Für eine Tabelle wurde die Klasse SimpleTableEvent erstellt, welche ein Array des Typs String enthält. Die Länge dieses Arrays sollte der Anzahl der Tabellenspalten gleichen. Für eine einfache Ausgabe, z. B.: in einer Liste, gibt es den Eventtyp Simple- StringEvent, der nur einen String enthält. Das Besondere an dieser Klasse ist die Methode tostring(); diese wurde implementiert, dass sie den timestamp in einem für den Menschen gut lesbaren Format ausgibt. Des weiteren beinhaltet das Package das Interface SuiteConverter, welches die folgende Methode zur Verfügung stellt: p u b l i c List <SuiteEvent> convert ( Object o ) ; Mithilfe dieses Interfaces können CEP-Projekte, welchen das Package de.dbs.events bekannt ist, Ereignisse aus ihrem eigenen Ereignismodell in entsprechende Objekte des Typs SuiteEvent umwandeln, so dass sie von den entsprechenden Elementen der Suite verarbeitet bzw. angezeigt werden können. Das folgende Klassendiagramm veranschaulicht noch einmal den Aufbau des Packages: Abbildung 4.2: Klassendiagram de.dbs.eventmodel de.dbs.gui.components Das Package de.dbs.gui.components beinhaltet alle Anzeigeelemente, die für ein konkretes Dashboard zur Verfügung stehen. 20

21 Hierbei steht die abstrakte Klasse SuitePanel im Vordergrund, welche von javax. swing.jpanel erbt. Alle anderen Elemente müssen von dieser Klasse ableiten und deren Konstruktor aufrufen: p u b l i c SuitePanel ( S t r i n g id, S t r i n g category, S t r i n g name) {... } ; Der Parameter id dient der Zuordnung der Events auf die verschiedenen Panels (vgl. Abschnitt 4.2.1). Mithilfe des Parameters category können Elemente, die den gleichen Kontext betreffen, später im Dashboard entsprechend gruppiert werden. Der Parameter name dient primär der Beschriftung der Panels, kann aber ebenfalls für die Anordnung im Dashboard verwendet werden. Darüber hinaus stellt die Klasse den konkreten Elementen zwei abstrakte Methoden zur Verfügung, welche von ihnen implementiert werden müssen: p u b l i c a b s t r a c t void sendevent ( SuiteEvent event ) ; p u b l i c a b s t r a c t void cleardata ( ) ; Mithilfe der Methode sendevent(...) können Objekte vom Typ SuiteEvent an das Panel gesendet werden. Diese werden dann entsprechend gecastet und visualisiert. Die Methode cleardata() löscht alle bereits eingetroffenen Events aus dem Panel und versetzt es so in seinen Ausgangszustand zurück. Des weiteren werden noch zwei Buttons in jedes Panel eingefügt; ein Button zum Erstellen eines Screenshots des aktuellen Panels und ein Button zum Löschen der Daten (cleardata() wird aufgerufen). Im Folgenden werden die konkreten Anzeigeelemente aufgezählt anhand kurzer Beispiele veranschaulicht. SuiteTacho Diese Klasse stellt einen einfachen Tachometer dar, welcher in keinem guten Dashboard fehlen darf. Er zeigt jeweils den aktuellen Wert eines einfachen numerischen Events an. Die Klasse SuiteTacho wird mithilfe des folgenden Konstruktors initialisiert: p u b l i c SuiteTacho ( S t r i n g id, S t r i n g category, S t r i n g name, Dimension d, S t r i n g unit, double min, double max, Color [ ] c o l o r s ) {... } ; Mit den Parametern id, category und name wird der Konstruktor der Superklasse SuitePanel aufgerufen. 21

Event Stream Processing & Complex Event Processing. Dirk Bade

Event Stream Processing & Complex Event Processing. Dirk Bade Event Stream Processing & Complex Event Processing Dirk Bade Die Folien sind angelehnt an eine Präsentation der Orientation in Objects GmbH, 2009 Motivation Business Activity Monitoring Sammlung, Analyse

Mehr

Complex Event Processing. Sebastian Schmidbauer 18.01.2011

Complex Event Processing. Sebastian Schmidbauer 18.01.2011 Complex Event Processing Sebastian Schmidbauer 18.01.2011 Cirquent im Profil Zahlen Kompetenzen 350 300 250 200 150 100 50 0 1748 1747 1722 1515 1041 1180 286 266 247 260 165 139 2003 2004 2005 2006 2007

Mehr

Projekt AGB-10 Fremdprojektanalyse

Projekt AGB-10 Fremdprojektanalyse Projekt AGB-10 Fremdprojektanalyse 17. Mai 2010 1 Inhaltsverzeichnis 1 Allgemeines 3 2 Produktübersicht 3 3 Grundsätzliche Struktur und Entwurfsprinzipien für das Gesamtsystem 3 3.1 Die Prefuse Library...............................

Mehr

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden. Grundwissen Informatik Objekt Attribut Methoden Als Objekte bezeichnet man alle Gegenstände, Dinge, Lebewesen, Begriffe oder Strukturen unserer Welt ( Autos, Räume, Bakterien, Lehrer, Schüler, Kunden,

Mehr

Whitepaper 428-01 VCI - Virtual CAN Interface Einbindung in LabWindows/CVI

Whitepaper 428-01 VCI - Virtual CAN Interface Einbindung in LabWindows/CVI Whitepaper 428-01 VCI - Virtual CAN Interface Einbindung in LabWindows/CVI The expert for industrial and automotive communication IXXAT Hauptsitz Geschäftsbereich USA IXXAT Automation GmbH IXXAT Inc. Leibnizstr.

Mehr

Bedienung von BlueJ. Klassenanzeige

Bedienung von BlueJ. Klassenanzeige Im Folgenden werden wichtige Funktionen für den Einsatz von BlueJ im Unterricht beschrieben. Hierbei wird auf den Umgang mit Projekten, Klassen und Objekten eingegangen. Abgeschlossen wird dieses Dokument

Mehr

Fakultät Angewandte Informatik Programmierung verteilter Systeme 28.11.2011. Übungen zur Vorlesung Informatik II, Blatt 6

Fakultät Angewandte Informatik Programmierung verteilter Systeme 28.11.2011. Übungen zur Vorlesung Informatik II, Blatt 6 WS 2011/12 Fakultät Angewandte Informatik Programmierung verteilter Systeme 28.11.2011 Prof. Dr. Bernhard Bauer Übungen zur Vorlesung Informatik II, Blatt 6 Abgabe: Montag, 05.12.2011, 12.00 Uhr, Informatik

Mehr

Complex Event Processing für intelligente mobile M2M- Kommunikation

Complex Event Processing für intelligente mobile M2M- Kommunikation Complex Event Processing für intelligente mobile 2- Kommunikation Hochschule Hannover arcel etzdorf, Prof. Dr. Ralf Bruns, Prof. Dr. Jürgen Dunkel, Henrik asbruch Inside 2 Ilja Hellwich, Sven Kasten 2

Mehr

Dokumentation zur Anlage eines JDBC Senders

Dokumentation zur Anlage eines JDBC Senders Dokumentation zur Anlage eines JDBC Senders Mithilfe des JDBC Senders ist es möglich auf eine Datenbank zuzugreifen und mit reiner Query Datensätze auszulesen. Diese können anschließend beispielsweise

Mehr

Dokumentation QuickHMI-Schnittstelle für Oracle Datenbanken

Dokumentation QuickHMI-Schnittstelle für Oracle Datenbanken Dokumentation QuickHMI-Schnittstelle für Oracle Datenbanken Version 2.0 D-28359 Bremen info@indi-systems.de Tel + 49 421-989703-30 Fax + 49 421-989703-39 Inhaltsverzeichnis Was ist die QuickHMI-Schnittstelle

Mehr

Software-Projekt: Mensch ärgere Dich nicht. Dokumentation Softwareprojekt: Mensch ärgere Dich nicht

Software-Projekt: Mensch ärgere Dich nicht. Dokumentation Softwareprojekt: Mensch ärgere Dich nicht Dokumentation Softwareprojekt: Mensch ärgere Dich nicht Das Programm Mensch ärgere Dich nicht ermöglicht das Spielen des gleichnamigen Spieles über Netzwerke. Jeder Spieler verfügt dabei über einen Clienten,

Mehr

Flexibilität im Prozess mit Oracle Business Rules 11g

Flexibilität im Prozess mit Oracle Business Rules 11g Flexibilität im Prozess mit Oracle Business Rules 11g Michael Stapf ORACLE Deutschland GmbH Frankfurt Schlüsselworte: Geschäftsregeln, Business Rules, Rules Engine, BPEL Process Manager, SOA Suite 11g,

Mehr

ANDROID. Analyse der Android Plattform. Andre Rein, Johannes Florian Tietje. 28. Oktober 2010. FH-Gieÿen-Friedberg Android Praktikum

ANDROID. Analyse der Android Plattform. Andre Rein, Johannes Florian Tietje. 28. Oktober 2010. FH-Gieÿen-Friedberg Android Praktikum Analyse der Android Plattform Andre Rein, Johannes Florian Tietje FH-Gieÿen-Friedberg Android Praktikum 28. Oktober 2010 Topics 1 Übersicht Android Plattform Application Framework Activities und Services

Mehr

Form Designer. Leitfaden

Form Designer. Leitfaden Leitfaden Copyright Die hier enthaltenen Angaben und Daten können ohne vorherige Ankündigung geändert werden. Die in den Beispielen verwendeten Namen und Daten sind frei erfunden, soweit nichts anderes

Mehr

INFORMATION MONITOR HSM SOFTWARE GMBH CLIENT-INSTALLATION

INFORMATION MONITOR HSM SOFTWARE GMBH CLIENT-INSTALLATION INFORMATION MONITOR HSM SOFTWARE GMBH CLIENT-INSTALLATION Allgemein Infomon bietet die Architektur für das Informations-Monitoring in einer Windows- Topologie. Die Serverfunktionalität wird in einer IIS-Umgebung

Mehr

Spezifikationen und Voraussetzung

Spezifikationen und Voraussetzung Projekt IGH DataExpert Yellowbill Adapter Spezifikationen Voraussetzungen Datum : 22.08.2013 Version : 1.0.0.2 22.08.2013 Seite 1 von 7 Inhaltsverzeichnis 1 Einleitung...3 2 Architektur...3 2.1 Grundsätze

Mehr

Innovator 11 classix. Java Reverse Engineering. HowTo. Ralph Schönleber. www.mid.de

Innovator 11 classix. Java Reverse Engineering. HowTo. Ralph Schönleber. www.mid.de Innovator 11 classix Java Reverse Engineering Ralph Schönleber HowTo www.mid.de Mit Innovator Java Reverse Engineering durchführen Inhaltsverzeichnis Voraussetzungen... 2 Java Reverse Engineering... 2

Mehr

Dokumentation zum Projekt Mail-Adapter in SAP PI. 17.01.2011 Sinkwitz, Sven 519707 Theel, Thomas 519696

Dokumentation zum Projekt Mail-Adapter in SAP PI. 17.01.2011 Sinkwitz, Sven 519707 Theel, Thomas 519696 Dokumentation zum Projekt Mail-Adapter in SAP PI 17.01.2011 Sinkwitz, Sven 519707 Theel, Thomas 519696 Inhalt 1. Einleitung... 2 2. Vorgehen... 3 1. Datentyp für die Mail einrichten... 3 2. Message Typen

Mehr

Spezifikationen und Voraussetzung

Spezifikationen und Voraussetzung Projekt IGH DataExpert Paynet Adapter Spezifikationen Voraussetzungen Datum : 21.07.08 Version : 1.0.0.2 21.07.2008 Seite 1 von 7 Inhaltsverzeichnis 1 Einleitung... 3 2 Architektur... 3 2.1 Grundsätze

Mehr

Ereignisbehandlung 21

Ereignisbehandlung 21 Ereignisbehandlung 21 3 Ereignisbehandlung Dieses Kapitel beschäftigt sich mit der Ereignisbehandlung, d.h. der Reaktion eines Programms auf Eingaben durch benutzende Personen. Nach einigen ersten Beispielen

Mehr

Zeiterfassungsanlage Handbuch

Zeiterfassungsanlage Handbuch Zeiterfassungsanlage Handbuch Inhalt In diesem Handbuch werden Sie die Zeiterfassungsanlage kennen sowie verstehen lernen. Es wird beschrieben wie Sie die Anlage einstellen können und wie das Überwachungsprogramm

Mehr

Zeiterfassung-Konnektor Handbuch

Zeiterfassung-Konnektor Handbuch Zeiterfassung-Konnektor Handbuch Inhalt In diesem Handbuch werden Sie den Konnektor kennen sowie verstehen lernen. Es wird beschrieben wie Sie den Konnektor einstellen und wie das System funktioniert,

Mehr

DRESDEN, 08.10.2009 CHRISTIAN.KNAUER@INF.TU-DRESEDEN.DE

DRESDEN, 08.10.2009 CHRISTIAN.KNAUER@INF.TU-DRESEDEN.DE DOKUMENTATION MAAS - MONITORING AS A SERVICE DRESDEN, 08.10.2009 CHRISTIAN.KNAUER@INF.TU-DRESEDEN.DE Dokumentation MaaS - Monitoring as a Service Inhalt 1. MaaS - Monitoring as Service... 3 1.1 Einleitung...

Mehr

Technische Beschreibung: EPOD Server

Technische Beschreibung: EPOD Server EPOD Encrypted Private Online Disc Technische Beschreibung: EPOD Server Fördergeber Förderprogramm Fördernehmer Projektleitung Projekt Metadaten Internet Foundation Austria netidee JKU Linz Institut für

Mehr

Software Engineering II

Software Engineering II Software Engineering II Codegenerierung für den SmartIO Editor mit der Modeling Workflow Engine Wintersemester 10/111 Fachgebiet Software Engineering Albert Zündorf / Wiederholung Bisher im Laufe des Semesters

Mehr

Installation SQL- Server 2012 Single Node

Installation SQL- Server 2012 Single Node Installation SQL- Server 2012 Single Node Dies ist eine Installationsanleitung für den neuen SQL Server 2012. Es beschreibt eine Single Node Installation auf einem virtuellen Windows Server 2008 R2 mit

Mehr

Handbuch Groupware - Mailserver

Handbuch Groupware - Mailserver Handbuch Inhaltsverzeichnis 1. Einführung...3 2. Ordnerliste...3 2.1 E-Mail...3 2.2 Kalender...3 2.3 Kontakte...3 2.4 Dokumente...3 2.5 Aufgaben...3 2.6 Notizen...3 2.7 Gelöschte Objekte...3 3. Menüleiste...4

Mehr

Kurzbeschreibung PC-Software für das Gerät URO-2050

Kurzbeschreibung PC-Software für das Gerät URO-2050 Kurzbeschreibung PC-Software für das Gerät URO-2050 1 Einleitung 1.1 Allgemeines Das Programm kann zum Verwalten der durchgeführten Untersuchungen mit dem Gerät URO-2050 benutzt werden. Es funktioniert

Mehr

Outlook Web App 2010. Kurzanleitung. interner OWA-Zugang

Outlook Web App 2010. Kurzanleitung. interner OWA-Zugang interner OWA-Zugang Neu-Isenburg,08.06.2012 Seite 2 von 15 Inhalt 1 Einleitung 3 2 Anmelden bei Outlook Web App 2010 3 3 Benutzeroberfläche 4 3.1 Hilfreiche Tipps 4 4 OWA-Funktionen 6 4.1 neue E-Mail 6

Mehr

Software Engineering Analyse und Analysemuster

Software Engineering Analyse und Analysemuster Software Engineering Analyse und Analysemuster Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Klassendiagramme in der Analyse Im Rahmen der Anforderungsanalyse

Mehr

Projektbericht Gruppe 12. Datenbanksysteme WS 05/ 06. Gruppe 12. Martin Tintel Tatjana Triebl. Seite 1 von 11

Projektbericht Gruppe 12. Datenbanksysteme WS 05/ 06. Gruppe 12. Martin Tintel Tatjana Triebl. Seite 1 von 11 Datenbanksysteme WS 05/ 06 Gruppe 12 Martin Tintel Tatjana Triebl Seite 1 von 11 Inhaltsverzeichnis Inhaltsverzeichnis... 2 1. Einleitung... 3 2. Datenbanken... 4 2.1. Oracle... 4 2.2. MySQL... 5 2.3 MS

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung Kapitel 6 Vererbung Vererbung 1 Ziele Das Vererbungsprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen

Mehr

PADS 3.0 Viewer - Konfigurationen

PADS 3.0 Viewer - Konfigurationen PADS 3.0 Viewer - Konfigurationen Net Display Systems (Deutschland) GmbH - Am Neuenhof 4-40629 Düsseldorf Telefon: +49 211 9293915 - Telefax: +49 211 9293916 www.fids.de - email: info@fids.de Übersicht

Mehr

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Prof. Dr. Wilhelm Schäfer Paderborn, 15. Dezember 2014 Christian Brenner Tristan Wittgen Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Aufgabe 1 Codegenerierung

Mehr

Excel 2010. für Windows ISBN 978-3-86249-060-8. Peter Wies 1. Ausgabe, 11. Aktualisierung, November 2013. Grundlagen

Excel 2010. für Windows ISBN 978-3-86249-060-8. Peter Wies 1. Ausgabe, 11. Aktualisierung, November 2013. Grundlagen Peter Wies 1. Ausgabe, 11. Aktualisierung, November 2013 Excel 2010 für Windows Grundlagen ISBN 978-3-86249-060-8 EX2010 10 Excel 2010 - Grundlagen 10 Diagramme erstellen und schnell gestalten In diesem

Mehr

INFORMATION MONITOR HSM SOFTWARE GMBH SERVER-INSTALLATION

INFORMATION MONITOR HSM SOFTWARE GMBH SERVER-INSTALLATION INFORMATION MONITOR HSM SOFTWARE GMBH SERVER-INSTALLATION Lizenzvereinbarung Infomon Server-Installation Lesen Sie vorab die Lizenzvereinbarung, die in der Datei Lizenzvereinbarung.doc beschrieben ist.

Mehr

Das Studiengangsinformationssystem (SGIS)

Das Studiengangsinformationssystem (SGIS) Das Studiengangsinformationssystem (SGIS) Manual für Typo3-Redakteure Version 1.a Mai 2015 Kontakt: Referat 1.4 - Allgemeine Studienberatung und Career Service Christian Birringer, christian.birringer@uni-rostock.de

Mehr

Anleitung Version 1.1 Deutsch

Anleitung Version 1.1 Deutsch Anleitung Version 1.1 Deutsch Voraussetzungen, Mindestanforderungen Microsoft Windows Vista, Win7, Win8 Installiertes Framework 4.5 (in Win7 und Win8 bereits enthalten) MySQL Server (Setup unter Windows

Mehr

7.11 Besprechungen planen und organisieren

7.11 Besprechungen planen und organisieren 7. Effektive Zeitplanung und Organisation von Aufgaben 7.11 Besprechungen planen und organisieren Wie bereits zu Beginn des Kapitels erwähnt, nehmen im Gegensatz zu einem normalen Termin mehrere Teilnehmer

Mehr

Datenbanken für Online Untersuchungen

Datenbanken für Online Untersuchungen Datenbanken für Online Untersuchungen Im vorliegenden Text wird die Verwendung einer MySQL Datenbank für Online Untersuchungen beschrieben. Es wird davon ausgegangen, dass die Untersuchung aus mehreren

Mehr

Modbus-Master-Treiber

Modbus-Master-Treiber Modbus-Master-Treiber 1. Einleitung MODBUS ist ein offenes serielles Kommunikationsprotokoll, das auf einer Master/Slave Architektur basiert. Dabei greift der MODBUS-Master (Touch Panel PC) auf die fest

Mehr

Vgl. Oestereich Kap 2.7 Seiten 134-147

Vgl. Oestereich Kap 2.7 Seiten 134-147 Vgl. Oestereich Kap 2.7 Seiten 134-147 1 Sequenzdiagramme beschreiben die Kommunikation/Interaktion zwischen den Objekten (bzw. verschiedenen Rollen) eines Szenarios. Es wird beschrieben, welche Objekte

Mehr

Architekturbeschreibung Koala Editor

Architekturbeschreibung Koala Editor Architekturbeschreibung Koala Editor Package: de.hsos.koala Enthält die Main Klasse. Klasse: Main Wird beim Start des Programms ausgeführt und öffnet ein neues Editor-Fenster. Package: de.hsos.koala.actions

Mehr

Whitepaper. Produkt: address manager 2003. David XL Tobit InfoCenter AddIn für den address manager email Zuordnung

Whitepaper. Produkt: address manager 2003. David XL Tobit InfoCenter AddIn für den address manager email Zuordnung combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: address manager 2003 David XL Tobit InfoCenter AddIn für den address manager email Zuordnung David XL Tobit InfoCenter AddIn für den address

Mehr

Erweiterung für Premium Auszeichnung

Erweiterung für Premium Auszeichnung Anforderungen Beliebige Inhalte sollen im System als Premium Inhalt gekennzeichnet werden können Premium Inhalte sollen weiterhin für unberechtigte Benutzer sichtbar sein, allerdings nur ein bestimmter

Mehr

Hochschule Karlsruhe Technik und Wirtschaft- 10.7.2013. Anhänge: Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Prof. Schmidt.

Hochschule Karlsruhe Technik und Wirtschaft- 10.7.2013. Anhänge: Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Prof. Schmidt. Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Datenbanken und Informationssysteme II Szenario: Projektverwaltung. Es gibt Projekte, Projektleiter, Mitarbeiter und ihre Zuordnung zu Projekten.

Mehr

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 17: 3-Schichten-Architektur 2

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 17: 3-Schichten-Architektur 2 Universität Osnabrück 1 3 - Objektorientierte Programmierung in Java Zur Erinnerung: Aufteilung der Schichten GUI Vorlesung 17: 3-Schichten-Architektur 2 Fachkonzept Fachkonzept - Datenhaltung Datenhaltung

Mehr

So importieren Sie einen KPI mithilfe des Assistenten zum Erstellen einer Scorecard

So importieren Sie einen KPI mithilfe des Assistenten zum Erstellen einer Scorecard 1 von 6 102013 18:09 SharePoint 2013 Veröffentlicht: 16.07.2012 Zusammenfassung: Hier erfahren Sie, wie Sie einen KPI (Key Performance Indicator) mithilfe des PerformancePoint Dashboard Designer in SharePoint

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

Mehr

Software Engineering Klassendiagramme Assoziationen

Software Engineering Klassendiagramme Assoziationen Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen

Mehr

Dokumentation IBIS Monitor

Dokumentation IBIS Monitor Dokumentation IBIS Monitor Seite 1 von 16 11.01.06 Inhaltsverzeichnis 1. Allgemein 2. Installation und Programm starten 3. Programmkonfiguration 4. Aufzeichnung 4.1 Aufzeichnung mitschneiden 4.1.1 Inhalt

Mehr

Securepoint Security Systems

Securepoint Security Systems HowTo: Virtuelle Maschine in VMware für eine Securepoint Firewall einrichten Securepoint Security Systems Version 2007nx Release 3 Inhalt 1 VMware Server Console installieren... 4 2 VMware Server Console

Mehr

Datenbanken. Ein DBS besteht aus zwei Teilen:

Datenbanken. Ein DBS besteht aus zwei Teilen: Datenbanken Wikipedia gibt unter http://de.wikipedia.org/wiki/datenbank einen kompakten Einblick in die Welt der Datenbanken, Datenbanksysteme, Datenbankmanagementsysteme & Co: Ein Datenbanksystem (DBS)

Mehr

Kontextdiagramm Erstellen von Kontextdiagrammen mit TopEase

Kontextdiagramm Erstellen von Kontextdiagrammen mit TopEase Kontextdiagramm Erstellen von Kontextdiagrammen mit TopEase Version Control: Version Status Datum / Kurzzeichen 1.0 Begründung Copyright: This document is the property of Business-DNA Solutions GmbH, Switzerland.

Mehr

MSXFORUM - Exchange Server 2003 > Konfiguration IMF2 "Intelligent Message Fi...

MSXFORUM - Exchange Server 2003 > Konfiguration IMF2 Intelligent Message Fi... Page 1 of 7 Konfiguration IMF2 "Intelligent Message Filter 2" Kategorie : Exchange Server 2003 Veröffentlicht von webmaster am 06.03.2006 Der Intelligent Message Filter 2 ist eine Weiterentwicklung des

Mehr

2. Sie sind der Administrator Ihres Netzwerks, das den SBS 2011 Standard ausführt.

2. Sie sind der Administrator Ihres Netzwerks, das den SBS 2011 Standard ausführt. Arbeitsblätter Der Windows Small Business Server 2011 MCTS Trainer Vorbereitung zur MCTS Prüfung 70 169 Aufgaben Kapitel 1 1. Sie sind der Administrator Ihres Netzwerks, das den SBS 2011 Standard ausführt.

Mehr

SQL structured query language

SQL structured query language Umfangreiche Datenmengen werden üblicherweise in relationalen Datenbank-Systemen (RDBMS) gespeichert Logische Struktur der Datenbank wird mittels Entity/Realtionship-Diagrammen dargestellt structured query

Mehr

Technische Dokumentation SEPPmail Outlook Add-In v1.5.3

Technische Dokumentation SEPPmail Outlook Add-In v1.5.3 Technische Dokumentation SEPPmail Outlook Add-In v1.5.3 In diesem Dokument wird dargelegt, wie das SEPPmail Outlook Add-in funktioniert, und welche Einstellungen vorgenommen werden können. Seite 2 Inhalt

Mehr

Howto. Konfiguration eines Adobe Document Services

Howto. Konfiguration eines Adobe Document Services Howto Konfiguration eines Adobe Document Services (ADS) Inhaltsverzeichnis: 1 SYSTEMUMGEBUNG... 3 2 TECHNISCHE VERBINDUNGEN ZWISCHEN DEN SYSTEMEN... 3 2.1 PDF BASIERENDE FORMULARE IN DER ABAP UMGEBUNG...

Mehr

Programmierung eines NewsTickers in Java

Programmierung eines NewsTickers in Java Programmierung eines NewsTickers in Java ( & ) Projektarbeit Programmiertechnik:Java NTA FH Isny 12. Info David Mayr / Andreas Krug Seite 1 von 7 ::: David Mayr / Andreas Krug [ 12. Info NTA FH Isny ]

Mehr

Software Engineering Klassendiagramme Einführung

Software Engineering Klassendiagramme Einführung Software Engineering Klassendiagramme Einführung Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Aufgabe Erstellen Sie eine Klasse Person in Java. Jede Person verfügt

Mehr

Aufbau einer Testumgebung mit VMware Server

Aufbau einer Testumgebung mit VMware Server Aufbau einer Testumgebung mit VMware Server 1. Download des kostenlosen VMware Servers / Registrierung... 2 2. Installation der Software... 2 2.1 VMware Server Windows client package... 3 3. Einrichten

Mehr

Übung 1 mit C# 6.0 MATTHIAS RONCORONI

Übung 1 mit C# 6.0 MATTHIAS RONCORONI Übung 1 mit C# 6.0 MATTHIAS RONCORONI Inhalt 2 1. Überblick über C# 2. Lösung der Übung 1 3. Code 4. Demo C# allgemein 3 aktuell: C# 6.0 mit.net-framework 4.6: Multiparadigmatisch (Strukturiert, Objektorientiert,

Mehr

Betreutes Programmieren Vorlesung Informatik II, Blatt 7 Musterlösung

Betreutes Programmieren Vorlesung Informatik II, Blatt 7 Musterlösung SS 2011 Fakultät für Angewandte Informatik Lehrprofessur für Informatik 15.06.2011 Prof. Dr. Robert Lorenz Betreutes Programmieren Vorlesung Informatik II, Blatt 7 Musterlösung Programmieraufwand für geübte

Mehr

Kapitel 33. Der xml-datentyp. In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023

Kapitel 33. Der xml-datentyp. In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023 Kapitel 33 Der xml-datentyp In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023 995 996 Kapitel 33: Der xml-datentyp Eine der wichtigsten

Mehr

1 Polymorphie (Vielgestaltigkeit)

1 Polymorphie (Vielgestaltigkeit) 1 Polymorphie (Vielgestaltigkeit) Problem: Unsere Datenstrukturen List, Stack und Queue können einzig und allein int-werte aufnehmen. Wollen wir String-Objekte, andere Arten von Zahlen oder andere Objekttypen

Mehr

Whitepaper. Produkt: combit Relationship Manager & factura manager 6. Anbindung an den factura manager. combit GmbH Untere Laube 30 78462 Konstanz

Whitepaper. Produkt: combit Relationship Manager & factura manager 6. Anbindung an den factura manager. combit GmbH Untere Laube 30 78462 Konstanz combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager & factura manager 6 Anbindung an den factura manager Anbindung an den factura manager - 2 - Inhalt Einleitung

Mehr

4 Vererbung, Polymorphie

4 Vererbung, Polymorphie 4 Vererbung, Polymorphie Jörn Loviscach Versionsstand: 21. März 2014, 22:57 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen beim Ansehen der Videos: http://www.j3l7h.de/videos.html This work

Mehr

Whitepaper. Produkt: address manager 2003. Outlook AddIn für den address manager email Zuordnung. combit GmbH Untere Laube 30 78462 Konstanz

Whitepaper. Produkt: address manager 2003. Outlook AddIn für den address manager email Zuordnung. combit GmbH Untere Laube 30 78462 Konstanz combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: address manager 2003 Outlook AddIn für den address manager email Zuordnung Outlook AddIn für den address manager email Zuordnung - 2 - Inhalt

Mehr

JobServer Installationsanleitung 08.05.2013

JobServer Installationsanleitung 08.05.2013 JobServer sanleitung 08.05.2013 Der JobServer ist ein WCF Dienst zum Hosten von Workflow Prozessen auf Basis der Windows Workflow Foundation. Für die wird das Microsoft.NET Framework 3.5 und 4.0 vorausgesetzt.

Mehr

Einführung in QtiPlot

Einführung in QtiPlot HUWagner und Julia Bek Einführung in QtiPlot 1/11 Einführung in QtiPlot Mit Bezug auf das Liebig-Lab Praktikum an der Ludwig-Maximilians-Universität München Bei Fragen und Fehlern: jubech@cup.lmu.de Inhaltsverzeichnis

Mehr

Error-Hospital für Oracle SOA Suite

Error-Hospital für Oracle SOA Suite Error-Hospital für Oracle SOA Suite Markus Lohn esentri AG Ettlingen Schlüsselworte Fusion Middleware, SOA, SOA Suite Einleitung Die Entwicklung von Services mit der SOA Suite erfolgt überwiegend deklarativ

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

Mehr

Abb. 1: Schematische Architektur WebLogic-Server

Abb. 1: Schematische Architektur WebLogic-Server Forms 11g im Weblogic-Server Vertrautes in neuem Gewand Stephan La Rocca TEAM GmbH Paderborn Schlüsselworte: Oracle Weblogic Server, Forms 11g, Administration, Konfiguration, New Features. Einleitung Mit

Mehr

Autor: Tobias Riedner

Autor: Tobias Riedner Bewertung des Funktionsumfangs für die semantischen Layer des HICHERT IBCS-zertifizierten Software-Produkts SAP BusinessObjects Design Studio mit graphomate charts Autor: Tobias Riedner Im Folgenden wird

Mehr

Datenbanken & Informationssysteme Übungen Teil 1

Datenbanken & Informationssysteme Übungen Teil 1 Programmierung von Datenbankzugriffen 1. Daten lesen mit JDBC Schreiben Sie eine Java-Anwendung, die die Tabelle Books in der Datenbank azamon ausgibt. Verwenden Sie dabei die SQL-Anweisung select * from

Mehr

Online Help StruxureWare Data Center Expert

Online Help StruxureWare Data Center Expert Online Help StruxureWare Data Center Expert Version 7.2.7 Virtuelle StruxureWare Data Center Expert-Appliance Der StruxureWare Data Center Expert-7.2-Server ist als virtuelle Appliance verfügbar, die auf

Mehr

Erste Schritte mit Elvis 3 ein Beispielprojekt

Erste Schritte mit Elvis 3 ein Beispielprojekt Erste Schritte mit Elvis 3 ein Beispielprojekt Um Sie mit Elvis 3 vertraut zu machen möchten wir mit Ihnen mit diesem Kapitel ein Beispielprojekt vom ersten Aufruf von Elvis 3 bis zum Testlauf aufbauen.

Mehr

Datumsangaben, enthält mindestens Jahr, Monat, Tag

Datumsangaben, enthält mindestens Jahr, Monat, Tag Datenbanken mit SQL Informatik - Sprenger Häufig wird mit Tabellenkalkulationen gearbeitet, obwohl der Einsatz von Datenbanken sinnvoller ist. Tabellenkalkulationen wie Microsoft Excel oder LibreOffice

Mehr

OP 2005: Änderungen Mailimport

OP 2005: Änderungen Mailimport OP 2005: Änderungen Mailimport 02.01.2008 Dokumentation Original auf SharePoint Doku zu OP 2005 JT-Benutzerkonfiguration - EMail In dieser Registerkarte können Sie die E-Mail-Konfiguration, des Benutzers

Mehr

ARIS II - Modellierungsmethoden, Metamodelle und Anwendungen

ARIS II - Modellierungsmethoden, Metamodelle und Anwendungen ARIS II - Modellierungsmethoden, Metamodelle und Anwendungen C3: Structured Query Language Lernziele: Nach der Bearbeitung dieser Lektion haben Sie folgende Kenntnisse erworben: Sie können elementaren

Mehr

Agenda. Clients aus drei verschiedenen Perspektiven: Was ist ein Dialog? Komponentenarchitektur innerhalb eines Dialoges

Agenda. Clients aus drei verschiedenen Perspektiven: Was ist ein Dialog? Komponentenarchitektur innerhalb eines Dialoges Komponentenbasierte Client-Architektur Hamburg, 16.11.2007 Bernd Olleck IT-Beratung Olleck Agenda Clients aus drei verschiedenen Perspektiven: Technische Infrastruktur Fachliche Sicht Aufgaben eines Clients

Mehr

5 Projekt Bankverwaltung

5 Projekt Bankverwaltung Kapitel 5 Bankverwaltung (Lösung) Seite 1/7 5 Projekt Bankverwaltung 5.1 Festlegen der Schnittstelle Bevor du mit der Programmierung beginnst, musst du dir einige Gedanken über die Schnittstelle zwischen

Mehr

Metadata Service Respository (MDS) - Sehen, lernen, verstehen!

Metadata Service Respository (MDS) - Sehen, lernen, verstehen! Metadata Service Respository (MDS) - Sehen, lernen, verstehen! Carsten Wiesbaum esentri AG Schlüsselworte Metadata Service Repository, MDS, Oracle Fusion Middleware Einleitung Früher oder später wird jeder

Mehr

Installationshandbuch

Installationshandbuch Installationshandbuch Erforderliche Konfiguration Installation und Aktivierung - 1 - Erforderliche Konfiguration Programme der 4D v15 Produktreihe benötigen folgende Mindestkonfiguration: Windows OS X

Mehr

Ersatzteile der Extraklasse Magento-Module der Shopwerft

Ersatzteile der Extraklasse Magento-Module der Shopwerft Ersatzteile der Extraklasse Magento-Module der Shopwerft MicroStudio - Fotolia.com Werden von Kunden oder Suchmaschinen Elemente des Shops aufgerufen, die nicht vorhanden sind, wird statt des gewünschten

Mehr

Tutorial: Eigene Module und Extensions entwickeln. version: 0.1 Author: Anja Beuth

Tutorial: Eigene Module und Extensions entwickeln. version: 0.1 Author: Anja Beuth Tutorial: Eigene Module und Extensions entwickeln version: 0.1 Author: Anja Beuth Table of contents 1 2 2.1 2.2 2.3 2.4 3 4 4.1 4.2 4.3 5 5.1 6 6.1 6.2 Notwendigkeit prüfen... Ein Projekt in Visual Studio

Mehr

Multimedia Engineering II - Übung 2

Multimedia Engineering II - Übung 2 Multimedia Engineering II - Übung 2 Zielstellung der Übungsaufgabe Das Login-Panel der ersten Übung erhält nun die Funktion, auf eine zweite View zu wechseln. Auf dieser werden Sie nun das erste Mal einen

Mehr

Toleranzschema. ArtemiS SUITE

Toleranzschema. ArtemiS SUITE Anzeige von Referenz- und Grenzwertkurven Überprüfung von Analyseergebnissen auf Über- bzw. Unterschreitungen der definierten Grenzwertkurven HEARING IS A FASCINATING SENSATION ArtemiS SUITE Motivation

Mehr

Fachbereich Informatik Praktikum 1

Fachbereich Informatik Praktikum 1 Hochschule Darmstadt DATA WAREHOUSE SS2015 Fachbereich Informatik Praktikum 1 Prof. Dr. S. Karczewski Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 14.April.2015 1. Kurzbeschreibung In diesem Praktikum geht

Mehr

Inhalt. Net-Base Internetservice. Dokumentation OTRS Ticketing-System

Inhalt. Net-Base Internetservice. Dokumentation OTRS Ticketing-System Inhalt Inhalt...1 1. Überblick...2 2. Ticketing-System aufrufen...2 3. Ein eigenes Konto anlegen...3 4. Eine Supportanfrage stellen...4 5. Ihre Supportanfragen ansehen / Status überprüfen...6 6. Weiterer

Mehr

Antwortzeitverhalten von Online Storage Services im Vergleich

Antwortzeitverhalten von Online Storage Services im Vergleich EPOD Encrypted Private Online Disc Antwortzeitverhalten von Online Storage Services im Vergleich Fördergeber Förderprogramm Fördernehmer Projektleitung Projekt Metadaten Internet Foundation Austria netidee

Mehr

Der Parameter CLOSE bewirkt, dass sich das Sicherungsprogramm am Ende der Sicherung automatisch schliesst

Der Parameter CLOSE bewirkt, dass sich das Sicherungsprogramm am Ende der Sicherung automatisch schliesst 1 Sicherung 1.1 Einleitung Die Applikation WSCAR basiert auf der Datenbank-Engine Firebird 1.5.5 / 2.5.2. Beide Programme sind nur auf der Hauptstation(Server) installiert und dürfen nie deinstalliert

Mehr

Klausur vom 14. Juni 2004. Informatik 4

Klausur vom 14. Juni 2004. Informatik 4 Berner Fachhochschule Hochschule für Technik und Informatik, HTI Fachbereich Elektro- und Kommunikationstechnik Labor für Technische Informatik, Burgdorf Klasse: EV02-1 Name, Vorname: Klausur vom 14. Juni

Mehr

PND Tool Quellcodegenerierung

PND Tool Quellcodegenerierung PND Tool Quellcodegenerierung Handbuch Autor: Heiko Weiß Inhaltsverzeichnis 1 Allgemeines 3 2 Systemanforderungen 3 3 Anforderungen an ein Petrinetz 3 4 Bibliotheken 3 5 Petrinetzdatei und Bibliothek laden

Mehr

Guideline. Facebook Posting. mit advertzoom Version 2.3

Guideline. Facebook Posting. mit advertzoom Version 2.3 Guideline Facebook Posting mit advertzoom Version 2.3 advertzoom GmbH advertzoom GmbH Stand November 2012 Seite [1] Inhalt 1 Facebook Posting Schnittstelle... 3 1.1 Funktionsüberblick... 3 2 Externe Ressource

Mehr

Persistenz von Objekten relationale Datenbank Eigene Datenstruktur XML (JAXB) Proprietäre Dateiformate (Lochkarten)

Persistenz von Objekten relationale Datenbank Eigene Datenstruktur XML (JAXB) Proprietäre Dateiformate (Lochkarten) Persistenz von Objekten relationale Datenbank Eigene Datenstruktur XML (JAXB) Proprietäre Dateiformate (Lochkarten) O/R Mapping - Objekte (Attribute) - 1:1, 1:n, n:m Beziehungen - Vererbungen (- Interfaces)

Mehr

Perzentile mit Hadoop ermitteln

Perzentile mit Hadoop ermitteln Perzentile mit Hadoop ermitteln Ausgangspunkt Ziel dieses Projektes war, einen Hadoop Job zu entwickeln, der mit Hilfe gegebener Parameter Simulationen durchführt und aus den Ergebnissen die Perzentile

Mehr

Versand von Einladungen zur Teilnahme an der Umfrage mit Seriendruck Funktion von Microsoft Office 2007

Versand von Einladungen zur Teilnahme an der Umfrage mit Seriendruck Funktion von Microsoft Office 2007 Versand von Einladungen zur Teilnahme an der Umfrage mit Seriendruck Funktion von Microsoft Office 2007 [Eine Schritt für Schritt Anleitung] Inhalt 1. Erstellen einer Liste mit Probandendaten... 2 2. Erstellung

Mehr

Ausarbeitung Diplomarbeit Teil1

Ausarbeitung Diplomarbeit Teil1 Ausarbeitung Diplomarbeit Teil1 20. November 2010 Verwendung des Admin Tools der Tornado Lizenzverwaltung und Verwendung und Auswirkung der Lizenzen im Tornado System 1 Inhalt 2 Einleitung... 3 3 Allgemeines...

Mehr