Projekt: radioSiTY

6. Juni 2008 – 17:02

Einleitung

Projekt radioSiTY bezeichnet das 2. größere Projekt was von uns während des Studiums konzipiert und erstellt wurde. Dabei handelt es sich um eine Web-Stream-Plattform, die während des 4. Semesters in der Veranstaltung Multi-Media Engineering 2 entwickelt wurde.
Zunächst ersteinmal zwei Bilder, damit ihr eine Vorstellung von der GUI bekommt.

radio1

radio2

Die Anwendung

Mit dieser Anwendung ist es möglich AOL- und Shoutcastsstreams zu hören. Zu jedem Sender kann man sich aktuelle Informationen über den Sender selbst, den Song der gerade gespielt wird und noch viele andere Sachen anschauen. Es ist weiterhin möglich die Sender zu bewerten und zu kommentieren. Dies ist aber erst möglich sobald man sich erfolgreich registriert hat. Genauere Informationen und noch mehr Bilder findet ihr auf dem Blog meines Mitentwicklers Michael Palmer.

Die Applikation ist unter folgender URL zu finden: http://62.75.209.120/radio/#

Umsetzung/Probleme

Für unsere Entwicklung haben wir uns einen vServer gemietet, auf dem die aktuelle Version vorliegt. Leider muss man sagen das unsere Anwendung diesen sehr schnell in die Knie zwingt und keiner Dauerbelastung stand hält. Das liegt daran das wir gerade einmal 512MB Flex-Ram zu Verfügung haben und alleine der FDS-Tomcat uns davon beim Starten ~350MB ‘klaut’(JVM). Wir mussten uns eigentlich auch schon einem ‘Trick’ (siehe Conclusion) bedienen um den Tomcat überhaupt starten zu können. Das heißt um unsere Applikation eigentlich vernünftig zu hosten wäre ein vServer/RootServer mit mindestens 1GB Ram erforderlich. Leider haben wir nicht das benötigte Kleingeld dafür! Bitte habt somit Verständniss dafür, dass die Applikation keiner Dauerbelastung standhält und es durchaus sein kann das der Server irgendwann nicht mehr antwortet :-(

Weitere Probleme ergaben sich mit dem Auslesen der Streaminformation bzw. dem generellen Abspielen, der Arbeit mit Flex insbesonderen mit einem strukturierten Aufbau mit mehreren mxml’s, AS3 Klassen und Events. Ein größeres Problem ergab sich zunächst auch mit der Arbeit um Hibernate bei dem viel Zeit verloren gegangen ist. Schuld war hier ran das wir nicht auf dem Server direkt unsere Klassen kompilierten und es folglich immer zu unschönen ‘Can’t find destination’ Fehlern kam. Die Lösung bemerkten wir erst als wir uns wieder dem Datenaustausch zwischen Frontend und Backend via RPC’s zuwanden, wo wir zunächst vor dem selben Problem standen. Eine genauere Beschreibung des Problemes und ein kleines HowTo zu der Arbeit mit Flex und Hibernate auf dem FDS-Tomcat werde ich in nächster Zeit bloggen.

In diesem Projekt haben wir Papervision 2.0 für die Slideshow und die BassBox verwendet. Die komplette GUI wurde mit Flex selbst gestaltet. Für die Datenhaltung haben wir MySQL und JDBC verwendet. Eigentlich wollten wir das komplette Datenmanagement mit Hibernate und dem Flex LiveCycle umsetzten. Bedingt durch die anfänglichen Probleme in der Richtung, haben wir aber angefangen ein Teil davon über Servlets zu lösen. Mittlerweile sind aber auch Elemente wie zum Beispiel die Kommentar- und Bewertungsfunktion über Hibernate und RPC umgesetzt.

Wir sind sehr froh dieses Projekt sogar relativ zeitig vor dem Zeitablauf beendet zu haben und konnten ausserdem wieder eine Menge dazugelernen. Insbesondere ich konnte, dadurch das ich mich um das Backend und den Webserver gekümmert hatte, wieder viel in einer Disziplin dazulernen in der ich nicht so erfahren bin!

Da es sich um Studienprojekt handelt möchte ich euch noch das Pflichtenheft zur Verfügung stellen. Es wurde nach den Richtlinien von Heide Balzert erstellt und enthält auch eine OO-Analyse des Projektes. Dies soll lediglich als Anregung dienen und es gibt logischerweise kein Anspruch auf Richtigkeit/Vollständigkeit!

Pflichtenheft + OO-Analyse (.pdf, 373KB)

Techniken:

  • Flex/AS3
  • FDS-Tomcat (Webserver)
  • MySQL über JDBC
  • Papervision 3D 2.0
  • RPC Dienst des Adobe Live Cycle Data Services (LCDS)
    • HTTP Service (Servlets)
    • RemoteObjects (Hibernate)
  • persitente Datenhaltung via Hibernate (Java)
  • Verwendung des MVC-Modell 2 Frameworks
  1. 6 Responses to “Projekt: radioSiTY”

  2. He, ist ja cool, eigene Website. Mit dem inhalt ist man schnell überfordert. :-)

    By Chef on Jun 8, 2008

  3. Sauber.. sau geile Seite.
    Bester Blog auf der Welt alter.. ich würde Dich gerne mal kennen lernen und dann mit Dir zusammen geile Posts erstellen.
    In ewiger Liebe Dein Papst

    By Ike on Jun 19, 2008

  1. 4 Trackback(s)

  2. Jun 6, 2008: florian-oeser.de » Blog Archive » Papervision3D Workshop/Referat
  3. Jun 6, 2008: florian-oeser.de » Blog Archive » HowTo: BlazeDS/FDS-Tomcat Installation auf Linux
  4. Jun 7, 2008: florian-oeser.de » Blog Archive » HowTo: BlazeDS/FDS-Tomcat + Flex + Hibernate + MySQL
  5. Jun 8, 2008: florian-oeser.de » Blog Archive » HowTo Part 2: BlazeDS/FDS-Tomcat + Servlets + MySQL

Post a Comment