From 6dc7723c738c8307369f2fcfd8feb0fd2ea703c1 Mon Sep 17 00:00:00 2001 From: yvesf Date: Thu, 24 Feb 2011 22:45:14 +0100 Subject: file-copy from previous development-repository --- target/site/dokumentation.html | 462 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 462 insertions(+) create mode 100644 target/site/dokumentation.html (limited to 'target/site/dokumentation.html') diff --git a/target/site/dokumentation.html b/target/site/dokumentation.html new file mode 100644 index 0000000..b88a3ea --- /dev/null +++ b/target/site/dokumentation.html @@ -0,0 +1,462 @@ + + + + + + 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 die vielen + 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ösungen 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 ( + Pressemeldung + ). +

+

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. Dazu gibt es verschiedene + Klassen wie Event, To-Do oder + Free/Busy-Information. + Im Rahmen dieses + Projekts werden nur Events + genutzt.

+

+ iCalendar Daten besitzen den MIME Content-Type + {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 + YYYYMMDDTHHmmssZ + dargestellt + werden. + T + ist ein + Trenner zwischen Datum und + Zeit, + Z + zeigt an, + dass es sich um + einen UTC-Timestamp + handelt (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 ()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 anscheinend 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) angeboten wird. Oder einfach direkt iCalendar + Format.

+

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 = page.getAnchorByText("Stundenplan");
+page = anchorByText.click();
+				
+
+ +

iCalendar Datenschnittstelle

+

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, da der Benutzer über HTTP Basic + Authentication (nach RFC + 1945 Sec. 11.1) vom Client + abgefragt wird.

+ +

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 + @ + im benutzername mit + %40 + zu escapen ist. +

+
+

Web Datenschnittstelle

+

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

+
+ +

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.

+

+ Die Unzulänglichkeit des ,,Dualis'' Backend 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 unter + AGPL + 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