verteilte web-anwendungen mit ruby ruben schempp anwendungen 1 29.05.2007

25
Verteilte Web-Anwendungen mit Ruby Ruben Schempp Anwendungen 1 29.05.2007

Upload: wiebke-dreessen

Post on 05-Apr-2015

114 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Verteilte Web-Anwendungen mit Ruby Ruben Schempp Anwendungen 1 29.05.2007

Verteilte Web-Anwendungen mit RubyRuben Schempp

Anwendungen 1

29.05.2007

Page 2: Verteilte Web-Anwendungen mit Ruby Ruben Schempp Anwendungen 1 29.05.2007

Verteilte Web-Anwendungen mit Ruby 229.05.2007

GliederungGliederung

Motivation Verteilte Web-Anwendungen

Definition Beispiele Gemeinsamkeiten

Szenario Ausrichtung Anforderungen Abgrenzungen

Technologien Ruby

Fazit Zusammenfassung Ausblick

Page 3: Verteilte Web-Anwendungen mit Ruby Ruben Schempp Anwendungen 1 29.05.2007

Verteilte Web-Anwendungen mit Ruby 329.05.2007

MotivationMotivation

Computer unterstützen gemeinsames Arbeiten Benötigt Verteilte Anwendungen/Systeme Setzt einfachen, flexiblen Zugang zum System voraus

Verteilte Anwendungen im Bereich des Collaborative Workplace, z.B. Leitstand Informationszentrale Gaming

Flexible Darstellung von Informationen auf Clients Browser Verschiedene, heterogene Endgeräte

Schwerpunkt Infrastruktur (u. Architektur) Technologie-Grundlage für ein Szenario

Page 4: Verteilte Web-Anwendungen mit Ruby Ruben Schempp Anwendungen 1 29.05.2007

Verteilte Web-Anwendungen mit Ruby 429.05.2007

Verteilte Web-Anwendungen – Verteilte Web-Anwendungen – DefinitionDefinition Anwendung basierend auf Verteiltem System

Verbund von Rechnern zu einem Gesamtsystem Transparente Architektur Rechner dienen derselben Sache

Web-Anwendung Dargestellt durch Browser

Page 5: Verteilte Web-Anwendungen mit Ruby Ruben Schempp Anwendungen 1 29.05.2007

Verteilte Web-Anwendungen mit Ruby 529.05.2007

Verteilte Web-Anwendungen – Verteilte Web-Anwendungen – BeispieleBeispiele

Page 6: Verteilte Web-Anwendungen mit Ruby Ruben Schempp Anwendungen 1 29.05.2007

Verteilte Web-Anwendungen mit Ruby 629.05.2007

Verteilte Web-Anwendungen – Verteilte Web-Anwendungen – BeispieleBeispiele

Page 7: Verteilte Web-Anwendungen mit Ruby Ruben Schempp Anwendungen 1 29.05.2007

Verteilte Web-Anwendungen mit Ruby 729.05.2007

Verteilte Web-Anwendungen – Verteilte Web-Anwendungen – BeispieleBeispiele

Page 8: Verteilte Web-Anwendungen mit Ruby Ruben Schempp Anwendungen 1 29.05.2007

Verteilte Web-Anwendungen mit Ruby 829.05.2007

Verteilte Web-Anwendungen – Verteilte Web-Anwendungen – BeispieleBeispiele

Page 9: Verteilte Web-Anwendungen mit Ruby Ruben Schempp Anwendungen 1 29.05.2007

Verteilte Web-Anwendungen mit Ruby 929.05.2007

Verteilte Web-Anwendungen – Verteilte Web-Anwendungen – BeispieleBeispiele

Page 10: Verteilte Web-Anwendungen mit Ruby Ruben Schempp Anwendungen 1 29.05.2007

Verteilte Web-Anwendungen mit Ruby 1029.05.2007

Verteilte Web-Anwendungen – Verteilte Web-Anwendungen – Gemeinsamkeiten Gemeinsamkeiten Kontext der Aufgaben

Web 2.0 Entsprechend ähnliche technische Umsetzung

Frontend Web-Oberfläche Evtl. Google-Maps API

Backend Web-Server Datenbank Verteiltes Informationssystem

Page 11: Verteilte Web-Anwendungen mit Ruby Ruben Schempp Anwendungen 1 29.05.2007

Verteilte Web-Anwendungen mit Ruby 1129.05.2007

Verteilte Web-Anwendungen – Verteilte Web-Anwendungen – InformationssystemInformationssystem

System bzw. Werkzeug (nach Prof. Raasch)

SpeicherungWiedergewinnungVerknüpfung & Auswertung

… von Informationen

Page 12: Verteilte Web-Anwendungen mit Ruby Ruben Schempp Anwendungen 1 29.05.2007

Verteilte Web-Anwendungen mit Ruby 1229.05.2007

Szenario – ThemaSzenario – Thema

Bereich des Collaborative Workplace Leitstand Informationszentrale Einsatzleitstelle

Konkret beispielsweise Verteiltes Informationsystem Leitstand Google-Maps Karte mit Einblendung der aktuellen Position von

Einsatzfahrzeugen der Polizei (Vogelperspektive) Verschiedene Endgeräte

Festinstallationen Mobile Endgeräte unterschiedlicher Art

Page 13: Verteilte Web-Anwendungen mit Ruby Ruben Schempp Anwendungen 1 29.05.2007

Verteilte Web-Anwendungen mit Ruby 1329.05.2007

Szenario – ThemaSzenario – Thema

Leitstand Zentrale Überblick Gemeinsames Arbeiten Fernab des Geschehens oder

vor Ort Tätigkeiten

Verwaltung/Koordination Informationen sammeln Gezielt steuern…eines Einsatzes und der

Einsatzkräfte vor Ort

Page 14: Verteilte Web-Anwendungen mit Ruby Ruben Schempp Anwendungen 1 29.05.2007

Verteilte Web-Anwendungen mit Ruby 1429.05.2007

Szenario – Szenario – Funktionale AnforderungenFunktionale Anforderungen Sammeln … Aufbereiten … Speichern/Loggen … Zur Verfügung stellen …

von Informationen über Positionen von Personen/Einsatzkräften/Fahrzeugen Integriert in eine Umgebung/Kartenmaterial Andere Point-of-Interests Zusätzliche Informationen für Orte (Temperatur, …) …

Usability Einfache/Intuitive Bedienbarkeit bei hohem Stresspegel

Page 15: Verteilte Web-Anwendungen mit Ruby Ruben Schempp Anwendungen 1 29.05.2007

Verteilte Web-Anwendungen mit Ruby 1529.05.2007

Szenario – Szenario – Nichtfunktionale AnforderungenNichtfunktionale Anforderungen

Aspekte des Systems Verfügbarkeit Fehlertoleranz Skalierbarkeit Persistenz Zugriffsrechte Architektur/Aufbau

Kommunikationsmodell Middleware? Remote Procedure Call vs. Blackboard/Tupel Spaces?

Page 16: Verteilte Web-Anwendungen mit Ruby Ruben Schempp Anwendungen 1 29.05.2007

Verteilte Web-Anwendungen mit Ruby 1629.05.2007

Szenario – Szenario – Nichtfunktionale AnforderungenNichtfunktionale Anforderungen

Erweiterbarkeit durch Komponenten Services Anbindung an / Integration in andere Systeme

Unterschiedliche Endgeräte Mobilität/Verbindung Ressourcen Betriebssysteme Programmiersprachen Schnittstellen

Page 17: Verteilte Web-Anwendungen mit Ruby Ruben Schempp Anwendungen 1 29.05.2007

Verteilte Web-Anwendungen mit Ruby 1729.05.2007

Szenario – AbgrenzungSzenario – Abgrenzung

Keine Schwerpunkte sollen sein Sicherheit/Rechte Transaktionen Persistenz Wearable Computing Ausgefeilte Sensorik …?

Page 18: Verteilte Web-Anwendungen mit Ruby Ruben Schempp Anwendungen 1 29.05.2007

Verteilte Web-Anwendungen mit Ruby 1829.05.2007

Szenario –Szenario –Bestandteile des SystemsBestandteile des Systems

Client Verbindung Browser Hardware

Große Multi-Touchdisplays für Zentrale(n)

Mobile Geräte Server

Webserver Datenbank (Web-)Services Anwendungslogik

Page 19: Verteilte Web-Anwendungen mit Ruby Ruben Schempp Anwendungen 1 29.05.2007

Verteilte Web-Anwendungen mit Ruby 1929.05.2007

TechnologienTechnologien Unterschiedliche Architekturtypen

Bestehende Arbeiten Middleware (Lars Burfeindt) Architekturtypen (Roman Bartnik) …

In Frage kommen Web2.0

Ajax (Asynchonous JavaScript and XML) Google Maps

Java (Google Web Toolkit) Virtual Machine Frameworks

Ruby Ruby on Rails JRuby Frameworks

Page 20: Verteilte Web-Anwendungen mit Ruby Ruben Schempp Anwendungen 1 29.05.2007

Verteilte Web-Anwendungen mit Ruby 2029.05.2007

Ruby – Die SpracheRuby – Die Sprache

Open Source Verwandt mit Smalltalk, Python

und Perl Rein objektorientiert Stark und dynamisch typisiert Reguläre Ausdrücke Lexical Closures (z.B. Blöcke) Klar strukturierte, orthogonale

(Skript-) Sprache Klassen und Objekte zur Laufzeit erweiterbar: hohe

Dynamik

Page 21: Verteilte Web-Anwendungen mit Ruby Ruben Schempp Anwendungen 1 29.05.2007

Verteilte Web-Anwendungen mit Ruby 2129.05.2007

Ruby – Die VorteileRuby – Die Vorteile

Smalltalk kann viel, Ruby auch Die vielleicht produktivste Sprache Kein Kompilieren notwendig Metaprogrammierung & Reflection sind einfach Einsatz und Eignung von Ruby on Rails? Einsatz von JRuby?

Ist zu Prüfen Evtl. Einsatz von JVM und bestehenden Java Frameworks

möglich → Vorteile für Architektur, dynamische Inhalte

Page 22: Verteilte Web-Anwendungen mit Ruby Ruben Schempp Anwendungen 1 29.05.2007

Verteilte Web-Anwendungen mit Ruby 2229.05.2007

Fazit – ZusammenfassungFazit – Zusammenfassung

Szenario Einsatzleitzentrale: Darstellung von aktuellen

Informationen (Position,…) in Kartenmaterial Ziel

Szenario durch verteilte Web-Anwendung unterstützen

Mittel der Wahl Architektur Ruby Ajax?

Page 23: Verteilte Web-Anwendungen mit Ruby Ruben Schempp Anwendungen 1 29.05.2007

Verteilte Web-Anwendungen mit Ruby 2329.05.2007

Fazit – AusblickFazit – Ausblick

Analyse und Wahl geeigneter Technologien Design einer Architektur

Bekanntes und Bewährtes? Eignung eines Blackboards? Integration von Google Maps?

Erstellung eines Prototypen Realisierung eines Kern-Systems für eine

Einsatzleitzentrale auf Basis von Ruby

Page 24: Verteilte Web-Anwendungen mit Ruby Ruben Schempp Anwendungen 1 29.05.2007

Verteilte Web-Anwendungen mit Ruby 2429.05.2007

Quellen / LiteraturQuellen / Literatur

Lars Burfeindt, Diplomarbeit http://users.informatik.haw-hamburg.de/~ubicomp/arbeiten/diplom/burfeindt.pdf

Roman Bartnik, Diplomarbeit http://users.informatik.haw-hamburg.de/~ubicomp/arbeiten/diplom/bartnik.pdf

Horst Mund, Diplomarbeit http://users.informatik.haw-hamburg.de/~ubicomp/arbeiten/diplom/mund.pdf

Andreas Piening, Masterprojekthttp://users.informatik.haw-hamburg.de/~ubicomp/projekte/master06-07-aw/piening/folien.pdf

Ruben Schempp, Bachelorarbeit http://users.informatik.haw-hamburg.de/~ubicomp/arbeiten/bachelor/schempp.pdf

A. Tanenbaum, Computer Networks, Prentice Hall 2003 J. Raasch, Folien Vorlesung „Architektur von

Informationssystemen“, HAW-Hamburg Google.com – Google Docs, Spreadsheets, Maps & Labs

Page 25: Verteilte Web-Anwendungen mit Ruby Ruben Schempp Anwendungen 1 29.05.2007

Verteilte Web-Anwendungen mit Ruby 2529.05.2007

Ende / DiskussionEnde / Diskussion

Gibt es noch Fragen …?