From 3ecd2028df12300bd00616147f8803edd56bf8fb Mon Sep 17 00:00:00 2001 From: yvesf Date: Thu, 24 Feb 2011 22:41:27 +0100 Subject: cleanup --- dokumentation.html | 462 ----------------------------------------------------- 1 file changed, 462 deletions(-) delete mode 100644 dokumentation.html (limited to 'dokumentation.html') diff --git a/dokumentation.html b/dokumentation.html deleted file mode 100644 index b88a3ea..0000000 --- a/dokumentation.html +++ /dev/null @@ -1,462 +0,0 @@ - - - - - - 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