Erweiterung der grafischen Benutzeroberfläche und Einführung

Werbung
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
Herunterladen