Visualisierung von energiewirtschaftlichen Zeitreihen im Web-Browser

Visualisierung von energiewirtschaftlichen Zeitreihen im Web-Browser Seminararbeit Studiengang: Scientific Programming 1. Betreuer: Prof. Ulrich Ste...
Author: Marcus Dresdner
6 downloads 0 Views 2MB Size
Visualisierung von energiewirtschaftlichen Zeitreihen im Web-Browser Seminararbeit

Studiengang: Scientific Programming

1. Betreuer: Prof. Ulrich Stegelmann 2. Betreuer: Arne Bernhardt Vorgelegt von: Simon Rehker

14.12.2012

SOPTIM AG Im Süsterfeld 5-7 • D-52072 Aachen • Telefon: + 49 (0) 241 - 9 18 79 - 0 Dietrich-Oppenberg-Platz 1 • D-45127 Essen • Telefon: +49(0)201 - 8 42 10 - 0 Internet: www.soptim.de • E-Mail: [email protected]

Vlsuallslerung von energterylrlschaltllch?n Zeltrelhsn im tUeb-Broweer 14.12.2012 / Simon

Rehker

,?GtiTilll2 Seite

Eldeestattllche Eil«lärung Hiermit versichere ich, dass ich die §eminararbeit mit dem Thema

von energiewirt"Visualisierung schaftlichen Zeitreihen im Web-Browsef selbstständig verfasst und keine anderen als die angegobenen Quellen und Hilfsminel benutzt habe, alle Ausführungen, die anderen Schriften wörtlich oder sinngemäB entnommen wurden, kenntlich gemacht sind und die Arbeit in gleicher oder ähnlicher Fassung noch nicht Bestandteileiner Studien- oder Prüfungsleistung war. Name: Simon Rehker

Aachen, den 14.12.2O12

Unterschrift der Studentin I des Studenten

Visualisierung von energiewirtschaftlichen Zeitreihen im Web-Browser 14.12.2012 / Simon Rehker

Seite 3

Inhaltsverzeichnis

Seite

Eidesstattliche Erklärung

2

1

Einleitung

4

2

Zeitreihen in der Energiewirtschaft

5

2.1

Struktur und Rolle im Tagesgeschäft

5

2.1.1

Festpreismodell

6

2.1.2

Tranchenmodell

7

2.2

Zeitreihenanalyse

8

2.2.1

Trendkomponente T

9

2.2.2

Konjunkturelle Komponente K

9

2.2.3

Saisonale Komponente S

9

2.2.4

Restkomponente U

11

2.2.5

Komponenten im Überblick

11

2.3

Zeitreihenvisualisierung in der Energiewirtschaft

12

3

Visualisierung im Web-Browser

14

3.1

Prozessablauf

14

3.2

JFreeChart

15

3.3

HighStockJS

16

4

Technische Umsetzung

18

4.1

JSON

18

4.2

AJAX

19

4.3

REST und JAX-RS

21

4.4

Überblick über die Implementierung

22

4.5

Grenzen der clientseitigen Datenverarbeitung

24

4.6

Komprimierung

24

5

Zusammenfassung und Ausblick

26

6

Literaturverzeichnis

27

7

Abbildungsverzeichnis

29

Visualisierung von energiewirtschaftlichen Zeitreihen im Web-Browser 14.12.2012 / Simon Rehker

1

Seite 4

Einleitung

Durch die Novellierung des Energiewirtschaftsgesetzes hat Deutschland 1998 die EU-Richtlinie 96/92/EG für den Elektrizitätsbinnenmarkt in nationales Recht umgesetzt und den Impuls zur Liberalisierung des deutschen Elektrizitätsmarkts gegeben. Die geschlossenen Versorgungsgebiete, auf denen deutsche Energieversorgungsunternehmen eine Monopolstellung innehatten, wurden nun mit der Aussicht auf die Förderung von wettbewerblichen Strukturen für weitere Marktteilnehmer geöffnet. Dadurch wurden die Rahmenbedingungen für die Elektrizitätswirtschaft entscheidend geändert und es entstanden Großhandelsmärkte für Elektrizität. [EBER] Zeitreihen spielen im Stromhandelsgeschäft eine wichtige Rolle. Mit ihnen wird zum Beispiel der Stromverbrauch modelliert, um auf dieser Basis Prognosen zu erstellen dieser im nächsten Jahr aussehen könnte. Des Weiteren werden ebenfalls mit Hilfe von Zeitreihen Modelle und Prognosen für den Strompreisverlauf erstellt, mit denen günstigste Zeitpunkte zum Einkauf abgepasst werden. Der Handel von Stromprodukten findet immer mehr online in Web-Portalen statt, daher ist es notwendig, Lösungen für die Visualisierung von energiewirtschaftlichen Zeitreihen im Web-Browser zu finden. Diesem Thema widmet sich die vorliegende Seminararbeit. Präsentiert werden zwei Ansätze zur Visualisierung von Zeitreihen im Web-Browser. Dazu werden sowohl die fachlichen, als auch die technischen Voraussetzungen erläutert. In Kapitel 2 wird zum Einstieg erklärt, wie Zeitreihen in der Energiewirtschaft genutzt und analysiert werden. Zur Verdeutlichung werden exemplarisch zwei gängige Stromvertragsmodelle erläutert. In Kapitel 3 wird eine serverseitige Generierung einer Zeitreihenvisualisierung als Bild mit einer clientseitigen Generierung mit Hilfe einer interaktiven JavaScript-Komponente verglichen. Kapitel 4 fokussiert sich auf die technischen Aspekte der Datenübertragung zwischen Server und Client. Dazu werden verschiedene Web-Technologien und eine exemplarische Implementierung zur Übertragung von Zeitreihendaten vorgestellt. Kapitel 5 bietet abschließend eine Zusammenfassung der Arbeit, sowie einen Ausblick auf weitere Themen, die auf dieser Arbeit aufbauen. Die im Rahmen dieser Arbeit angegebenen Beispielprogramme sind in der Programmiersprache Java bzw. JavaScript mit Hilfe der Entwicklungsumgebung Eclipse erstellt worden. Als Applikationsserver wurde der JBOSS 7 verwendet.

Visualisierung von energiewirtschaftlichen Zeitreihen im Web-Browser 14.12.2012 / Simon Rehker

2

Seite 5

Zeitreihen in der Energiewirtschaft

Dieses Kapitel beschreibt, wie Zeitreihen in der Energiewirtschaft genutzt werden. Erst auf Basis dieser Erkenntnisse kann anschließend eine für den Benutzer sinnvolle Darstellungsform angestrebt werden. Durch die begrenzte Speicherbarkeit des Handelsgutes Strom unterscheiden sich Stromhandelsmärkte stark von anderen Warenmärkten, da stets für ein Gleichgewicht zwischen Stromerzeugung und –verbrauch gesorgt werden muss. Des Weiteren ist die elektrische Leistung, die zwischen Gebieten austauschbar ist, durch die vorhandene Übertragungskapazität beschränkt, was bei der Preisbildung berücksichtigt werden muss. [EBER] Außerdem zeichnet sich der Strommarkt durch eine sehr schwache Preiselastizität in der Nachfrage aus, das heißt die Nachfrage reagiert nur wenig auf Preisschwankungen. Grund dafür ist, dass die meisten Endkunden Strom vertraglich zu einem festen Preis pro Megawattstunde(MWh) beziehen und nicht direkt von kurzfristigen Preisschwankungen im Großhandel betroffen sind. Das führt dazu, dass große Einflussfaktoren auf die Stromnachfrage das Wetter oder die Tages- und Jahreszeit sind. Auf Basis dieser Faktoren wird versucht, die Nachfrage durch Zeitreihen zu modellieren und daraus Prognosen zu erstellen. [SEIF]

2.1 Struktur und Rolle im Tagesgeschäft Definition nach dem Gabler Wirtschaftslexikon [GABLER1]: Eine Zeitreihe ist eine „Folge von Werten einer Variablen, die sich aufeinander folgende Zeitpunkte oder Zeiträume bezieht“. Für das Tagesgeschäft in der Energiewirtschaft sind zum einen die Leistungszeitreihe in Kilowatt (kW) oder Megawatt (MW) und die Preiszeitreihe in Cent pro Kilowattstunde (ct/kWh) oder Euro pro Megawattstunde ( /MWh) wichtig. Eine Leistungszeitreihe bildet den Verbrauch, den sogenannten Lastgang, in Viertelstundenwerten ab. Für ein Jahr ergeben sich so rund 35.000 Werte. Der Verbrauch von Abnehmern mit einem Volumen von mehr als 100.000 kWh pro Jahr wird durch einen speziellen Stromzähler viertelstündlich gemessen. Abnehmer die weniger als 100.000 kWh pro Jahr verbrauchen, wie zum Beispiel Haushalte oder kleine Landwirtschaftsbetriebe, werden über sogenannte Standardlastprofile gesammelt abgebildet. Aus dem Vorjahresverbrauch wird bei einem neuen Vertragsabschluss eine Prognose für den Verbrauch des nächsten Jahres erstellt. [LAST]

Visualisierung von energiewirtschaftlichen Zeitreihen im Web-Browser 14.12.2012 / Simon Rehker

Seite 6

Preiszeitreihen stellen den Strompreis über ein Jahr in Viertelstunden- oder Stundenwerten dar. Sie werden täglich neu prognostiziert und von verschiedenen Marktteilnehmern veröffentlicht, beispielsweise von der EEX (European Energy Exchange), eine der europäischen Börsen für Strom, Gas und Emissionsrechte. Die Preiszeitreihe, auf deren Basis ein Anbieter ein Angebot für seine Kunden erstellt, enthält neben den reinen Stromkosten zusätzlich Fixkosten wie Personalkosten oder Risikozuschläge. Wie diese beiden Zeitreihentypen zusammenwirken, zeigt beispielsweise das Festpreismodell, welches im nachfolgenden Kapitel erläutert wird.

2.1.1 Festpreismodell Das Festpreismodell ist ein Vertragsmodell für den Einkauf von Strom. Dabei schreibt ein Abnehmer seine gesamte prognostizierte Energiemenge für ein Jahr zu einem Zeitpunkt aus. Kommt ein Vertrag zwischen einem Anbieter und einem Abnehmer zustande, wird der prognostizierte Lastgang des Abnehmers mit der Preiszeitreihe für den Vertragszeitraum viertelstundenweise bewertet. Daraus wird ein mengengewichteter Durchschnittspreis ermittelt. Dieser ist individuell für jeden Abnehmer und nach Abschluss des Vertrages fix, also nicht mehr von zukünftigen Schwankungen in der Preiszeitreihe abhängig. Es gilt die Preiszeitreihe zum Zeitpunkt des Vertragsabschlusses. [E3EN] [PREI]

Abbildung 2.1: Das Festpreismodell: Chancen- und Risikoreich

Visualisierung von energiewirtschaftlichen Zeitreihen im Web-Browser 14.12.2012 / Simon Rehker

Seite 7

Wenn ein Anbieter nun zu wenig Energie für seine Kunden eingekauft hat, muss er diese kurzfristig und häufig zu schlechteren Konditionen nachkaufen. Hat ein Anbieter zu viel Energie eingekauft muss er diese kurzfristig wieder abstoßen, in der Regel zu einem schlechteren Preis, als sie eingekauft wurde. Diese kostenintensiven Prognosefehler versucht der Anbieter durch Zeitreihenanalysen zu minimieren, indem er den prognostizierten Verbrauch seiner Abnehmer auch während der Laufzeit des Vertrags weiter anpasst, um Abweichungen von der bei Vertragsabschluss gemachten Prognose frühzeitig zu erkennen.

2.1.2 Tranchenmodell Ein weiteres Vertragsmodell für den Einkauf von Strom ist das sogenannte Tranchenmodell. Bei einem Tranchenmodell wird der Jahresbedarf an Strom in Teilen, sogenannten Tranchen gekauft. Durch das Bestellen von Tranchen im richtigen Moment wird versucht die Stromkosten zu minimieren. Dieses Vorgehen ist vergleichbar mit dem Kauf von Kraftstoff für einen Pkw. Man beobachtet laufend die Benzinpreise und tankt wenn der Preis gerade günstig ist, selbst wenn der Tank noch nicht leer ist. Anders als bei dem standardmäßigen Festpreismodell, bei dem zum Zeitpunkt des Vertragsabschlusses ein fester Strompreis anhand einer Preiszeitreihe vereinbart wurde, wird hier nur eine Liefergarantie zwischen Anbieter und Abnehmer festgelegt. Beim Tranchenmodell wird bei Vertragsabschluss noch kein Strom eingekauft. Dem Abnehmer wird lediglich garantiert, dass er Strom anhand einer vertraglich fixierten Formel zu einem von ihm festgelegten Termin einkaufen könnte. Der Strompreis zum Zeitpunkt des Einkaufs wird von den Börsen, wie beispielsweise der EEX, bestimmt. [WUEN] Der gesamte Strompreis ergibt sich aus dem Durchschnitt der Einzelpreise der Tranchen. Durch Streuung der Kaufzeitpunkte wird das Risiko minimiert, die gesamte Energiemenge zu einem ungünstigen Zeitpunkt zu kaufen. [E3EN]

Visualisierung von energiewirtschaftlichen Zeitreihen im Web-Browser 14.12.2012 / Simon Rehker

Seite 8

Abbildung 2.2: Das Tranchenmodell: Chancen- und Risikoarm

Auch Tranchen spielen in der Zeitreihenvisualisierung eine wichtige Rolle. Dargestellt werden beispielsweise der prognostizierte Verbrauch, die abgeschlossenen Tranchen und die offene Position. Die offene Position ist der Teil des prognostizierten Verbrauchs, der noch nicht durch Tranchen abgedeckt wurde. Diese Art der Darstellung wird auch als Portfolio-Übersicht bezeichnet. Ein Abnehmer, der Strom nach dem Tranchenmodell einkauft, muss den Markt beobachten, um die richtigen Kaufzeitpunkte abzupassen. Dazu muss er wissen, welche Ursachen die regelmäßigen Schwankungen in seinem Lastgang und in den Preiszeitreihen haben. Eine Möglichkeit dazu bietet die Zeitreihenanalyse, die im folgenden Kapitel kurz erläutert wird.

2.2 Zeitreihenanalyse Die Zeitreihenanalyse versucht, die Gesetzmäßigkeiten einer Zeitreihe möglichst genau zu bestimmen. Das geschieht durch Aufspalten der Zeitreihe in unterschiedliche Komponenten, um die Dynamik des zugrundeliegenden Systems zu ermitteln und darauf aufbauend Prognosen zu erstellen. [STAT] Die Zeitreihenkomponenten einer häufig verwendeten Zerlegung sind die Trendkomponente, die Konjunkturkomponente, die Saisonkomponente und die Restkomponente, welche in Summe wieder den beobachteten Zeitreihenwerten entsprechen. Im Folgenden werden die Komponenten erläutert. [GABLER2] [STAT]

Visualisierung von energiewirtschaftlichen Zeitreihen im Web-Browser 14.12.2012 / Simon Rehker

Seite 9

2.2.1 Trendkomponente T Der Trend beschreibt die langfristigen globalen bzw. strukturellen Entwicklungstendenzen. In der Energiewirtschaft zählen dazu zum Beispiel: •

Technischer Fortschritt



Änderung der Bevölkerungszahl



Änderung der Verbraucherstruktur (z. B. Änderung des Anteils an Single-Haushalten oder des Anteils an Großverbrauchern)



Änderung des sogenannten „Energiemix“, d.h. der Anteile der verschiedenen Primärenergieformen an der gesamten Energieversorgung, beispielsweise durch politische Entscheidungen wie den Atomausstieg und die Förderung von erneuerbaren Energien

[STAT]

2.2.2 Konjunkturelle Komponente K Die konjunkturelle Komponente charakterisiert die den Trend überlagernden Schwankungen durch Boom- und Rezessionsperioden. Länge und Höhe eines Konjunkturzyklus sind nicht fest, typisch ist aber eine Dauer von 4 bis 7 Jahren für einen kompletten Konjunkturzyklus. Die konjunkturelle Komponente K wird häufig mit der Trendkomponente T als glatte Komponente G zusammengefasst. [STAT]

2.2.3 Saisonale Komponente S Die saisonale Komponente beschreibt zyklische Schwankungen mit fester Periode und in der Regel bekannter Ursache [STAT]. Die wesentlichen saisonalen Faktoren, die Einfluss auf den Stromverbrauch haben, sind die Witterung und die Tages- und Jahreszeit, wie in Abbildung 2.1 zu erkennen ist.

Visualisierung von energiewirtschaftlichen Zeitreihen im Web-Browser 14.12.2012 / Simon Rehker

Seite 10

Abbildung 2.3: Durchschnittliche tägliche deutsche Lastkurve des Jahres 2006 für die Monate Januar, März, Juni und September

Abbildung 2.3 zeigt die durchschnittliche tägliche deutsche Lastkurve des Jahres 2006 in GW für die Monate Januar, März. Juni und September. Die Nachfrage ist während des Tages höher als nachts, was mit der erhöhten industriellen und privaten Stromnachfrage zu erklären ist, mit einer Spitze um die Mittagszeit. Des Weiteren gibt es eine erhöhte Nachfrage in den Wintermonaten ab 17 Uhr mit Eintritt der Dunkelheit, die sich im Frühjahr und Herbst nach hinten verschiebt und im Sommer nicht mehr zu sehen ist.

Abbildung 2.4: Deutsche Lastkurve 2006 eines Werktags, eines Samstags und eines Sonntags im Januar (links) sowie Juni (rechts)

Neben der in der Abbildung 2.3 sichtbaren Muster auf Tages- und Jahresebene unterscheidet sich der Verbrauch auf Wochenebene zwischen Werktagen, Wochenenden und ggf. Feiertagen. Dies zeigt Abbildung 2.4. Dargestellt ist die Lastkurve eines Werktags, eines Samstags und eines Sonn-

Visualisierung von energiewirtschaftlichen Zeitreihen im Web-Browser 14.12.2012 / Simon Rehker

Seite 11

tags im Januar (links) und Juni (rechts). An Werktagen ist die Nachfrage begründet durch die hohe industrielle Nachfrage deutlich höher als an Wochenenden. Am Wochenende ist die Nachfrage samstags etwas höher als sonntags. Weiterhin sind Feier- und ggf. Brückentage gesondert zu betrachten, da sie eine ähnliche Nachfragestruktur wie Wochenenden haben. [SEIF] Es gibt also vorhersagbare Einflüsse auf die Nachfrage in einer täglichen, wöchentlichen und jährlichen Struktur.

2.2.4 Restkomponente U Die Abweichung der drei deterministischen Komponenten Trend, Konjunktur und Saison zur tatsächlichen Zeitreihe wird durch eine nicht weiter spezifizierte Restkomponente abgebildet. In ihr sind die unvorhersehbaren, nicht regelmäßig wiederkehrenden Einflüsse enthalten. Bei einer Prognose wird versucht, diese Resteinflüsse möglichst gut vorherzusagen. [STAT]

2.2.5 Komponenten im Überblick

Abbildung 2.5: Zusammenhänge zwischen den einzelnen Komponenten einer allgemeinen Zeitreihe

Der Trend ist eine Funktion der Zeit, die die Grundrichtung des Verlaufes einer Zeitreihe angibt. Er ist in der Regel monoton wachsend oder fallend, bedingt durch die langfristigen Ursachen. Zusammen mit der konjunkturellen Komponente bildet er die glatte Komponente, die den fiktiven Verlauf bei Fehlen von saisonalen und irregulären Schwankungen angibt. Die glatte Komponente wird mit der saisonalen Komponente allgemein zu der deterministischen Komponente zusammenge-

Visualisierung von energiewirtschaftlichen Zeitreihen im Web-Browser 14.12.2012 / Simon Rehker

Seite 12

fasst. Die Restkomponente fungiert als eine Art Korrekturterm zwischen der deterministischen Komponente und der tatsächlich beobachteten Zeitreihe.

2.3 Zeitreihenvisualisierung in der Energiewirtschaft Unabhängig von den im weiteren Verlauf verwendeten Analysemethoden besteht der erste Schritt einer Zeitreihenanalyse in der Regel darin, sich die grafische Darstellung der Zeitreihe anzuschauen. Charakteristische Schwankungen und Trends lassen sich oft schon mit bloßem Auge erkennen und geben Hinweise auf weitere durchzuführende Arbeitsschritte. [HEER] Die schwache Preiselastizität der Nachfrage im Strommarkt führt dazu, dass die Nachfrage sehr stark an die saisonale Komponente gekoppelt ist. Daraus folgt, dass Zeitreihen so visualisiert werden müssen, dass der Benutzer saisonale Muster auf Ebene von Tagen, Wochen und Jahren möglichst gut erkennen und vergleichen kann. Die Auflösung der Zeitachse sollte sich also flexibel ändern lassen, etwa nach Art einer Zoom-Funktion. Die klassische Darstellung als Graph in einem Koordinatensystem bei der die Zeit auf der x-Achse und der Wert auf der y-Achse aufgetragen werden, bietet eine gute Möglichkeit, um Trends und Muster zu erkennen. Bei variabler Auflösung der Zeitabschnitte, von Jahren bis hin zu einem Tag, können diese Muster für den Nutzer gut sichtbar dargestellt werden. Allerdings wird es schwieriger, Muster etwa auf Tagesebene und Wochenebene miteinander zu vergleichen. Dazu kann beispielsweise eine Spektralansicht wie in Abbildung 2.6 verwendet werden.

Visualisierung von energiewirtschaftlichen Zeitreihen im Web-Browser 14.12.2012 / Simon Rehker

Seite 13

Abbildung 2.6: Spektralansicht (oben) und klassische Darstellung (unten) einer Zeitreihe

Abbildung 2.6 zeigt im oberen Teil eine Spektralansicht und im unteren Teil die klassische Ansicht der gleichen Zeitreihe. In der unteren Darstellung kann man das wöchentliche Muster mit hohem Verbrauch an Werktagen und geringerem Verbrauch an Wochenenden. Ausnahme sind der 1., 21. und 22. Mai, also der Tag der Arbeit und Christi Himmelfahrt. Dort verhält sich der Verbrauch eher wie am Wochenende. Für einen Detailvergleich der einzelnen Viertelstundenwerte, also des Tagesmusters, ist die Spektralansicht sehr nützlich. In ihr werden die Viertelstundenwerte jeweils tageweise untereinander als farbige Quadrate dargestellt. In der Ansicht sind die vier Montage des Monats Mai markiert, um einen Vergleich des charakteristischen Tagesverbrauchs vorzunehmen.

Visualisierung von energiewirtschaftlichen Zeitreihen im Web-Browser 14.12.2012 / Simon Rehker

3

Seite 14

Visualisierung im Web-Browser

Zur Visualisierung von Zeitreihen im Web-Browser wird im Folgenden der Prozessablauf grob skizziert. Dieser wird in Kapitel 4 anhand der verwendeten Webtechnologien noch genauer erläutert. Für die Visualisierung an sich gibt es zwei Lösungsansätze: Zeitreihen können einerseits clientseitig in einer interaktiven Oberflächen-Komponente, andererseits serverseitig in Form einer Grafikdatei visualisiert werden. Diese Ansätze werden anhand von zwei Chart-Komponenten miteinander verglichen: Zum einen die JavaScript-Bibliothek HighStockJS und zum anderen die JavaKomponente JFreeChart. In beiden Fällen wird die Zeitreihe als Graph in einem Koordinatensystem visualisiert. Für die Darstellung in einer Spektralansicht, wie in Kapitel 2.6, standen keine geeigneten Komponenten zur Verfügung.

3.1 Prozessablauf Ein weit verbreitetes Architekturmuster für Web-Applikation ist die 3-Schichten-Architektur. Die Applikation teilt sich dabei in die 3 folgenden Schichten (Tiers) auf [3TIER]: •

die Client-Schicht, die das User-Interface im Web-Browser enthält,



die mittlere Schicht, die zum Beispiel aus einem Applikationsserver besteht, der die Geschäftslogik und den Datenzugriff bereitstellt



und die Datenbank-Schicht, die die Geschäftsdaten enthält.

Abbildung 3.1: 3-Tier-Architektur einer Web-Applikation

Visualisierung von energiewirtschaftlichen Zeitreihen im Web-Browser 14.12.2012 / Simon Rehker

Seite 15

Um eine Zeitreihe im Web-Browser darzustellen müssen zuerst die benötigten Viertelstundenwerte von der Datenbank abgerufen werden. Dazu sendet der Client eine Anfrage, welche den Namen oder die ID der darzustellenden Zeitreihe und das gewünschte Zeitintervall enthält, an den Applikationsserver. Auf diese Anfrage antwortet dann der Server mit der Übertragung der Zeitreihendaten, nachdem er diese von der Datenbank selektiert und aufbereitet hat oder mit der Übertragung der Grafikdatei, die in die Webseite eingebettet wird. Dieser Datenaustausch zwischen Client und Server sollte möglichst dynamisch geschehen, sodass nicht für jede Änderung des Zeitintervalls oder der Auflösung auf der Zeitachse, die komplette Webseite neu geladen werden muss.

3.2 JFreeChart Bei der Java-Bibliothek JFreeChart findet die Datenverarbeitung komplett im Server statt. Wird vom Client eine Zeitreihe für ein bestimmtes Zeitintervall angefragt, erstellt die JFreeChartKomponente ein Diagramm, welches dann als Bild an den Client gesendet wird. [JFRE] Diese Lösung stellt keine Möglichkeit für Benutzerinteraktionen innerhalb des Browsers zur Verfügung. Falls beispielsweise ein anderer Zeitbereich angezeigt werden soll, muss zuerst ein neuer Request an den Server gesendet werden, welcher dann ein neues Bild generiert und an den Client schickt.

Visualisierung von energiewirtschaftlichen Zeitreihen im Web-Browser 14.12.2012 / Simon Rehker

Seite 16

Abbildung 3.2: Visualisierung eines Fahrplans(blau), der offenen Position(dunkelrot) und eines tranchierten Geschäfts mit JFreeChart

Abbildung 3.2 zeigt eine sogenannte Portfolioübersicht. Die oberhalb der x-Achse dargestellte blaue Linie ist der aktuelle Fahrplan, der die insgesamt benötigte Energie darstellt. Unter dem Fahrplan werden die eingekauften Tranchen, mehrfarbig dargestellt. Die Differenz zwischen dem Fahrplan und den Tranchen ist die offene Position, also die Energie die noch eingekauft werden muss. Man kann sie zum einen an den weißen Flächen erkennen, überall dort wo Tranchen den Fahrplan noch nicht abdecken. Zum anderen wird sie als dunkelroter Graph im negativen Bereich des Diagramms dargestellt.

3.3 HighStockJS HighStockJS ist eine interaktive JavaScript-Komponente, die speziell für die Darstellung von Zeitreihen ausgelegt ist. Sie bietet einen Navigator (s. Abbildung 3.3 unten) um Zeitbereiche einzuschränken, sowie eine Zoomfunktion um die Auflösung der Zeitachse zu ändern. [HIGH] Die Datenverarbeitung findet hier komplett im Client statt. Nachdem eine Zeitreihe vom Server angefragt wurde, werden die Zeitreihenwerte im Client verarbeitet und ein Diagramm generiert. Sobald die Zeitreihenwerte einmal im Client angekommen sind, kann vom Benutzer beliebig im Diagramm navigiert werden, ohne einen neuen Request an den Server zu senden.

Visualisierung von energiewirtschaftlichen Zeitreihen im Web-Browser 14.12.2012 / Simon Rehker

Seite 17

Abbildung 3.3: Visualisierung eines Fahrplans(blaue Linie), der offenen Position (dunkelroter Bereich unterhalb der x-Achse) und eines tranchierten Geschäfts mit HighStockJS

Abbildung 3.3 zeigt die gleiche Portfolioübersicht wie Abbildung 3.2, allerdings erzeugt mit HighStockJS. Auch hier ist der aktuelle Fahrplan in hellblau, die Tranchen in verschiedenen Farben unterhalb der Fahrplans und die offene Position in dunkelrot unterhalb der x-Achse dargestellt. Die Tranchen und die Offene Position werden hier als Flächen dargestellt. HighStockJS bietet eine Funktion mehrere Werte automatisch auf einen Pixel zu skalieren, daher sind die Zeitreihen nicht so ausgefranst wie in der JFreeChart-Darstellung. Außerdem sind die Maxima und Minima nicht so weit ausgeprägt, da diese durch die Mittelwertbildung gedämpft werden. Die HighStockJS-Darstellung ist interaktiver und bringt viele Funktionen mit, die mit der JFreeChart-Darstellung nachträglich selbst programmiert werden müssen, wie zum Beispiel die Zoomfunktion und die automatische Mittelwertbildung. Um ein HighStockJS-Diagramm dynamisch mit Zeitreihendaten zu füllen, ist aber eine Reihe von Technologien nötig, die im folgenden Kapitel erläutert werden.

Visualisierung von energiewirtschaftlichen Zeitreihen im Web-Browser 14.12.2012 / Simon Rehker

4

Seite 18

Technische Umsetzung

Das folgende Kapitel behandelt die technische Umsetzung für den Datentransfer zwischen Server und Client und die dazu verwendeten Webtechnologien. Da die Zeitreihenwerte im Client nicht modifiziert, sondern nur dargestellt werden, wird die Zeitreihe nicht vom Client zurück an den Server gesendet. Deshalb ist die Rückrichtung im Hinblick auf Zeitreihendaten eher zu vernachlässigen.

4.1 JSON JSON – JavaScript Object Notation – ist ein einfaches Datenübertragungsformat, dass für Mensch und Maschine einfach lesbar ist. JSON ist unabhängig von Programmiersprachen und basiert auf zwei Strukturen, dem Schlüssel-Wert-Paar und der geordneten Liste von Werten, da diese Strukturen von so gut wie allen modernen Programmiersprachen verwendet werden.

Abbildung 4.1: Beispielhafter JSON-Code

Ein JSON-Objekt enthält ungeordnete, durch Komma getrennte Schlüssel-Wert-Paare innerhalb von geschweiften Klammern. Schlüssel und Wert werden durch Doppelpunkte getrennt. Ein JSON-Array besteht aus geordneten Werten, die innerhalb von eckigen Klammern kommasepariert aufgelistet werden. Werte müssen nicht vom gleichen Typ sein. Ein Wert kann in JSON eine Zeichenkette, eine Zahl, true, false, null oder aber ein Objekt beziehungsweise ein Array sein. Dadurch lassen sich Objekte und Arrays auch beliebig ineinander verschachteln.

Visualisierung von energiewirtschaftlichen Zeitreihen im Web-Browser 14.12.2012 / Simon Rehker

Seite 19

Abbildung 4.2 Exemplarisches Zeitreihen-Objekt mit JSON

Eine Zeitreihe kann im JSON-Format wie in Abbildung 4.2 abgebildet werden: Die Zeitreihe selbst ist ein JSON-Objekt, das Zeitreiheneinträge unter dem Schlüssel „data“ und den Namen der Zeitreihe unter dem Schlüssel „name“ enthält. Die Zeitreiheneinträge sind ein weiteres verschachteltes JSON-Objekt, welches jeden Eintrag als Schlüssel-Wert-Paar enthält, wobei der Zeitstempel den Schlüssel und der Zahlwert den Wert darstellt. Dadurch wird unter anderem sichergestellt, dass in einer Zeitreihe nicht mehrere Werte für einen Zeitstempel existieren können. Um JSON-Dateien serverseitig zu serialisieren und zu deserialisieren, wird für Java-basierte WebApplikationen typischerweise eine Bibliothek wie zum Beispiel Jackson verwendet. [JACK]

4.2 AJAX AJAX steht für „Asynchronous JavaScript and XML“ und umfasst eine Reihe von Webtechnologien, die gemeinsam asynchrone Datenübertragung in Webanwendungen ermöglichen. Dadurch sind Webanwendungen in der Lage, HTTP-Anfragen zum Server zu senden und dynamische Änderungen am Inhalt der Webseite durchzuführen, ohne die Webseite im Browser komplett neu zu laden. Wie das AJAX-Modell im Vergleich zu traditionellen Web-Anwendungen arbeitet, zeigt Abbildung 4.3. [AJAX]

Visualisierung von energiewirtschaftlichen Zeitreihen im Web-Browser 14.12.2012 / Simon Rehker

Seite 20

Abbildung 4.3: Vergleich zwischen dem traditionellen Modell für Web-Applikationen (links) und dem AJAX-Modell (rechts)

Im klassischen Web-Applikationsmodell lösen Benutzeraktionen, wie zum Beispiel das Absenden eines Formulars, einen HTTP-Request an den Server aus. Dieser wird dann vom Server bearbeitet und anschließend wird eine HTML-Seite als Antwort an den Client zurückgesendet. Der Browser verwirft die derzeit dargestellte Seite und baut die neue Seite, die er als Antwort erhalten hat auf. Im AJAX-Modell lösen Benutzeraktionen JavaScript-Aufrufe aus, die von der AJAX-Engine clientseitig in HTTP-Requests umgewandelt und an den Server gesendet werden. Dadurch kann ein HTTP-Request ohne Neuladen der Seite abgesetzt werden. Die Daten werden vom Server in Form eines XMLHttpRequest-Objekts (kurz: XHR-Objekt) übertragen. Es wird auch häufig JSON statt XML verwendet, da es weniger Overhead erzeugt und ein Teil von JavaScript ist [MOZI]. Dieses XHR-Objekt wird dann von der AJAX-Engine in HTML- und CSS-Daten umgewandelt und in der Oberfläche dynamisch angezeigt.

Visualisierung von energiewirtschaftlichen Zeitreihen im Web-Browser 14.12.2012 / Simon Rehker

Seite 21

AJAX-Calls werden inzwischen auch von vielen Bibliotheken wie zum Beispiel jQuery abstrahiert. Vorteil dabei ist, dass der Aufruf unabhängig vom verwendeten Browser bleibt, da beispielsweise der Internet Explorer das native XMLHttpRequest-Objekt erst ab Version 7 integriert hat. [JQUE]

4.3 REST und JAX-RS REST (Representational State Transfer) definiert eine Reihe von Architekturprinzipien für das Design von Web-Services. Eine konkrete Implementierung eines REST-Services, folgt in der Regel vier Grundprinzipien [REST]: •

Explizite Benutzung der HTTP-Methoden GET; POST, PUT, DELETE

Dieses Basisprinzip definiert folgende Abbildung der grundlegenden Datenbankfunktionen „create“, „read“, „update“ und „delete“ (CRUD) auf die HTTP-Request-Methoden: o Um eine Resource auf dem Server anzulegen („create“), wird POST benutzt o Um eine Resource abzufragen („read“), wird GET benutzt o Um den Status einer Resource zu ändern („update“), wird PUT benutzt o Um eine Resource zu entfernen („delete“), wird DELETE benutzt •

Stateless Design

Der Client sendet komplette Requests, die unabhängig von anderen Requests vom Server beantwortet werden können. Dadurch wird ermöglicht, dass ein Request von einem Server auf einen anderen Server eines Clusters weitergeleitet werden kann. Da zwischen den Servern keine sessionbezogenen Daten mehr synchronisiert werden müssen, verbessert das die WebService-Performance und verringert die Komplexität auf Serverseite. •

URIs mit verzeichnisähnlicher Struktur

Die URIs (Uniform Resource Indentifier) einer REST-Webanwendung sind typischerweise in einem Verzeichnisbaum organisiert. Die URI sollte dabei eingängig für den Benutzer bleiben, sodass er über einfache Änderungen an der URI navigieren kann.

Visualisierung von energiewirtschaftlichen Zeitreihen im Web-Browser 14.12.2012 / Simon Rehker



Seite 22

Übertragung von XML und/oder JSON

Die Beziehungen der Objekte eines Datenmodells sollten bei der Übertragung in einem geeigneten Datenformat abgebildet werden. Um dies möglichst einfach zu realisieren, wird in der Regel JSON oder XML verwendet. Java unterstützt die Entwicklung von REST-Services unter anderem durch JAX-RS, die “Java API for RESTful Web Services”. Sie vereinfacht das Entwickeln von REST-Web-Services durch das Bereitstellen von Annotationen [JAXRS]. Die wichtigsten sind: •

@Path

Die Path-Annotation spezifiziert die relative URI einer Klasse oder einer Service-Methode auf dem Server, zum Beispiel @Path(„/meineServices“). •

@GET, @POST, @DELETE, @PUT

Diese Annotationen werden benutzt, um zu kennzeichnen welche Art von HTTP-Request eine Service-Methode verarbeitet. •

@Consumes, @Produces

@Consumes und @Produces werden benutzt, um zu spezifizieren welche MIME-Typen eine Service-Methode

verarbeiten

bzw.

produzieren

kann.

Beispiele

hierfür

sind

@Consumes(„application/json“) oder @Produces(„image/png“). Ein MIME-Typ ist ein InternetStandard um Dateiformate anzugeben. [MIME] •

@QueryParam, @PathParam, @HeaderParam, @CookieParam

Mit diesen Annotationen markierte Übergabeparameter einer Service-Methode werden automatisch aus dem Request extrahiert. Es gibt mehrere Implementierungen von JAX-RS, weit verbreitet sind zum Beispiel Jersey und RESTEasy. Die Codebeispiele im nächsten Kapitel wurden mit RESTEasy erstellt.

4.4 Überblick über die Implementierung Dieses Kapitel soll zeigen, wie die vorgestellten Technologien bei der Übertragung einer Zeitreihe vom Server zum Client zusammenarbeiten.

Visualisierung von energiewirtschaftlichen Zeitreihen im Web-Browser 14.12.2012 / Simon Rehker

Seite 23

Abbildung 4.4: AJAX-Request im Client mit JQuery-XHR

Durch eine Benutzerinteraktion wird ein AJAX-Request ausgelöst, der beim REST-Service im Applikationsserver eine Zeitreihe anfragt, wie Abbildung 4.4 zeigt. Die Abfrage von Ressourcen wird nach REST-Spezifikation über einen GET-Request abgebildet. Zusätzlich wird hier die relative URL zum Context-Root und das Rückgabeformat auf JSON festgelegt. Auf dem Applikationsserver wird nun unter der im AJAX-Request angegebenen URL eine ServiceMethode mit passenden Annotationen gesucht, wie die exemplarische Methode in Abbildung 4.5.

Abbildung 4.5: REST-Service nimmt serverseitig den AJAX-Call entgegen

Serverseitig wird nun die angeforderte Zeitreihe aus der Datenbank selektiert und in ein Objekt verpackt. Dieses Objekt wird dann durch einen Jackson-Mapper in das JSON-Format konvertiert und anschließend zurück an den Client gesendet. Falls der Aufruf erfolgreich war, erhält der Client dieses JSON-Objekt in seiner „.success“-Funktion und kann die Daten in einer Chart-Komponente darstellen.

Visualisierung von energiewirtschaftlichen Zeitreihen im Web-Browser 14.12.2012 / Simon Rehker

Seite 24

4.5 Grenzen der clientseitigen Datenverarbeitung Obwohl auf den ersten Blick die clientseitige Datenverarbeitung mit HighStockJS und den vorgestellten Webtechnologien eindeutig benutzerfreundlicher und interaktiver scheint, hat sie ihre Grenzen. Mit steigender Anzahl von Zeitreihen und Tranchen, steigt auch das zu übertragende Datenvolumen. Das führt je nach Rechnerleistung des Benutzers bei der Übertragung und bei Verarbeitung der Zeitreihendaten zu langen Ladezeiten im Client. Im Gegensatz dazu bleibt die das übertragende Datenvolumen der JFreeChart-Lösung konstant, egal wie viele Zeitreihen dargestellt werden, daher werden Ladezeiten bei diesem Ansatz nicht wesentlich von der Rechenleistung des Clients beeinflusst.

Abbildung 4.6: Firebug-Auswertung der GET-Requests für das JFreeChart-Bild im PNG-Format im Vergleich zu den vom HighStockJS-Chart angeforderten Zeitreihendaten

Die in Abbildung 4.6 gezeigte Auswertung vergleicht das übertragende Datenvolumen für die Portfolioübersicht aus Kapitel 3.2 bzw. 3.3. Alle Zeitreihen und Tranchen der Übersicht umfassen insgesamt etwa fünf Jahreszeitreihen, also ca. 175.000 Zeitreihenwerte. Für den Request, der das PNG-Bild der JFreeChart anfordert wurde ein Datenvolumen von 62,1 KB übertragen, während die angeforderten Zeitreihendaten für das HighStock-Chart auf ein Datenvolumen von 11,3 MB kommen. Nachteil an der JFreeChart bleibt aber die fehlende Interaktivität, die auch durch eigene Navigationselemente nur ungenügend und mit hohem Aufwand hergestellt werden könnte. Des Weiteren sind in Zeiten von DSL-Leitungen und Multi-Core-Prozessoren die Übertragung und Verarbeitung von mehreren Megabytes an Zeitreihendaten kein Hindernis mehr. Außerdem bietet sich das textbasierte JSON-Format sich zur Komprimierung an, wodurch das zu übertragenden Datenvolumen noch weiter minimiert werden kann. Dies wird im folgenden Kapitel erläutert.

4.6 Komprimierung Um das Datenvolumen bei der Übertragung zu reduzieren kann ein Kompressionsverfahren, wie zum Beispiel gzip („GNU zip“), verwendet werden. „GNU zip“ ist eines der im HTTP-Standard unterstützten Kompressionsverfahren, das aufgrund seines guten Kompressionsgrads und der Freiheit von patentierten Algorithmen im Internet relativ populär geworden ist. Der Web-Browser gibt

Visualisierung von energiewirtschaftlichen Zeitreihen im Web-Browser 14.12.2012 / Simon Rehker

Seite 25

im HTTP-Header eines Requests durch das Accept-Encoding-Feld an, welche Verfahren er unterstützt. Der Server kennzeichnete die Daten einer HTTP-Response als komprimiert, indem im Header „gzip“ als Content-Encoding angegeben. Diese Headerinformation wird vom Browser automatisch interpretiert und löst die Dekomprimierung der Daten aus. [GZIP] Um mit gzip komprimierte Zeitreihen zu übertragen gibt es mehrere Möglichkeiten. Zum einen können viele Applikationsserver so konfiguriert werden, dass sie bestimmte MIME-Types automatisch komprimieren. Zum anderen stellen JAX-RS-Implementierungen Möglichkeiten bereit um mit gzip zu komprimieren. RESTEasy löst dies beispielsweise über eine weitere Annotation „@GZIP“. Diese kann an Servicemethoden, die gzip-komprimierte Daten an den Client senden sollen oder an Übergabeparametern, die vom Client komprimiert übertragen wurden, annotiert werden. Die Komprimierung der Daten und das Hinzufügen der HTTP-Header-Informationen laufen in beiden Fällen automatisch, ohne dass weiterer Quellcode nötig ist.

Abbildung 4.7: Firebug-Auswertung der GET-Requests mit gzip-Komprimierung bei der Übertragung von Zeitreihendaten

Abbildung 4.7 zeigt den Vergleich zwischen dem Datenvolumen des JFreeChart-PNG-Bildes und der gzip-komprimierten Zeitreihendaten. Außerdem steht das Content-Encoding-Feld im HTTPHeader der Antwort auf „gzip“. Das Volumen der Zeitreihendaten konnte von 11.3 MB auf 1.7 MB reduziert werden. Das Datenvolumen ist für die Übertragung von ca. 175.000 Werten vertretbar und macht damit HighStockJS eindeutig zur besseren Lösung für die Visualisierung von Zeitreihen.

Visualisierung von energiewirtschaftlichen Zeitreihen im Web-Browser 14.12.2012 / Simon Rehker

5

Seite 26

Zusammenfassung und Ausblick

Diese Arbeit bietet einen Überblick über die Bedeutung von Zeitreihen im energiewirtschaftlichen Tagesgeschäft und stellt dar, welche Faktoren diese Zeitreihen beeinflussen. Des Weiteren wurden einige Web-Technologien vorgestellt um Zeitreihendaten an den Web-Browser zu senden und interaktiv darzustellen. Abschließend wurde ein server- und clientseitiger Ansatz bei der Verarbeitung von Zeitreihendaten zu einer Chart-Darstellung verglichen. Dabei war das Ergebnis, dass beim clientseitigen Ansatz ein hohes Datenvolumen transferiert werden muss, was durch Komprimierung schon erheblich verringert werden konnte. Es gibt aber noch weitere Möglichkeiten zur Minimierung des Datenvolumens. Dies ließe sich beispielsweise realisieren, indem Perioden mit identischen Werten zusammengefasst werden. Wenn sich also der Wert über mehrere Viertelstunden nicht ändert, würden diese Viertelstundenwerte in einen zu übertragenden Wert verschmolzen. Dieser Ansatz erzeugt allerdings einen erhöhten Aufwand der Datenaufbereitung auf Serverseite, wo nun Werte zusammengefasst werden müssen, und auf Clientseite, wo die nicht übertragenden Viertelstundenwerte für die Darstellung rekonstruiert werden müssen. Außerdem wurde festgestellt, dass HighStockJS automatisch Mittelwerte bildet, wenn mehr Werte vorhanden sind als Pixel zur Verfügung stehen. Dies ist fachlich nicht immer sinnvoll. Bei Leistungszeitreihen sind oft gerade die Viertelstundenwerte interessant, in denen Leistungsspitzen auftreten. Diese treiben die Stromkosten in die Höhe, da der Netzbetreiber sicherstellen muss, jederzeit genügend Kraftwerkskapazitäten zur Verfügung zu haben, um die Leistungsspitzen seiner Abnehmer zu decken. Die dadurch entstehenden Kosten legt der Netzbetreiber allerdings auf seine Abnehmer um. Bei Leistungszeitreihen wäre es also sinnvoller, ein anderes mathematisches Verfahren zur Skalierung zu verwenden, das Spitzen besonders gewichtet. In Kapitel 2.6 wurde eine Spektralansicht vorgestellt, die eine sinnvolle Visualisierungsalternative bietet um Wochen- und Tagesmuster miteinander zu vergleichen. Allerdings konnte aufgrund eines Mangels an Visualisierungskomponenten keine solche Darstellung umgesetzt werden. Ein nächster Schritt wäre, eine eigene Java- oder JavaScript-Komponente zu entwickeln die Zeitreihendaten in Form einer Spektralansicht aufbereiten und im Web-Browser darstellen kann.

Visualisierung von energiewirtschaftlichen Zeitreihen im Web-Browser 14.12.2012 / Simon Rehker

6

Seite 27

Literaturverzeichnis

[3TIER]

Belltown

Media

Inc.(Herausgeber),

Linux

Journal,

Ausgabe

75,

Juli

2000,

online

im

Internet:

im

Internet:

http://www.linuxjournal.com/article/3508 Zuletzt abgerufen am: 14.12.2012

[AJAX] http://www.adaptivepath.com/ideas/ajax-new-approach-web-applications Zuletzt abgerufen am: 14.12.2012 [E3EN] http://www.e3-energie.de/index.php/verbraucher/einkaufsstrategie Zuletzt abgerufen am: 14.12.2012 [EBER] http://elib.uni-stuttgart.de/opus/volltexte/2005/2387/pdf/DA_Ebert.pdf Zuletzt abgerufen am: 14.12.2012 [GABLER1]

Gabler

Verlag

(Herausgeber),

Gabler

Wirtschaftslexikon,

Stichwort:

Zeitreihe,

online

http://wirtschaftslexikon.gabler.de/Archiv/57589/zeitreihe-v8.html Zuletzt abgerufen am: 14.12.2012

[GABLER2]

Gabler Verlag (Herausgeber), Gabler Wirtschaftslexikon, Stichwort: Zeitreihenkomponenten, online im Internet:

http://wirtschaftslexikon.gabler.de/Archiv/57704/zeitreihenkomponenten-v6.html Zuletzt abgerufen am: 14.12.2012

[GZIP] http://www.gzip.org/#intro Zuletzt abgerufen am: 14.12.2012 [HEER] http://www-ai.cs.uni-dortmund.de/PublicPublicationFiles/heering_2009a.pdf Zuletzt abgerufen am: 14.12.2012 [HIGH] http://www.highcharts.com/products/highstock Zuletzt abgerufen am: 14.12.2012 [JACK] http://wiki.fasterxml.com/JacksonHome Zuletzt abgerufen am: 14.12.2012 [JAXRS] http://docs.oracle.com/javaee/6/tutorial/doc/giepu.html Zuletzt abgerufen am: 14.12.2012 [JFRE] http://www.jfree.org/jfreechart/ Zuletzt abgerufen am: 14.12.2012 [JQUE] http://api.jquery.com/jQuery.ajax/#jqXHR Zuletzt abgerufen am: 14.12.2012 [LAST] http://www.energiemarktplatz.de/energieeinkauf/glossar/Lastgang?entryId=7 Zuletzt abgerufen am: 14.12.2012 [MIME] http://www.rzuser.uni-heidelberg.de/~x02/html/tckj.htm Zuletzt abgerufen am: 14.12.2012 [MOZI] https://developer.mozilla.org/en-US/docs/AJAX Zuletzt abgerufen am: 14.12.2012 [PREI] http://www.energiemarktplatz.de/energieeinkauf/glossar/Price-Forward-Curve?entryId=38 Zuletzt abgerufen am: 14.12.2012 [REST] http://www.ibm.com/developerworks/library/ws-restful/ Zuletzt abgerufen am: 14.12.2012 [SEIF] http://digbib.ubka.uni-karlsruhe.de/volltexte/documents/1463651 Zuletzt abgerufen am: 14.12.2012

Visualisierung von energiewirtschaftlichen Zeitreihen im Web-Browser 14.12.2012 / Simon Rehker

[STAT] http://www.vwi.tu-dresden.de/~treiber/statistik2/statistik_download/folien10.pdf Zuletzt abgerufen am: 14.12.2012 [WUEN] http://www.wuerttembergische-energie.de/tranchenmodell-strom.html Zuletzt abgerufen am: 14.12.2012

Seite 28

Visualisierung von energiewirtschaftlichen Zeitreihen im Web-Browser 14.12.2012 / Simon Rehker

7

Seite 29

Abbildungsverzeichnis

Abbildung 2.1: Das Festpreismodell: Chancen- und Risikoreich

6

Quelle: http://www.e3-energie.de/index.php/verbraucher/einkaufsstrategie Zuletzt abgerufen am: 14.12.2012

Abbildung 2.2: Das Tranchenmodell: Chancen- und Risikoarm

8

Quelle: http://www.e3-energie.de/index.php/verbraucher/einkaufsstrategie Zuletzt abgerufen am: 14.12.2012

Abbildung 2.3: Durchschnittliche tägliche deutsche Lastkurve des Jahres 2006 für die Monate Januar, März, Juni und September

10

Quelle: http://digbib.ubka.uni-karlsruhe.de/volltexte/documents/1463651 Zuletzt abgerufen am: 14.12.2012

Abbildung 2.4: Deutsche Lastkurve 2006 eines Werktags, eines Samstags und eines Sonntags im Januar (links) sowie Juni (rechts)

10

Quelle: http://digbib.ubka.uni-karlsruhe.de/volltexte/documents/1463651 Zuletzt abgerufen am: 14.12.2012

Abbildung 2.5: Zusammenhänge zwischen den einzelnen Komponenten einer allgemeinen Zeitreihe

11

Quelle: http://www.vwi.tu-dresden.de/~treiber/statistik2/statistik_download/folien10.pdf Zuletzt abgerufen am: 14.12.2012

Abbildung 2.6: Spektralansicht (oben) und klassische Darstellung (unten) einer Zeitreihe

13

Quelle: http://download.robotron.de/pdf/flyer_robotron_eprofiler_0110.pdf Zuletzt abgerufen am: 14.12.2012

Abbildung 3.1: 3-Tier-Architektur einer Web-Applikation

14

Quelle: http://docs.oracle.com/cd/A97335_02/apps.102/a86202/gifs/odsarch.gif Zuletzt abgerufen am: 14.12.2012

Abbildung 3.2: Visualisierung eines Fahrplans(blau), der offenen Position(dunkelrot) und eines tranchierten Geschäfts mit JFreeChart

16

Quelle: Eigene Darstellung

Abbildung 3.3: Visualisierung eines Fahrplans(blaue Linie), der offenen Position (dunkelroter Bereich unterhalb der x-Achse) und eines tranchierten Geschäfts mit HighStockJS

17

Quelle: Eigene Darstellung

Abbildung 4.1: Beispielhafter JSON-Code

18

Visualisierung von energiewirtschaftlichen Zeitreihen im Web-Browser 14.12.2012 / Simon Rehker

Seite 30

Quelle: http://www.zuellich.de/tutorials/kurzeinfuehrung-json Zuletzt abgerufen am: 14.12.2012

Abbildung 4.2: Exemplarisches JSON-Format einer Zeitreihe

19

Quelle: Eigene Darstellung

Abbildung 4.3: Vergleich zwischen dem traditionellen Modell für Web-Applikationen (links) und dem AJAX-Modell (rechts)

20

Quelle: http://www.adaptivepath.com/uploads/archive/images/publications/essays/ajax-fig1.png Zuletzt abgerufen am: 14.12.2012

Abbildung 4.4: AJAX-Request im Client mit JQuery-XHR

23

Quelle: Eigene Darstellung

Abbildung 4.5: REST-Service nimmt serverseitig den AJAX-Request entgegen

23

Quelle: Eigene Darstellung

Abbildung 4.6: Firebug-Auswertung der GET-Requests für das JFreeChart-Bild im PNG-Format im Vergleich zu den vom HighStockJS-Chart angeforderten Zeitreihendaten

24

Quelle: Eigene Darstellung

Abbildung 7.7: Firebug-Auswertung der GET-Requests mit gzip-Komprimierung bei der Übertragung von Zeitreihendaten Quelle: Eigene Darstellung

25

Suggest Documents