Ressourcenoptimierung von Webapplikationen am Beispiel einer Rich Internet Applikation Sergej Becker Betreuender Prüfer: Prof. Dr. Olaf Zukunft KolloquiumZweitgutachter:Prof.

Slides:



Advertisements
Ähnliche Präsentationen
interaktiver Web Service Workflows
Advertisements

Anbindung mobiler Endgeräte über den Terminal Service
GIS und Google Earth Konkurrenz oder sinnvolle Partnerschaft Teil II
ZfS Aachen: Kompetenzen und Dienstleistungen für Mittelstand und Lehre.
:33 Architektur Moderner Internet Applikationen – Prolog Copyright ©2003 Christian Donner. Alle Rechte vorbehalten. Architektur Moderner.
Seminar Internetdienste Web 2.0 und Rich Internet Applications (RIA) JavaFX Rainer Scholz.
Web 2.0 und RIAs - Adobe Air1 Seminar: Web 2.0 und Rich Internet Applications Wintersemester 2007/2008 Daniel Thaidigsmann
Übung 5 Mehrstufige Client/Server-Systeme mit Enterprise Java Beans
Datenbankzugriff im WWW (Kommerzielle Systeme)
Erweiterung B2B Usermanagement / LDAP-Anbindung
Abschlusspräsentation cims. cims Abschlusspräsentation cims Agenda Aufgabenstellung Das System – Benutzerverwaltung / Abrechnungsmodell.
Abschlusspräsentation cims. cims Abschlusspräsentation cims Agenda Aufgabenstellung Das System – Benutzerverwaltung / Abrechnungsmodell.
Abschlusspräsentation cims. cims Abschlusspräsentation cims Agenda Aufgabenstellung Das System – Benutzerverwaltung / Abrechnungsmodell.
Abschlusspräsentation cims. cims Abschlusspräsentation cims Agenda Aufgabenstellung Das System – Benutzerverwaltung / Abrechnungsmodell.
Abschlusspräsentation cims. cims Abschlusspräsentation cims Agenda Aufgabenstellung Das System – Benutzerverwaltung – Architektur –
Konzeption und prototypische Implementierung eines zentralen Informationssystems für Systemmanagement Motivation Oft wird es schwierig, die benötigten.
Pascal Busch, WWI00B – Vergleich CORBA vs. Web Services hinsichtlich der Applikationsintegration Web Services vs CORBA Web Services vs CORBA Ein Vergleich.
Komponentenbasierter Taschenrechner mit CORBA
Web-Programmierung und Web 2.0-Technologien
Tomcat (I) Ende 1999 Jakarta-Projekt von Apache, IBM und Sun gegründet
Introducing the .NET Framework
Projekt Web Engineering
Hänchen & Partner GmbH 1 Web-Anwendungen mit dem Jakarta Struts Framework 3.Juli 2003 Martin Burkhardt.
Web-Anwendungsentwicklung à la MVC. Übersicht Über Georg Heeg Ein industrielles Beispiel Web-Anwendungen aus Smalltalker-Sicht MVC für das Web Programmierdemo.
Studienarbeit Mini-Web-Server auf einem Signalcontroller
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Weitere Vorgehensmodelle Der Rational Unified Process RUP –bei IBM.
Silverlight Eine Einführung. Agenda 1.Was ist Silverlight? 2.Die Silverlight Philosophie 3.Vorstellung des Szenarios 4.Einführendes Beispiel 5.Konzepte.
„Buy and Make“ anstelle von „Make or Buy“
Einführung / Geschichte Einführung / Geschichte Motivation Motivation Beispiel Beispiel Architektur / Komponenten Architektur / Komponenten Konfiguration.
Mit 3 Schichte zum Erfolg
Erstellen einer Webseitenstatistik mithilfe eines OLAP-Servers
Erstellen einer Webseitenstatistik mithilfe eines OLAP-Servers
Aichinger Christian, Strasser Jürgen. Inhalt JSF EJB Praxis - Integration.
Windows Server 2008 Kurzüberblick Dr. Richtmann+Eder AG Olschewskibogen München.
App-Entwicklung mit HTML5, CSS und JavaScript
Technische Universität München BDE! Mobile Entwicklung einer mobilen Webanwendung für einen auf ältere Menschen zugeschnittenen sozialen Marktplatz Bearbeiter:
RATEME Suchen und Bewerten von Ausgangsorten. Inhalt RateMe - Pirmin Schürmann, Thomas Junghans - Hochschule für Technik Zürich 2 Unser Ziel.
Windows Presentation Foundation WS 2013/14 Prof. Dr. Herrad Schmidt
Wasserfallmodell und Einzelbegriffe
RATEME Suchen und Bewerten von Ausgangsorten. Inhalt RateMe - Pirmin Schürmann, Thomas Junghans - Hochschule für Technik Zürich 2 Unser Ziel.
© Zühlke 2012 Oliver Brack Romano Roth iOS, Android, WP7: Alle nativ auf einen Streich Fragenkatalog zu umgesetzten Apps 27. September 2012 Folie 1.
Dipl.-Inform. (FH) Mike Bach Unterschiedliche Anwendungen im Unternehmen – Warum, Wer und Wie Best-of-Breed vs. Alles aus einer Hand Dipl.-Inform. Mike.
Zentrale Authentifizierungsplattform mit Open Text Website Management bei Thieme.
Online GIS Online GIS – Der Nutzer Matthias Hofschen, ESRI Germany ESRI EUROPEAN USER CONFERENCE.
Ajax und Webentwicklung mit Prototype
JABBA: Flexibles Web - Interface Semesterarbeit von Thomas Zwicker, Thomas Moser und Lukas Karrer Prof. L. Thiele Betreuung: J. Greutert TIK ETH Zürich.
Eingereicht von:Michael Schrank Betreuung:o.Univ.-Prof. Dr. Hanspeter Mössenböck Mitbetreuung:Dipl.-Ing. Wolfgang Beer CyberStudent A Multiuser Awareness.
Microsoft.NET InfoPoint 8. Juni 2005 Stefan Bühler.
Ilmenau, den * * Torsten Kunze
Analyse und Umsetzung einer Filter-basierten Paketverarbeitungsmaschine für IP-Netzwerke Lehrstuhl für Systemarchitektur und Betriebssysteme Forschungs-
SE2 Projekt Präsentation Wolf, Juchli, Charriere, Leutenegger.
Sicherheitsaspekte in Service Orientierten Architekturen Eike Falkenberg Sommersemester 2006 Anwendungen I.
Flex On Wings Andreas Marochow
Berner Fachhochschule | Haute école spécialisée bernoise | Bern University of Applied Sciences Projekt ▶ Software Engineering FS 2015 | Beat Luginbühl,
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Praktikum Mobile Web 2.0 – 2.Teil Wolfgang Wörndl, Robert Eigner.
, Claudia Böhm robotron*SAB Anwendungsentwicklung mit dem Java und XML basierten Framework robotron*eXForms Simple Application Builder.
Entwurf, Implementierung und Test eines Java – Web Services als Kommunikationsschnittstelle für Webapplikationen mit Funktionen.
Rechen- und Kommunikationszentrum (RZ) Entwicklung einer Web- Oberfläche mit Apache Wicket am Beispiel des IdentityAdmins Seminarvortrag Melanie.
IT-Dienstleistungen E-Learning Systeme Content Management 1 Fallbeispiel ILIAS: Das Repository-Objekt-Plugin „Centra“
Central Ticketing Solution Konzept für den Umgang mit Kundenanfragen Seminarvortrag Artur Schäfer
Comprehensive Information Base (CIB) – ein Prototyp zur semantischen Datenintegration Stefan Arts
© WZL/Fraunhofer IPT Entwicklung einer Profilbörse für Konfigurationen von Smartphones Vortrag der Seminararbeit von Patrick Posor Aachen, den
Semi-automatische Komposition von Dienstbenutzerschnittstellen auf mehreren Abstraktionsebenen Christian Jäckel Universität des Saarlandes Bachelor.
1. Betreuer: Prof. Dr. Jörg Striegnitz 2. Betreuer: Dr. Martin Schindler Kontextsensitive Autocompletion für Klassendiagramme in der UML/P Florian Leppers.
XML-basierte Beschreibungssprachen für grafische Benutzerschnittstellen Seminarvortrag im Studiengang „Scientific Programming“ von Steffen Richter.
© 2008 TravelTainment The Amadeus Leisure Group Webanwendungen mit Java - HttpServlets 17.Dezember 2010 Sebastian Olscher Erstprüfer: Hon.-Prof. Dr. H.
OpenLayers FEATURES DATENQUELLEN
 Präsentation transkript:

Ressourcenoptimierung von Webapplikationen am Beispiel einer Rich Internet Applikation Sergej Becker Betreuender Prüfer: Prof. Dr. Olaf Zukunft KolloquiumZweitgutachter:Prof. Dr. Michael Neitzke1

Motivation: Warum Ressourcenoptimierung von Webapplikationen? Ziele der Arbeit Grundlagen Anforderungsanalyse Entwurf Implementierung Evaluierung: Test und Testergebnisse Fazit: Ergebnisse und Ausblick Demo Inhalt Kolloquium2 Ressourcenoptimierung von Webapplikationen am Beispiel einer Rich Internet Applikation

Motivation: Warum Ressourcenoptimierung von Webapplikationen? Kolloquium3 Ressourcenoptimierung von Webapplikationen am Beispiel einer Rich Internet Applikation

Ressourcen- Vorstellung und Betrachtung von ressourcenaufwendigen Webapplikationen Erarbeitung der Ressourcenoptimierung von Webapplikationen Analyse der erarbeiteten Ressourcenoptimierungsmöglichkeit am Beispiel einer RIA (Anziehanwendung) Entwurf dieser Webapplikation anhand der Analyse, sowie prototypische Umsetzung des Entwurfs zwecks Überprüfung der Realisierbarkeit Ziele der Arbeit Kolloquium4 Ressourcenoptimierung von Webapplikationen am Beispiel einer Rich Internet Applikation

Arten: –serverseitig –clientseitig Architektur –standalone –integriert Webapplikation = Applikation + Benutzerschnittstelle Web- Browser Sehr vorteilhaft –hohe Verfügbarkeit –keine Installation (Art: serverseitig) –große Verbreitung Tendenz: hohe Ressourcenanforderungen Grundlagen: Webapplikationen Kolloquium5 Ressourcenoptimierung von Webapplikationen am Beispiel einer Rich Internet Applikation

Relevante Leistungen: –Speicherplatz –Monatlicher Traffic bzw. monatliches Übertragungsvolumen Ressourcenaufwendige Webapplikationen beeinflussen diese Leistungen Tendenz: Kosten steigen Grundlagen: Domänendienstleistungen Kolloquium6 Ressourcenoptimierung von Webapplikationen am Beispiel einer Rich Internet Applikation

Kosten = Entwicklungskosten + Betriebskosten Entwicklung der Webapplikation → meistens wiederholbare Arbeit bzw. Komponenten Betriebskosten (Traffic- und Speicherkosten) → Hauptverursacher der Kosten Betriebskosten → abhängig von der Besucherzahl Ressourcenoptimierung muss die o.g. Punkte beachten ! Grundlagen: Kosten Kolloquium7 Ressourcenoptimierung von Webapplikationen am Beispiel einer Rich Internet Applikation

Größe der Webapplikation Traffic Implementierungsaufwand der Webapplikation Performanz bzgl. der Interaktivität der Benutzerschnittstelle Erarbeitete Ressourcenoptimierung Kolloquium8 Ressourcenoptimierung von Webapplikationen am Beispiel einer Rich Internet Applikation

riesige (mglst. unendliche) Benutzerdatenbank Persistenz: –unendlicher Speicherplatz –zuverlässig –effizient Sehr großer Speicherplatzbedarf der Webapplikation Universalität Grundlegende Anforderungen Kolloquium9 Ressourcenoptimierung von Webapplikationen am Beispiel einer Rich Internet Applikation

‚Crossdomain‘-Kommunikation Sehr geringer Speicherplatzbedarf der Webapplikation Hoher Asynchronitätsgrad der Webapplikation effizient mit dem Ziel: Entwicklungs- und Betriebskosten so viel wie möglich zu reduzieren Technische Anforderungen Kolloquium10 Ressourcenoptimierung von Webapplikationen am Beispiel einer Rich Internet Applikation

Anziehanwendung Repräsentant Kolloquium11 Ressourcenoptimierung von Webapplikationen am Beispiel einer Rich Internet Applikation Webapplikationen Rich Internet Applikationen (RIAs) RIA: die zu implementierende ‚Anziehanwendung‘

Anziehanwendung Repräsentant Kolloquium12 Ressourcenoptimierung von Webapplikationen am Beispiel einer Rich Internet Applikation

Anwendungsfälle Kolloquium13 Ressourcenoptimierung von Webapplikationen am Beispiel einer Rich Internet Applikation Login Logout Laden der Inventarbilder Drag-And-Drop der Inventarbilder Skalieren der Inventarbilder Laden der Wetterinformation Bildbearbeitung

RIA: –‚Crossdomain‘-Kommunikation ohne Mitspielen der Home- Domäne → Serverauslastung ‚gegen Null‘ –performanter hinsichtlich der Validierungen und Bedienbarkeit Web Services und Web-APIs: –asynchron –erweiterbar –Login-, Cloud-Anforderungen → gelöst Asynchrone Kommunikation: trägt der allgemeinen Performancesteigerung bei Mittel der Wahl Kolloquium14 Ressourcenoptimierung von Webapplikationen am Beispiel einer Rich Internet Applikation

Architektur Framework, Web Services und Web-APIs Entwurfsmuster Webapplikationskomponenten im Detail –LOGIN –CLOUD –WEATHER –ANALYTICS –CUSTOMIZATION Wie wurden die Anforderungen berücksichtigt? Entwurf Kolloquium15 Ressourcenoptimierung von Webapplikationen am Beispiel einer Rich Internet Applikation

Fachliche Architektur Kolloquium16 Ressourcenoptimierung von Webapplikationen am Beispiel einer Rich Internet Applikation User Interface (UI) LOGIN CLOUD CUSTOMIZATION BILDBEARBEI TUNG ANALYTIC WEATHER Web Services und Web-APIs YAHOO: FLICKR YAHOO : OpenID GOOGLE: OpenID GOOGLE: Analytics YAHOO: Weather RSS Feed

Technische Architektur Kolloquium17 Ressourcenoptimierung von Webapplikationen am Beispiel einer Rich Internet Applikation Browser Flash Player Webapplikation LOGIN CLOUD WEATHER ANALYTICS CUSTOMIZA TION BILDBEARBEI TUNG Webserver (Apache) Externe Web Services GOOGLE OpenID 2.0 YAHOO OpenID 2.0 YAHOO Flickr YAHOO Weather RSS Feed GOOGLE Analytics com.adobe.webapis.flickr.* com.yahoo.webapi s.weather.* com.google.analytics.* com.dougmccune.containers.* http

Flash bzw. Flex (Flex-SDK 3.2.0): –eine der führenden Plattformen –clientseitige Architektur –sehr große Verbreitung und Akzeptanz –Open-Source-Produkt Verwendetes Framework für RIA Kolloquium18 Ressourcenoptimierung von Webapplikationen am Beispiel einer Rich Internet Applikation

YAHOO Web Services und Web-APIs –Flickr Cloud API* –Yahoo Authentication & Sign In* –Yahoo Weather RSS Feed* GOOGLE Web Services und Web-APIs –GOOGLE ACCOUNT API* –PICASA WEB ALBUMS DATA API –GOOGLE ANALYTICS* Verwendete Web Services und Web-APIs Kolloquium19 Ressourcenoptimierung von Webapplikationen am Beispiel einer Rich Internet Applikation

Komponentenbasierte MVC-Architektur: –Model: Klassen für Daten- und Schnittstellenkapselung –View: Klassen für das UI –Controller: Klassen für die Logik Lose Kopplung: –erhöht Wiederverwendbarkeit –reduziert Abhängigkeit Entwurfsmuster Kolloquium20 Ressourcenoptimierung von Webapplikationen am Beispiel einer Rich Internet Applikation

externe Aufrufe: –LOGIN –CLOUD –WEATHER –ANALYTICS interne Aufrufe: –CUSTOMIZATION Webapplikationskomponenten Kolloquium21 Ressourcenoptimierung von Webapplikationen am Beispiel einer Rich Internet Applikation

LOGIN Kolloquium22 Ressourcenoptimierung von Webapplikationen am Beispiel einer Rich Internet Applikation > Openid OpenidImplBase #createOpenidParameters() : URLVariables #createOpenidParametersWithAttributes() : URLVariables #createOpenidParametersPlusOAuth() : URLVariables #initOpenidService() : void #openidService() : void #setCookiesForOpenidService() : void #filterOpenidService() : void #showOpenidServiceDataTip(MouseEvent) : void OpenidYahoo #initOpenidService() : void #openidService() : void #setCookiesForOpenidService() : void #filterOpenidService() : void #showOpenidServiceDataTip(MouseEvent) : void OpenidGoogle > Button > flash.net Component

CLOUD Kolloquium23 Ressourcenoptimierung von Webapplikationen am Beispiel einer Rich Internet Applikation > Button #initCloudService() : void #getCloud() : void #cloudUserClick() : void #genericResponseHandler() : Event #initCloudService() : void #getCloud() : void #onPeopleFindByUsername(FlickrResultEvent) : void #createUrl(String, String, String) : void CloudYahoo > Cloud CloudImplBase > TileList FlickrResultEvent Component > com.adobe.webapis.flickr.*

WEATHER Kolloquium24 Ressourcenoptimierung von Webapplikationen am Beispiel einer Rich Internet Applikation > Button > Label, Image #initWeatherService() : void #getWeather() : void #weatherResultEventHandler(WeatherResultEvent) : void #weatherErrorEventHandler(WeatherErrorEvent) : void #showWeatherServiceDataTip(MouseEvent) : void WeatherYahoo > Weather WeatherImplBase #initWeatherService() : void #getWeather() : void #weatherResultEventHandler(WeatherResultEvent) : void #weatherErrorEventHandler(WeatherErrorEvent) : void #showWeatherServiceDataTip(MouseEvent) : void WeatherResultEvent Component > com.yahoo.webapis.weather.*

ANALYTICS Kolloquium25 Ressourcenoptimierung von Webapplikationen am Beispiel einer Rich Internet Applikation > Analytics #initAnalyticsService() : void AnalyticsImplBase #initAnalyticsService() : void #ga4OpenidGoogle() : void #ga4OpenidYahoo() : void #ga4WeatherYahoo() : void #ga4CloudYahoo() : void #ga4CloudYahooPerformanceStart() : void #ga4CloudYahooPerformanceEnd() : void AnalyticsGoogle > com.google.analytics.*

CUSTOMIZATION Kolloquium26 Ressourcenoptimierung von Webapplikationen am Beispiel einer Rich Internet Applikation > Canvas > Customization doDragStart(MouseEvent) : void doDragEnter(DragEvent) : void doDragDrop(DragEvent) : void dragOverHandler(DragEvent) : void CustomizationImpl doDragStart(MouseEvent) : void doDragEnter(DragEvent) : void doDragDrop(DragEvent) : void dragOverHandler(DragEvent) : void > com.dougmccune.containers.* > mx.controls.* > mx.core.* DragEvent Component CLOUDBILDBEARBEITUNG

Anforderungen Umsetzung Benutzerdatenbank Persistenz Speicherplatzbedarf Hoher Asynchronitätsgrad Erweiterbarkeit ‚Crossdomain‘-Kommunikation Effizienz Entwurf: Zusammenfassung Kolloquium27 Ressourcenoptimierung von Webapplikationen am Beispiel einer Rich Internet Applikation Web Services und Web- APIs Entwurfsmuster clientseitige Anwendung clientseitige Anwendung, Asynchronität

Entwicklungsumgebung: –Adobe Flex Builder 3 Pro (akademische Lizenz) –Framework Flex-SDK –Laufzeitumgebung: Webserver Apache –Deployment: SFTP-Client (WinSCP) Testumgebung: –der o.g. Webserver (HAW) –eigener zur Verfügung stehender Webserverplatz (HAW) –Browser Firefox 3, IE 8 (Flash Player 10) –Standard-PC und Notebook (Windows 7 Professional) Implementierung Kolloquium28 Ressourcenoptimierung von Webapplikationen am Beispiel einer Rich Internet Applikation

Test und Testergebnisse Kolloquium29 Ressourcenoptimierung von Webapplikationen am Beispiel einer Rich Internet Applikation Traffic-Darstellung nach dem ersten Aufruf der Webapplikation Traffic-Darstellung nach dem Abrufen der Inventarbilder des jeweiligen Benutzers

Ressourcenoptimierung: –RIA + Web Services und Web-APIs = geringe Komplexität Analyse der Ansatzes: geeignet –clientseitige Anwendung –externe Web Services und Web-APIs Entwurf der Webapplikation: –realisierbar Umsetzung und Empfehlungen: –zu großen Teilen umgesetzt –benutzerfreundliches und ausfallsicheres Fehler-Handling –komplexe Anwendungsfälle → ausreichende Unterstützungshilfen –Web Services und Web-APIs → Feldvalidierungen Fazit: Ergebnisse Kolloquium30 Ressourcenoptimierung von Webapplikationen am Beispiel einer Rich Internet Applikation

fehlende Funktionalität: –Usability-Verbesserung (CUSTOMIZATION) –Bildbearbeitung –interessante zusätzliche Features weitere Ziele: –Untersuchung der Wahrnehmung Erweiterungen: –OAuth-Authetifizierung → Performancesteigerung –Zusammenhang zwischen den verwendeten Web Services und Web- APIs Ausblick: mögliche Erweiterungen Kolloquium31 Ressourcenoptimierung von Webapplikationen am Beispiel einer Rich Internet Applikation

Demo Kolloquium32 Ressourcenoptimierung von Webapplikationen am Beispiel einer Rich Internet Applikation Demo

Vielen Dank für die Aufmerksamkeit!