Zwischenbericht Projektgruppe Betreuer: Jörg Wadsack Jörg Niere Lothar Wendehals Teilnehmer: Philipp Hoven Vladislav Krasnyanskiy Johannes Lessmann Mike Liebrecht Yuhanna Ogur Carsten Reckord Gunnar Schmidt Konstantin Steinbrecher Entwurfsunterstützung verteilter Multimediasysteme mit Hilfe von Design Pattern
Beispiel einer verteilten MM-Anwendung Personalized TV Text Video Audio Grafik Animierter Text Animierter Text
Beispiel einer verteilten MM-Anwendung Personalized TV Text Video Audio Ad-Hoc Implementierung Probleme: Unübersichtlich Wartbarkeit Erweiterbarkeit Grafik Animierter Text Animierter Text DB TV-Studio DB D-Börse AG DB Reuters DB Tokio-Börse DB NY-Börse
Ziel Entwurfsunterstützung zum Erstellen von MM-Anwendungen mit Zugriff auf verteilte Daten MM-Anwendung OMMMA-L Autorensysteme Middleware Echtzeit MM-Daten Verteilung Entwurfsunterstützung Datenzugriff Netzwerk TV-Studio D-Börse AG Reuters Keine Unterstützung verteilter Daten
Java Media Framework Player für verschiedene Medien Video Audio etc. modulares Konzept zur Medienverarbeitung Codecs Prozessoren für Echtzeiteffekte Formatkonvertierung Datentransport mit Realtime-Protokoll Netzwerk RTP DB
Architektur mit JMF/RTP Middleware JMF Netzwerk RTP TV-Studio D-Börse AG Reuters
Topologischer Aufbau Anwendung Anwendung Netzwerk DB DB
Reines Peer-to-Peer Anwendung Anwendung Positiv Schnelle Kommunikation Ausfallsicherheit Negativ Aufwändige Verwaltung der Kommunikation DB DB
Zentraler Server Anwendung Anwendung Positiv Einfache Verwaltung der Kommunikation Negativ Schlechte Ausfallsicherheit Server DB DB
Serverfarm Anwendung Anwendung Positiv Ausfallsicherheit Einfache Verwaltung der Kommunikation Negativ Langsame Kommunikation Server Server Server DB DB
Realisierte Architektur Verwendung einer Serverfarm zum Aufbau der Datenübertragung Vorteile: Ausfallsicherheit einfache Verwaltung der Kommunikation Anwendung Anwendung Server Server Server DB DB Verwendung von Peer-to-Peer für die eigentlichen Multimediadaten Vorteile: Ausfallsicherheit schnelle Kommunikation Anwendung Anwendung DB DB
Kommunikation zwischen Servern Suchanfragen ? Suchanfrage: Typ=Video & Format=MPEG & Kategorie=Trailer Suchanfrage: Typ=Video & Format=MPEG & Kategorie=Trailer
Kommunikation zwischen Servern Suchanfragen ? ? ? ? ? Suchanfrage: Typ=Video & Format=MPEG & Kategorie=Trailer
Kommunikation zwischen Servern ? Suchanfragen ? ? ? ? ? ? Suchanfrage: Typ=Video & Format=MPEG & Kategorie=Trailer
Kommunikation zwischen Servern ? Suchanfragen ? ? ? ? ? ? ? ? ? ? ? ? Suchanfrage: Typ=Video & Format=MPEG & Kategorie=Trailer
Kommunikation zwischen Servern ? Suchanfragen ? ? ? ? ? ? ? ? ? ? ? ? Suchanfrage: Typ=Video & Format=MPEG & Kategorie=Trailer
Kommunikation zwischen Servern Herr der Ringe 1 Suchanfragen Harry Potter Star Wars 1 Star Wars 2 Lord of the Rings 1 1 2 Suchanfrage: Typ=Video & Format=MPEG & Kategorie=Trailer Lord of the Rings Herr der Ringe Harry Potter Star Wars 1 Star Wars 2
Kommunikation zwischen Servern 1 Suchanfragen 2 1 1 1 1 2 Suchanfrage: Typ=Video & Format=MPEG & Kategorie=Trailer Lord of the Rings Herr der Ringe Harry Potter Star Wars 1 Star Wars 2
Kommunikation zwischen Servern 1 Suchanfragen 1 2 1 2 1 Suchanfrage: Typ=Video & Format=MPEG & Kategorie=Trailer Lord of the Rings Herr der Ringe Harry Potter Star Wars 1 Star Wars 2
Kommunikation zwischen Servern 4 Suchanfragen 4 1 Suchanfrage: Typ=Video & Format=MPEG & Kategorie=Trailer Lord of the Rings Herr der Ringe Harry Potter Star Wars 1 Star Wars 2
Kommunikation zwischen Servern Suchanfragen 5 Suchanfrage: Typ=Video & Format=MPEG & Kategorie=Trailer Lord of the Rings Ergebnis: Harry Potter Herr der Ringe Lord of the Rings Star Wars 1 Star Wars 2 Herr der Ringe Harry Potter Star Wars 1 Star Wars 2
Kommunikation zwischen Servern Serverausfall Kommunikationsmöglichkeiten: über Baumkanten über zusätzliche Leitungen Jeder Server kennt die Adresse der Wurzel Die Wurzel hat Informationen über den kompletten Baum
Kommunikation zwischen Servern Serverausfall Kommunikationsmöglichkeiten: über Baumkanten über zusätzliche Leitungen Jeder Server kennt die Adresse der Wurzel Die Wurzel hat Informationen über den kompletten Baum
Kommunikation zwischen Servern Serverausfall Kommunikationsmöglichkeiten: über Baumkanten über zusätzliche Leitungen Jeder Server kennt die Adresse der Wurzel Die Wurzel hat Informationen über den kompletten Baum
Kommunikation zwischen Servern Serverausfall Kommunikationsmöglichkeiten: über Baumkanten über zusätzliche Leitungen Jeder Server kennt die Adresse der Wurzel Die Wurzel hat Informationen über den kompletten Baum
Kommunikation zwischen Servern Serverausfall Kommunikationsmöglichkeiten: über Baumkanten über zusätzliche Leitungen Jeder Server kennt die Adresse der Wurzel Die Wurzel hat Informationen über den kompletten Baum
Kommunikation zwischen Servern Serverausfall Kommunikationsmöglichkeiten: über Baumkanten über zusätzliche Leitungen Jeder Server kennt die Adresse der Wurzel Die Wurzel hat Informationen über den kompletten Baum
Kommunikation zwischen Servern Serverausfall Kommunikationsmöglichkeiten: über Baumkanten über zusätzliche Leitungen Jeder Server kennt die Adresse der Wurzel Die Wurzel hat Informationen über den kompletten Baum
Architektur mit Serverfarm Middleware JMF Netzwerk RTP TV-Studio D-Börse AG Reuters
Demo Suchmaske Player OORetspan Client Suchergebnisse
Demo Laptop ? ? Server ? ? Server ? R2D2 Mordred DB DB Gral Gwydion
þ þ ý Resümee Entwurfsunterstützung zum Erstellen von MM-Anwendungen mit Zugriff auf verteilte Daten þ MM-Anwendung OMMMA-L Autorensysteme Middleware Netzwerk TV-Studio D-Börse AG Reuters þ Middleware Echtzeit MM-Daten Verteilung Entwurfsunterstützung Datenzugriff JMF ý
Entwurfsunterstützung mit Fujaba und ReddMom Anwendung Middleware (Verteilung) Reddmom Middleware (Datenzugriff) Datenbanken
Datenbank-Middleware mit Reddmom Reengineering of distributed (federated) databases for multimedia objectoriented middleware Beispiel: Video +Name:String +fps:integer … Audio +kbps:integer Frontend … fps Name Video kbps Audio JDBC Sybase Reeng. Zugriff Forward Eng. Fujaba (UML/Java) EER/Mapping R e d d m o m
Entwurfsunterstützung mit Fujaba und ReddMom Anwendung Middleware (Verteilung) UML Reddmom Middleware (Datenzugriff) JDBC ODBC Datenbanken
Entwurf mit Design Pattern in Fujaba Fujaba bietet UML (Klassendiagramme, Aktivitätsdiagramme, …) Code-Generierung, Reverse-Engineering Klassisches Vorgehen Häufig wiederkehrende Probleme Entwurf mit Design Pattern Middleware zusammenstellbar mit Design Pattern Abdecken aller Bereiche mit Pattern, z.B. Verbindungsaufbau (Acceptor/Connector) Kommunikation (Abstract Session, Event Notification) Netzwerkverwaltung (Forwarder/Receiver, Router) Lesen/Schreiben von Daten (Serializer, Feature Extraction)
Entwurf mit Design Pattern in Fujaba Pattern-Instanziierung in Fujaba Bisher Einzelne Pattern aus Gamma et al. Feste Ausprägungen, keine Varianten Hart codiert Zusätzlich Pattern für verteilte MM-Applikationen Beziehungen zwischen Pattern (Pattern-Languages) Unterschiedliche Ausprägungen Parametrisierte Pattern Implementierungsvarianten Spezifikationssprache (?)
Entwurfsunterstützung mit Fujaba und ReddMom Anwendung Anbindung durch API JavaBeans Middleware Entwurf mit Design Pattern (Verteilung) UML Reddmom Middleware (Datenzugriff) JDBC ODBC Datenbanken
Zusammenfassung und Ausblick Entwurfsunterstützung mit Fujaba und ReddMom Anwendung + weitere Pattern + Pattern-Instanziierung Anbindung durch API JavaBeans Middleware (Verteilung) Entwurf mit Design Pattern Middleware (Verteilung & Datenzugriff) JMF UML Reddmom Middleware (Datenzugriff) + Schemaveränderung RTP JDBC ODBC Datenbanken TV-Studio D-Börse AG Reuters
Fragen? Ende Zwischenbericht Projektgruppe Universität Paderborn AG Softwaretechnik Prof. Dr. W. Schäfer Zwischenbericht Projektgruppe Fragen? Ende Entwurfsunterstützung verteilter Multimediasysteme mit Hilfe von Design Pattern Betreuer: Jörg Wadsack Jörg Niere Lothar Wendehals Teilnehmer: Philipp Hoven Vladislav Krasnyanskiy Johannes Lessmann Mike Liebrecht Yuhanna Ogur Carsten Reckord Gunnar Schmidt Konstantin Steinbrecher Unsere Homepage: www.uni-paderborn.de/cs/reddmom/ooretspan