From 578fa1d8b873a15f5b96baaed426849f92e544a2 Mon Sep 17 00:00:00 2001 From: yvesf Date: Thu, 24 Feb 2011 15:50:34 +0100 Subject: push site --- dokumentation.html | 487 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 487 insertions(+) create mode 100644 dokumentation.html (limited to 'dokumentation.html') diff --git a/dokumentation.html b/dokumentation.html new file mode 100644 index 0000000..fdff5a9 --- /dev/null +++ b/dokumentation.html @@ -0,0 +1,487 @@ + + + + + + DHBW Calendar - + Projektdokumentation + + + + + + + + + + +
+ +
+
+
+ + +

Einleitung

+

+ Die Nutzung von elektronischen Kalendern zur Planung und + Verwaltung + spielt eine + enorme Rolle für viele Privatleute und in + vielen Unternehmen.

+

+ Firmeninterne und -übergreifende Geschäfte nutzen in vielen die + Möglichkeiten + von Kalender (Groupware) Applikationen. Mithilfe des + iCalendar + Standards + existiert ein interoperabler Standard zum + Austausch von + Kalenderinformationen.

+

+ Die neue Campus-Software ,,Dualis'' der Dualen Hochschule + Baden-Württemberg + stellt den Studenten einen elektronischen + Vorlesungsplan zur Verfügung. + Eine + Schnittstelle zur Anbindung an + gängige Kalenderlösung wird jedoch nicht + bereitgestellt.

+

+ Das Ziel dieses Projektes ist es, einen Adapter bereitzustellen + mithilfe + dessen der ,,Stundenplan'' aus dem ,,Dualis'' System der + Dualen Hochschule + Baden-Württemberg in eine iCalendar-kompatible + Anwendung importiert + werden kann.

+

Dualis

+

Dualis ist das interne Verwaltungssystem der DHBW. Es basiert auf + der Software + ,,CampusNet'' der Firma Datenlotsen Informationssysteme + GmbH, Hamburg. +

+

+ Unter dem Namen ,,BAsys Neu'' wurde Dualis als Ablösung des alten + ,,BAsys''-Verwaltungssystem entwickelt. Die Endung ,,-is'' steht + für + Informationssystem.%cite + %http://www.dhbw-stuttgart.de/themen/aktuelles/meldung/2008/11/basys-wird-dualis.html +

+

+ Studierende können über den Dualis Web-Client ihre Noten, eine + Leistungsübersicht über das gesamte Studium und ihren aktuellen + Stundenplan einsehen. +

+
+

Das iCalendar Format

+

+ iCalendar ist ein Internet Standard (RFC 5545) um + Kalenderinformationen + auszutauschen.

+

+ Dabei gibt es Verschiedene Klassen wir Event, To-Do oder + Free/Busy-Information. + Im Rahmen dieses Projekts werden nur Events + genutzt.

+

+ iCalendar Daten besitzen den MIME Content-Type + \texttt{text/calender}. Die + Daten + sind in einem einfachen, ASCII + Key-Value Format aufgebaut.

+

+ Grundsätzlich bestehen iCalendar Daten aus folgendem Block +

+
+					BEGIN:VCALENDAR
+					PRODID:-//xyz Corp//NONSGML PDA Calendar
+					Version 1.0//EN
+					VERSION:2.0
+					....
+					Event, To-Do, Journal,
+					Free/Busy, Time
+					Zone, Alarm Component
+					...
+					END:VCALENDAR
+				
+

Eine Event-Component ist wie folgt aufgebaut, wobei noch weitere + optionale Felder möglich sind:

+
+					BEGIN:VEVENT
+					DTSTAMP:19960704T120000Z
+					UID:uid1@example.com
+					ORGANIZER:mailto:jsmith@example.com
+					DTSTART:19960918T143000Z
+					DTEND:19960920T220000Z
+					STATUS:CONFIRMED
+					CATEGORIES:CONFERENCE
+					SUMMARY:Networld+Interop Conference
+					DESCRIPTION:Networld+Interop
+					Conference
+					and Exhibit\nAtlanta World Congress Center\n
+					Atlanta\,
+					Georgia
+					END:VEVENT
+

+ Wie zu sehen ist bestehen besondere Vorgaben für Zeit- und + Textformatierung.

+

+ Zeiten können in der UTC-Zone im Format + \texttt{YYYYMMDDTHHmmssZ} + dargestellt + werden. \texttt{T} ist ein + Trenner zwischen Datum und + Zeit, \texttt{Z} + zeigt an, + dass es sich um + einen UTC-Timestamp + handelt\footnote{RFC5545 Sec. + 3.3.5}.

+

+ Text wird + grundsätzlich als ASCII-Test dargestellt. Es bestehen + jedoch + Fluchtzeichen für nicht-ASCII Zeichen und Satz- und + Kontrollzeichen + \footnote{RFC5545 Sec. 3.3.11}. +

+
+
+

Umsetzung

+

+ Dem Anschein nach ist der Dualis Web-Client mithilfe der Software + Oracle + Application Express (APEX) entwickelt. + Das erzeugte Markup ist + schlecht maschienenverarbeitbar, vermutlich weil + es + auf die Anzeige + gegenüber einem menschlichen Benutzer ausgerichtet ist.

+ +

Eine Web-API von Dualis gibt meines unseres Wissens nach nicht. + Demzufolge müssen die + Webseiten relativ umständlich analysiert + werden, um an die + benötigten + Informationen zu gelangen. Diesen Vorgang + nennt man Web-Scraping + (engl. ,,kratzen'').

+ +

Dadurch wird die Schnittstelle anfälliger für + kleinere Änderungen + an dem + Dualis + Web-Client. Schon das Ändern der + Beschriftung eines + bestimmten Links kann die + Funktion beeinträchtigen.

+ +

Für einen zuverlässigen Betrieb ist es daher unbedingt nötig, dass + von Seiten + des Dualis System eine stabile Schnittstelle mit einem zum + Informationsaustausch + geeigneten Format (zum Beispiel eine + XML-Schnitstelle nach dem HTTP/REST + Prinzip) angeboten wird. Oder + einfach direkt eine iCalendar + Schnittstelle.

+

Web Scraping

+

Zum ,,kratzen'' der Informationen aus dem HTML-Dickicht der + Dualis + Website wird + die Java-Bibliothek htmlunit Verwendet. Deren + eigentlicher Zweck ist + das + automatisierte Headless Testen von + Websites. Dazu ist sie in der Lage einen + Web-Browser inklusive + JavaScript und CSS weitgehend zu emulieren.

+ +

Dies sind optimale + Ausgangsbedingungen um eine schwer zugängliche + Seite wie Dualis + einfach auszuwerten.

+ +

Ein vereinfachtes Code-Beispiel verdeutlicht die + Arbeit mit + htmlunit:

+
+					...
+					WebClient webClient = new
+					WebClient();
+
+					loginPage =
+					webClient.getPage(DUALIS_URL);
+
+					loginForm =
+					loginPage.getFormByName("cn_loginForm");
+					usernameField =
+					loginForm.getInputByName("usrname");
+					usernameField.type(username);
+
+					passwordField = loginForm.getInputByName("pass");
+					passwordField.type(password);
+
+					submitButton =
+					loginForm.getInputByValue("Anmelden");
+					page = submitButton.click();
+
+					HtmlAnchor anchorByText;
+					anchorByText =
+					page.getAnchorByText("Stundenplan");
+					page = anchorByText.click();
+				
+
+ +

iCalendar Datenschnittstelle

+

TBD

+ +

Die gängige Methode zum Austausch von iCalendar Daten sind + entweder + lokale Files + oder der entfernte Zugriff über HTTP.

+ +

Mit diesem Projekt wird der Zugriff über HTTP ermöglicht. Dabei + entfällt + zusätzlich der Bedarf eine Benutzerkonfiguration zu + pflegen. Der + Benutzer kann + über HTTP Basic + Authentication\footnote{RFC 1945 Sec. + 11.1}.

+ +

Hierzu wurde ein Java-Servlet erstellt welches die + Authentifizerung und + Steuerung der Dualis Abfrage übernimmt.

+ +

Bei der + Ansteurerung der Schnittstelle über einfache HTTP-Software + ist + zu beachten, dass das \texttt{@} im benutzername mit + \texttt{\%40} zu + escapen ist.

+
+

Web Datenschnittstelle

+

+ Zusätzlich zur ICS-Schnittstelle existiert eine Schnittstelle für + den Webbrowser. Sie ist mit dem Framework + vaadin\footnote{\url{http://vaadin.com}} + umgesetzt und bietet die + Funktionalität den Login durch eine + Anmeldung zu testen + sowie den + ,,Stundenplan'' in einer Tabelle zu Betrachten.

+
+

Kompatibilität

+

to be copied from TeX

+
+ +

Sicherheit des Benutzers

+

Wie alle Systeme die Authentifizierungs und Benutzerdaten + verarbeiten ist dieses + hinsichtlich der Vertrauenswürdigkeit zu + untersuchen.

+ +

Hinsichtlich der Authentifizierungsinformationen die der + Benutzer + DHBW~Calendar + übergibt sind mehrere Angriffspunkte + auszumachen.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ProblempunktAnalyse
Auf dem PC des BenutzersFür die Sicherheit + auf seinem + Zugriffsgerät ist jeder + Benutzer + selbst + verantwortlich.
Die Netzwerkverbindung zum DHBW CalendarDie + Netzwerkverbindung zum + DHBW~Calender + sollte entweder als + direkte + Lokale Kommunikation ablaufen + (der + DHBW~Calender arbeitet + lokal) oder + eine sichere Verbindung (HTTPS) + verwenden.
Die Verarbeitung im DHBW CalendarDie + Verarbeitung + im DHBW~Calender speichert + die verarbeiteten + Daten + vorübergehend im + Arbeitsspeicher des + darunterliegenden System. +
Die Netzwerkverbindung zu Dualisist verschlüsselt (HTTPS) + %%TODO + check was bei + unügliten cets + passiert
Die Verarbeitung in Dualis Über die + Verarbeitung + innerhalb von Dualis + existieren + keine + Informationen.
ggf. weitere Verbindungen von Dualis (AD o.ä.)Über + mögliche Kommunikationen + von Dualis mit Drittsystem + bestehen + keine + Informationen.
+

Durch die quelloffenheit + des + DHBW~Calendar ist die + Verarbeitung der + Daten + transparent. Daher + entstehen dem Anwender durch + die Verwendung + des + DHBW Calender + keine + weiteren Sicherheitsrisiken.

+
+
+

Fazit

+

+ Die Entwicklung des DHBW~Calendar ermöglicht den Studenten in + bezug auf + die + Organisierung ihres Studentalltags eine neue Dimension + von Integration und + Komfort.

+

Der Unzuverlässigkeit des Backend ,,Dualis'' wurde durch die + Verwendung einer + High-Level Schnittstelle begegnet. Anstatt regulärer + Ausdrücke (DHBW + Connector) + werden die Eingabeelemente angesprochen + welche der Benutzer auch sehen + würde.

+

+ Die Veröffentlichung als Open-Source Projekt stellt das Vertrauen + der + Studenten + sowohl in Hinsicht auf ihre eigene Sicherheit, als auch + der + Zuverlässigkeit + hinsichtlich möglicherweise zukünftig nötiger + Anspassungen. +

+
+ + +
+
+
+
+
+ + + -- cgit v1.2.1