Erweiterung der grafischen Benutzeroberfläche und Einführung eines Rollenkonzepts einer Kommunikationsplattform Sebastian Kunze Hochschule Darmstadt Fachbereich Informatik [email protected] Art der Arbeit: Betreuer der Arbeit: Fachbetreuer: Praxisprojekt im Rahmen des KoSI1 Studiengangs Informatik Prof. Dr. Michael Massoth Prof. Dr. Torsten-Karl Strempel 1. Motivation und Projekthintergrund Im Praxisprojekt unterstütze mich die T-Systems International GmbH. Dort steht eine Media Resource Function (MRF) zur Verfügung. Diese verfügt im Vergleich zu einem softwarebasierten Media Server standartmäßig über Funktionen zur Manipulation von Audio- und Videoströmen. Auf Basis dieser MRF wurde bereits eine unabhängige, aus dem Internet erreichbare Kommunikationsplattform entwickelt. Mit dessen Hilfe war es bereits möglich, Telefonkonferenzen mit einer Auswahl an Teilnehmer direkt zu starten Diese Teilnehmer wurden dann unter der hinterlegten SIP-Rufnummer angerufen und zu einer Telefonkonferenz zusammengeschaltet. Über eine grafische Benutzeroberfläche können diese Telefonkonferenzen angelegt werden. Während einer Telefonkonferenz besteht zusätzlich die Möglichkeit, einem virtuellen Konferenztisch beizutreten, dem Informationen über einzelne Teilnehmer entnommen werden können. Bei der aufbauenden Kommunikationsplattform handelt es sich ebenfalls um eine aus dem Internet erreichbare Plattform. Dieses bietet in Vergleich zu herkömmlichen Systemen die Möglichkeit Telefonkonferenzen In-Bound und Out-Bound zu starten. Die Out-Bound Telefonkonferenzen können dabei auf der rollenbasierten, grafischen Benutzeroberfläche erstellt und verwaltet werden. Außerdem können dort nun auch Telefonkonferenzen in der Zukunft angelegt und verwaltet werden. Während einer Telefonkonferenz besteht weiterhin die Möglichkeit, dem virtuellen Konferenztisch beizutreten. Über ein zusätzlich entwickeltes Tool, kann die grafische Benutzeroberfläche, durch Freischalten gewisser Features, individuell an Kunden angepasst werden. 1 Kooperativer Studiengang Informatik 2. Anforderungen In diesem Projekt wird die grafische Benutzeroberfläche der bestehenden Kommunikationsplattform um ein vierstufiges aufeinander aufbauendes Rollenkonzept erweitert. Dadurch sollen die Berechtigungen strukturiert und die Aufgabenbereiche verteilt werden. Für die dynamische Interaktion mit dem Benutzer, sowie die Umsetzung des Rollenkonzepts wird die grafische Benutzeroberfläche neu gestaltet. Telefonkonferenzen sollen nun auch in Zukunft angelegt und automatisiert gestartet werden können. Diese Funktionalität, sowie das neu eingeführte Rollenkonzept, erfordert eine persistente Speicherung von Informationen. Aus diesem Grund wird die aktuelle Datenbank der bestehenden Kommunikationsplattform überarbeitet. Weiterhin sind aufgrund des Rollenkonzeptes verschiedene Anpassungen am virtuellen Konferenztisch vorzunehmen. Dieser soll bis zu acht Teilnehmer einer Telefonkonferenzen darstellen können. 3. Konzept und Umsetzung Die Umsetzung der grafischen Benutzeroberfläche geschieht unter Verwendung des Model-View-Controller Architekturmusters (MVC). Dieses ist in der Abbildung 1: MVC-Architektur abgebildet. Das verwendete Struts-Framework liefert dafür die Komponente für die darzustellenden Daten (Model) und die Komponente für das Entgegennehmen der Benutzerinteraktionen (Controller). Der Controller wertet die Benutzereingaben aus und steuert die View-Komponente. Die View-Komponente übernehmen Servlets in Form von JavaServer Pages (JSPs). Das ActionServlet nimmt den Hypertext Transport Protocol (HTTP) Request entgegen und gibt diese an die Actions weiter. Dort befindet sich eigentliche die Logik der grafischen Benutzeroberfläche. Diese Interagiert mit dem Model um erforderliche Daten zu laden oder zu speichern. Der Datenbankzugriff der grafischen Benutzeroberfläche wird mit dem Hibernate-Framework realisiert. Vorteil davon ist die Unabhängigkeit der eingesetzten Datenbank und das einfache Speichern von Java-Objekten. Datensätze lassen mit der Structured Query Language (SQL) Abfragen und Manipulieren. Der Einsatz des Tiles-Frameworks, erlaubt es die grafische Benutzeroberfläche in mehrere logische Web-Seiten zu teilen. Dies erleichtert die Wartung und erhöht die Wiederverwendbarkeit der kompletten grafischen Benutzeroberfläche. Diese wurde in die Komponenten Header, Navigationsübersicht, Inhalt und Footer geteilt. So muss beispielsweise die Navigationsübersicht nur einmal für die Rolle des Benutzers dynamisch generiert werden und kann auf den folgenden Web-Seiten wiederverwendet werden. Das Datenbankschema der existierenden Kommunikationsplattform wurde vorgeschrieben und enthielt nur eine Tabelle mit den Informationen über den Benutzer. Um die Funktionalität der geplanten Erweiterungen zu gewährleisten, wird die Datenstruktur neu überarbeitet. Gleichzeitig soll auch eine Normalisierung stattfinden, sodass Anomalien verhindert und Inkonsistenzen vermieden werden. Abbildung 1: MVC-Architektur In dem vierstufigen, aufeinander aufbauenden Rollenkonzept werden die Rollen Teilnehmer, Moderatoren und Administratoren eingeführt. Der Teilnehmer verfügt über Berechtigungen für die Grundfunktionalitäten auf der grafischen Benutzeroberfläche und am virtuellen Konferenztisch. Auf der grafischen Benutzeroberfläche kann der Teilnehmer seine Telefonkonferenzen einsehen und seine eigenen Rufnummern pflegen. Als Moderator verfügt der Benutzer über die gleichen Funktionalitäten wie als Teilnehmers und kann darüber hinaus Telefonkonferenzen auf der grafischen Benutzeroberfläche anlegen. Dort kann er auch bereits angelegte Telefonkonferenzen zu einem späteren Zeitpunkt editieren oder löschen. Für die Administration von Personen, Abteilungen und Firmen über die grafische Benutzeroberfläche muss dem Benutzer die Rolle des Administrators zugewiesen sein. Dieser besitzt die gleichen Funktionalitäten wie der Moderator. Nicht-Registrierte Benutzer sollen ebenfalls von der Kommunikationsplattform über den virtuellen Konferenztisch angerufen werden können. Die Funktionalitäten werden vom Teilnehmer an den Moderator und vom Moderator an den Administrator weitervererbt. In der Datenbank befindet sich eine Tabelle, in der die Rollen persistent gespeichert sind. Jeder registrierte Benutzer der Kommunikationsplattform besitzt einen Datensatz in der Datenbank, der mit einer Rolle verknüpft ist. Der virtuelle Konferenztisch (Abbildung 2: Virtueller Konferenztisch) wird mit JavaScript umgesetzt. Dort können Informationen der einzelnen Teilnehmer abgerufen werden. Informationen über Status der Telefonkonferenzverbindung der einzelnen Teilnehmer werden regelmäßig aktualisiert. Dies geschieht mit Asynchronous JavaScript and XML (AJAX) Requests. Abbildung 2: Virtueller Konferenztisch 4. Ergebnisse und Fazit Innerhalb von 21 Wochen Entwicklungszeit, ist eine unabhängige Kommunikationsplattform entstanden. Über eine rollenbasierte, grafische Benutzeroberfläche ist es möglich, Telefonkonferenzen direkt oder in Zukunft zu starten. Fehler bei der Eingabe des Benutzers werden abgefangen und dies dem Benutzer mitgeteilt. Startet der Benutzer die Telefonkonferenz direkt, wird er sofort auf den virtuellen Konferenztisch weitergeleitet. Dieser wurde an die neu entwickelte Kommunikationsplattform angepasst. Darüber kann der Moderator einzelne Teilnehmer auch noch nach Start der Telefonkonferenz hinzufügen. Über die grafische Benutzeroberfläche ist es weiterhin für den Moderator möglich, eigene Telefonkonferenzen zu editieren. Administratoren haben außerdem das Recht, Benutzer mit assoziierten Abteilungen und Firmen zu erstellen, zu editieren und zu löschen. Erforderliche Informationen werden nun in der überarbeiteten Datenbank persistent gespeichert. Der virtuelle Konferenztisch wurde an die Kommunikationsplattform angepasst und unterstützt das neu eingeführte Rollenkonzept. Literaturverzeichnis Ted Husted. Struts in Action. Manning 2003. 1-930110-50-2 Matthias Weßendorf. Struts Websites effizient entwickeln. W3L 2005. 3-937137-06-8 Ted Huston: JUnit in Action. Manning 2004, 1-930110-99-5 Johannes Siedersleben. Moderne Softwarearchitekturen. dpunkt.verlag 2004. 3-89864-292-5 Gerd Siegmund. Next Generation Networks. Hüthing 2002. 3-7785-3963-9 http://www.hibernate.org/ http://tiles.apache.org/index.html http://www.w3.org/TR/html401/ http://www.w3.org/TR/CSS21/ http://www.w3.org/XML/ http://standards.iso.org/ittf/PubliclyAvailableStandards/c033835_ISO_IEC_16262_2002(E).zip