Cloudbasiertes Dokumentenmanagementsystem

Transcription

Cloudbasiertes Dokumentenmanagementsystem
Bachelorarbeit
Cloudbasiertes
Dokumentenmanagementsystem
Yağmur Şentürk, Harald Victor Schweiger,
Yagmur.Sentuerk@student.uibk.ac.at
Harald.Schweiger@student.uibk.ac.at
26. März 2016
Betreuer: Mag.iur. MSc MSc. Christian Sillaber
Eidesstattliche Erklärung
Ich erkläre hiermit an Eides statt durch meine eigenhändige Unterschrift, dass ich die
vorliegende Arbeit selbständig verfasst und keine anderen als die angegebenen Quellen
und Hilfsmittel verwendet habe. Alle Stellen, die wörtlich oder inhaltlich den angegebenen
Quellen entnommen wurden, sind als solche kenntlich gemacht.
Ich erkläre mich mit der Archivierung der vorliegenden Bachelorarbeit einverstanden.
Datum
Unterschrift
Datum
Unterschrift
Abstract
This bachelor thesis breaks down the properties, functionality and application of the file
hosting services: OneDrive, Dropbox, Google Drive and iCloud. A Library, programmed by
the authors recaps the different cloud SDK’s into one uniform API and can be testet with
a graphical user interface. The whole bachelor thesis was created in collaboration with the
company Advokat. Advokat is the most known software for lawyers in Austria and helps
to manage jobs like calculating invoices, maintaining accounting, storing contacts and
other workings. One Goal of the thesis is to use the library to extend the functionality
of Advokat, so that documents, which are stored on the different servers in the lawyers
office, can be made accessible from everywhere, with any device and for everyone, as
long as the permission is given by the counsel. The second aim is to find the most simple
way to edit documents after our Library uploaded them into the cloud. The resulting
workflows are written down in this document.
Inhaltsverzeichnis
1 Einleitung
1.1 Arbeitsaufteilung für den schriftliche Teil der Arbeit . . . . . . . . . . . .
1.2 Arbeitsaufteilung für die Programmierung . . . . . . . . . . . . . . . . . .
1
3
4
2 Advokat
2.1 Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Beitrag zu Advokat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
5
5
3 Cloud-Dienste
3.1 OneDrive . . . . . . .
3.1.1 Geschichte . . .
3.1.2 Anwendung . .
3.1.3 Funktionalität
3.2 Dropbox . . . . . . . .
3.2.1 Geschichte . . .
3.2.2 Anwendung . .
3.2.3 Funktionalität
3.3 Google Drive . . . . .
3.3.1 Geschichte . . .
3.3.2 Anwendung . .
3.3.3 Funktionalität
3.4 iCloud . . . . . . . . .
3.4.1 Geschichte . . .
3.4.2 Anwendung . .
3.4.3 Funktionalität
3.5 Kostenübersicht . . . .
3.6 Zusammenfassung . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4 Verwendete Technologien
4.1 VB.NET . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 XAML . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3 Visual Studio, Team Explorer und Bitbucket . . . . . .
4.4 SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.5 ADO.NET . . . . . . . . . . . . . . . . . . . . . . . . . .
4.6 Anmeldung mit OAuth 2.0 . . . . . . . . . . . . . . . . .
4.6.1 Nachteile von Password Authentication Protocol
vi
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
8
8
8
9
9
11
11
12
12
13
14
14
15
17
18
18
20
21
22
.
.
.
.
.
.
.
25
25
25
26
26
27
28
28
4.6.2 Funktionsweise
4.7 OneDrive . . . . . . .
4.8 Dropbox . . . . . . . .
4.9 Google Drive . . . . .
4.10 Zusammenfassung . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5 Prototyp: Cloudverwaltung
5.1 Benutzeroberfläche . . . . . . . . . . .
5.1.1 Dokumentation . . . . . . . . .
5.1.2 Evaluierung . . . . . . . . . . .
5.2 Library . . . . . . . . . . . . . . . . .
5.2.1 Anforderungen an die Software
5.2.2 Dokumentation . . . . . . . . .
5.3 Dynamic Link Library . . . . . . . . .
5.4 Datenbank . . . . . . . . . . . . . . .
5.5 Zusammenfassung . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
29
31
31
32
33
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
35
35
40
43
43
43
45
48
48
50
6 Anwendungsfälle
6.1 Akteure . . . . . . . . . . . . . . . . . . . . . . . . .
6.2 Anwendungsfall 1: Außendienst, schreibender Zugriff
6.3 Anwendungsfall 2: Außendienst, lesender Zugriff . .
6.4 Anwendungsfall 3: Außendienst, Bearbeitung offline .
6.5 Anwendungsfall 4: Teilen mit Partnern . . . . . . . .
6.6 Anwendungsfall 5: Kollaboration mit Partnern . . .
6.7 Zusammenfassung . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
51
51
51
53
55
57
59
65
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
7 Zusammenfassung
67
Literaturverzeichnis
68
A Mobiles Arbeiten mit Dokumenten
A.1 Allgemeines . . . . . . . . . . . . . . . . . . . .
A.1.1 Änderungsübersicht . . . . . . . . . . .
A.2 Aufgabenstellung . . . . . . . . . . . . . . . . .
A.2.1 Projektziel . . . . . . . . . . . . . . . .
A.2.2 Anwendungsfälle . . . . . . . . . . . . .
A.2.3 Aufgabe im Rahmen der Bachelorarbeit
A.2.4 Weiterführende Aufgaben . . . . . . . .
A.3 Systemcontext . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
70
70
70
70
70
71
72
73
74
1 Einleitung
Kennen Sie eigentlich die Webseite, mit der es möglich ist:
• seine Lieblings-Musiktitel zu suchen, zu speichern und anzuhören (spotify.com).
• Dokumente in verschiedenste Formate zu konvertieren (cloudconvert.com).
• komplexe mathematische Formeln auszurechnen und als Graph darstellen zu lassen
(wolframalpha.com).
Wenn der Leser nicht nur von diesen Webseiten gehört hat, sondern eine davon sogar
benützt, dann verwendet er auch die Cloud.
Also müssen Programme heutzutage nicht mehr zuerst heruntergeladen, konfiguriert
und installiert werden. Stattdessen kann der Nutzer ganz einfach über den Browser
gewünschte Programme aufrufen und verwenden. Daher ist es nachvollziehbar, dass sich
immer mehr Firmen für eine Cloudlösung entscheiden.
Natürlich hat die Cloud-Lösung auch negative Seiten, wenn es um die Sicherheit und
die Privatsphäre von den hochgeladenen Daten geht. Sobald Daten oder Dokumente an
einen Cloud-Dienst gesendet werden, kann nicht mehr nachvollzogen werden, an welchem
Ort die Daten gespeichert werden und wer Zugriff auf diese erhält. In dieser Arbeit
werden diese negativen Eigenschaften jedoch aus folgenden Gründen ignoriert:
Entweder ist sich der Benutzer diesen Gefahren bewusst und versendet daher nur
unbedenkliche Daten in die Cloud oder der Benutzer hat keine Ahnung von Datensicherheit
und wird mit der Cloud-Lösung dazu ermutigt, seine Dokumente wenigstens nicht
komplett unverschlüsselten über E-Mail zu versenden. Es wird davon ausgegangen,
dass Geheimdienste, wie z B die NSA sowohl sämtliche E-Mails abfangen können, als
auch die Erlaubnis besitzen, verschlüsselte Cloud-Daten bei terroristischem Verdacht zu
entschlüsseln. Jedoch hat das Versenden von E-Mails den zusätzlichen Nachteil, dass
so ziemlich jeder, der sich ein wenig genauer mit dem Internet auskennt, die versendete
E-Mails abfangen und lesen kann. Die Daten, die an die Cloud gesendet werden, sind
hingegen verschlüsselt und halten den meisten Hacker-Angriffen stand.
Es ist zusätzlich zu beachten, dass durch das Erforschen der großen Cloud-Dienste,
gleichzeitig der Weg für unbekanntere Cloud-Anbieter, wie z. B. Secudos oder Owncloud,
geebnet wird. Diese stellen die Möglichkeit zur Verfügung, dass jede Firma einen eigenen
Server bekommt, auf dem dann der Cloud-Dienst läuft. Somit ist klar an welchem Ort
die Daten der Nutzer gespeichert werden und das Problem der Datensicherheit und
Privatsphäre der Nutzer ist gelöst.1
1
Der Anbieter Secudos wird außerhalb der Bachelorarbeit von Yağmur Şentürk erforscht.
1
1 Einleitung
Eine dieser Firmen, die ihr Programm mit der Cloud erweitern wollen, nennt sich
Advokat (genauer beschrieben in Kapitel 2). Advokat ist ein Anwaltsprogramm, das
z. B. Zahlungseingänge, Termine, Kontakte u.v.m. für Anwälte verwaltet. Diese einzelnen
Programmfunktionen werden von Advokat auch als (Programm)-Module bezeichnet und
erzeugen unter anderem Textdokumente, die z. B. Vereinbarungen zwischen Anwalt und
Klienten festhalten. Advokat speichert die Dokumente auf der Datenbank des AdvokatServers, der in jeder Kanzlei separat läuft.
Eine Funktion die Advokat jedoch nicht besitzt ist, dass der Anwalt außerhalb der
Kanzlei auf seine erstellten Dateien zuzugreifen kann oder Textdokumente Kanzleifremden Personen, wie z. B. der Klient des Anwalts, so online zugänglich macht, dass
sowohl der Anwalt, als auch der Klient gleichzeitig daran arbeiten können. Daher ist das
Ziel unsere Bachelorarbeit Dokumente so einfach wie möglich außerhalb der Kanzlei dem
Anwalt zugänglich zu machen.
Um das zu erreichen, liefert Advokat in dem Dokument Mobiles Arbeiten mit Doku”
menten“ Vorgaben (auch Anwendungsfälle genannt), wie die Anwälte mit den Dokumenten
arbeiten sollen (Anhang A.2.2). Die Anwendungsfälle wurden im Laufe der Arbeit stets
aktualisiert und ausgearbeitet. Somit beschreibt die fertige Version (Kapitel 6) genau,
welche Schritte in Advokat und im gewählten Cloud-Anbieter durchlaufen werden müssen,
um das gewünschte Resultat zu erzielen.
Zusätzlich zu den an die Anwendungsfälle abgeleiteten Anforderungen, sollen die
unterschiedlichen Cloud-Anbieter auf die in Anhang A.2.3 genannten Merkmale untersucht
und evaluiert werden. Genaueres dazu wird in Kapitel 3 beschrieben.
Auch wenn manche Eigenschaften der verschiedenen Cloud-Dienste voneinander abweichen, haben sie dennoch die gleiche Hauptaufgabe, das online Speichern, Bearbeiten
und Verwalten von Dokumenten. Trotz dieser gemeinsamen Hauptaufgabe, könnten die
von den Cloud-Entwicklen zur Verfügung gestellte Programmierschnittstellen2 , nicht
unterschiedlicher sein. Um daher den Entwicklern bei Advokat Arbeit abzunehmen,
bündeln wir die von den Anwendungsfällen benötigten Funktionen in eine einheitliche
Schnittstelle. Da Advokat in Visual Basic .NET oder auch kurz VB.NET programmiert
wird, verwendet auch unser Programm diese Programmiersprache, um den Integrationsaufwand so gering wie möglich zu halten. In der Arbeit wird VB.NET und andere von
uns verwendeten Technologien in Kapitel 4 beschrieben. Zusätzlich wird in dem Kapitel
auch auf die Unterschiede und den daraus resultierenden Problemen der verschiedenen
Programmierschnittstellen eingegangen.
In dem Kapitel 5 wird der Aufbau und einige Merkmale von dem von uns erbrachte
Programm mit den Namen Cloudverwaltung“ beschrieben. Damit unser Programm
”
ausführlich getestet und vor der Geschäftsführung von Advokat präsentiert werden
konnte, wurden Teile der geplanten grafische Oberfläche implementiert (5.1). Um die
Nutzerdaten und die Dokumentzustände in der Cloud ordnungsgemäß zu simulieren,
2
2
Eine Programmierschnittstelle oder auch API (englisch für application programming interface)
genannt, ermöglicht es den Entwicklern in ihrem Programm, Funktionen anderer Programme, die nicht von ihm entwickelt wurden, auszuführen. Z. B. kann durch die Programmzeile
Service.F iles.Insert(body, Stream, body.M imeT ype).upload von Google Drive ein Dokument in die
Cloud hochgeladen werden.
1.1 Arbeitsaufteilung für den schriftliche Teil der Arbeit
bedarf es ebenso einer Datenbank (5.4). Der Kern unseres Programms ist jedoch die
einheitliche Schnittstelle, die in unserer Arbeit aufgrund der vergleichbaren Eigenschaften
auch oft als Adapter oder Wrapper bezeichnet wird [14, Seite 79-87]. Es ist dabei
zu beachten, dass ein Großteil des Arbeitsaufwands, die Sicherstellung einer guten
Softwarequalität ausmacht. Mehr dazu gibt es in Abschnitt 5.2.
Schlussendlich gibt es, wie weiter oben schon beschrieben, eine fertige Version der
gewünschten Anwendungsfälle (Kapitel 6), eine Zusammenfassung der Arbeit (Kapitel 7) und im Appendix (Anhang A) Advokat’s Beschreibung über die gewünschten
Anforderungen an unsere Arbeit mit den Namen Mobiles Arbeiten mit Dokumenten“.
”
1.1 Arbeitsaufteilung für den schriftliche Teil der Arbeit
Die Kapiteln wurden abschnittsweise und separat von den Autoren dieser Arbeit verfasst.
Die nachfolgenden Abschnitte wurden von Yağmur Şentürk geschrieben.
3 Cloud-Dienste: 3 Einleitung, 3.1 OneDrive, 3.2 Dropbox, 3.5 Kostenübersicht,
3.6 Zusammenfassung
4 Verwendete Technologien: 4.1 VB.NET, 4.2 XAML, 4.3 Visual Studio, Team Explorer
und Bitbucket, 4.4 SQL, 4.5 ADO.NET, 4.7 OneDrive, 4.10 Zusammenfassung
5 Cloudverwaltung: 5.1 Benutzeroberfläche, 5.4 Datenbank, 5.5 Zusammenfassung
6 Anwendungsfälle: 6.7 Zusammenfassung
7 Zusammenfassung
Harald Schweiger verfasste die folgenden Abschnitte:
0 Abstract
1 Einleitung
2 Advokat
3 Cloud-Dienste: 3.3 Google Drive, 3.4 iCloud,
4 Verwendete Technologien: 4 Einleitung, 4.6 Anmeldung mit OAuth 2.0, 4.8 Dropbox,
4.9 Google Drive
5 Cloudverwaltung: 5 Einleitung, 5.2 Library, 5.3 Dynamic Link Library
Die Anwendungsfälle (Kapitel 6) und die Tabellen 3.2 und 3.3 wurden gemeinsam
erarbeitet, wobei die Recherche für Google Drive und iCloud von Harald Schweiger und
OneDrive und Dropbox von Yağmur Şentürk erfolgte.
3
1 Einleitung
1.2 Arbeitsaufteilung für die Programmierung
Yağmur Şentürk programmierte die Testanwendung, die überwiegend aus der graphischen
Oberfläche (Abschnitt 5.1) und der Datenbank (Abschnitt 5.4) besteht und implementierte
in der Library die einheitliche Schnittstelle für den Dienst OneDrive (OneDriveService).
Die Anbindung für den Dienst Dropbox, die durch die Verwendung der DropNET -API
programmiert wurde, wurde ebenso von Yağmur Şentürk erstellt. Jedoch musste dieser
Teil im Laufe der Implementierung ersetzt werden.
Die anderen zwei Anbindungen (DropboxService und GoogleDriveService) und die
anderen Klassen, die zu der Library gehören, wurden von Harald Schweiger programmiert.
Bei der Anknüpfung der Library im Prototyp half Harald Schweiger genauso mit.
Es ist zu beachten, dass beide Programmierer stets zusammen gearbeitet haben, sobald
Probleme während der Programmierung aufgetreten sind.
4
2 Advokat
Advokat ist nicht nur ein alter, aus dem lateinischen stammender (advocatus = der
Herbeigerufene) und deutschsprachiger Ausdruck für Anwälte1 , sondern bezeichnet auch
eine Rechtsanwaltssoftware, die in Österreich vertrieben wird. Letztere steht für die
Abkürzung Automatisierte Daten Verarbeitung und Organisation für Kanzleien der
AnwaltschafT. Mit mehr als 1700 Rechtsanwaltskanzleien gehört Advokat zu den führenden Anbietern für Rechtsanwaltssoftware in Österreich. Im Vergleich, in Österreich
gibt es 4900 eingetragene Rechtsanwälte.2 Der Grund für die Marktführung liegt unter
anderem daran, dass die Anfänge der Rechtsanwaltssoftware bis in die 70er Jahre zurück
gehen. Somit war das damalige EDV-Programm, das erste seiner Art für österreichische
Anwälte.3
2.1 Funktionen
Advokat versucht die täglichen Abläufe der Anwälte zu automatisieren und zu verbessern.
Somit können Akten, Personen und Termine digitalisiert und mittels des integrierten
Suchassistenten schnell gefunden werden. Dabei bedient sich das Programm unter anderem
der Volltextsuche von Sharepoint. SharePoint ist ein Webseite, die von Microsoft beim
Verwenden von Office 365 zur Verfügung gestellt wird. Die integrierten Funktionen werden
von Advokat den Bedürfnisse des Anwalt angepasst und in ihr Programm eingebaut.
Eine andere Funktion von Advokat ist die Verwaltung von Honorarnoten und anderen
Abrechnungen. Zum Beispiel kann das Modul Registrierkasse“, die Registrierkassen”
pflicht des Anwalts digital umsetzten. Zusätzlich besitzt das Programm automatische
Buchungsvorschläge für die Buchhaltung.
Advokat versucht auch das Erstellen und Arbeiten von/mit Dokumenten zu vereinfachen. Dabei helfen die in die Software integrierten Dokumentvorlagen für Microsoft
Word und das PDF Modul, mit welchem PDFs erstellt und exportiert werden können.
Weitere Funktionen können unter der folgenden URL4 eingesehen werden.
2.2 Beitrag zu Advokat
Bis jetzt wurde Advokats Definition und Funktionalität erläutert. Das Arbeiten mit der
Rechtsanwaltssoftware besitzt jedoch auch Einschränkungen, die durch unsere Library
1
Dudensuche für Advokat: http://www.duden.de/rechtschreibung/Advokat, 20. Februar 2016
Portal zur Rechtsanwaltsuche Österreich: http://www.rechtsanwaltaustria.at/, 20. Februar 2016
3
Über Advokat: http://www.advokat.at/Ueber-Advokat/Wir-Ueber-Uns.aspx, 20. Februar 2016
4
Advokats Module: http://www.advokat.at/Rechtsanwaltssoftware/Module.aspx, 21. Februar 2016
2
5
2 Advokat
beseitigt werden sollen. Grundsätzlich ist Advokat ein Programm, das auf jedem Computer
der Kanzlei läuft. Die erarbeiteten Daten, wie z. B Textdokumente, Termine und Kontakte,
werden jedoch auf einen Server der in der Kanzlei steht synchronisiert. Das ermöglicht
es dem Anwalt und dessen Sekretärin stets die aktuelle Version der Datei von jedem
Computer aus in der Kanzlei abrufen zu können.
Daher ist der Dienst ein in sich abgeschlossenes System, auf welches von außen nur
mit den zu Verfügung gestellten Schnittstellen zugegriffen werden kann. Momentan gibt
es zwei solcher Schnittstellen, die einen Zugriff auf die internen Daten gewährleisten.
Die Erste nennt sich ADVOKAT Mobil“, die es ermöglicht gespeicherte Akten und
”
Kontakte einzusehen und Leistungen, die vom Rechtsanwalt außerhalb erbracht wurden,
mit dem jeweiligen Akt zu verbinden und in die Datenbank der Kanzlei zu speichern.
Möchte man hingegen gespeicherte Dokumente (Office Word und Andere) einsehen, so
muss momentan auf einen VNC-Dienst5 zurückgegriffen werden.
Darum soll es mittels unserer Library möglich sein, Dokumente in die Cloud zu
speichern und Anderen6 zur Verfügung zu stellen. Das Hochladen von Dokumenten in
die Cloud soll fürs Erste nur über das Advokat-Programm in der Kanzlei möglich sein.
Für diese und die nachfolgenden Aktionen hat nur der Besitzer des Akts/Dokuments,
also der Rechtsanwalt, oder dessen Sekretärin die jeweiligen Berechtigungen. Später soll
dies auch mit dem Modul ADVOKAT Mobil“ bewerkstelligt werden.
”
Um dem Anwalt den Einstieg in die Welt der Onlinedienste so leicht wie möglich
zu machen, soll er die Möglichkeit haben seinen bevorzugten Clouddienst zu wählen.
Damit die Entwickler hingegen bei der Anbindung der Clouddienste an Advokat Zeit
einsparen können, soll unsere Library die wichtigsten Funktionalitäten der verschiedenen
Clouddienste bündeln und als eine einheitliche Schnittstelle vereinen.
Wie in Abbildung 2.1 ersichtlich, werden alle Daten in die internen Advokat Datenbanken (Advokat DBs) der jeweiligen Kanzelei gespeichert. Wird ein Dokument nun
in die Cloud hochgeladen, wird das Dokument intern zur Bearbeitung gesperrt, um
Änderungen, die in der Onlineversion des Dokuments stattfinden, später leichter in den
internen Advokat Datenbestand zu übernehmen. Um das korrekte Funktionieren unserer
Library zu gewährleisten, müssen einige Daten, wie zum Beispiel die Anmeldedaten des
Benutzers und die Identifikationszeichenfolge, Berechtigungen und Speicherungsort des
Cloud-Dokuments, in der Advokat Datenbanken hinterlegt werden.
Ist das Dokument erst einmal in der Cloud, kann es mittels verschiedene Anwendungen
des Cloud- oder Drittanbieters bearbeitet werden. Dabei kann es zu mehreren Varianten
und Verdopplungen der Datei kommen. Daher bietet Advokat beim Zurückholen in den
Advokat Datenbestand ein Werkzeug an mit dem die Änderungen an der Datei verglichen,
übernommen und verworfen werden können.
5
Steht für Virtual Network Computing und überträgt den Bildschirm des angesteuerten PCs auf den
momentan verwendeten Computer.
6
Mit Anderen sind zum Beispiel die Klienten des Anwalts gemeint. Also all diejenigen die keinen Zugang
zum Advokat Dienst besitzen.
6
2.2 Beitrag zu Advokat
Abbildung 2.1: Softwareentwurf für Advokat mit Cloudanbindung
7
3 Cloud-Dienste
In diesem Kapitel werden die Cloud-Dienste eingeführt und deren Eigenschaften vorgestellt. Cloud-Dienste ermöglichen dem Nutzer das Speichern von Daten in einem zentralen
Datenspeicher über das Internet, dies wird Filehosting-Dienst genannt. Das heißt also,
dass zum Beispiel Dokumente, Bilder, etc. auf die sogenannte Cloud hochgeladen werden
können und dann ist es möglich von überall darauf zuzugreifen.
Solche Dienste werden von verschiedenen Anbietern bereitgestellt. Die bekanntesten
und relevanten Dienste für diese Bachelorarbeit sind iCloud von Apple, OneDrive von
Microsoft, Dropbox von Dropbox Inc. und Google Drive von Google. Diese Dienste werden
in die Lupe genommen, da sie am öftesten von Rechtsanwälten im privaten Leben zum
Beispiel durch Handys verwendet werden.
Der Cloud-Dienst OneDrive wird in Abschnitt 3.1 und Dropbox in Abschnitt 3.2
angesprochen. Die Dienste iCloud und Google Drive werden in Abschnitt 3.3 und 3.4
beschrieben.
3.1 OneDrive
OneDrive ist ein Filehosting-Dienst, der von Microsoft angeboten wird. Neben dem
Cloud-Dienst werden aber auch verschiedene Online-Dienste von Microsoft zur Verfügung
gestellt. Diese sind zum Beispiel Word, Excel, Powerpoint, Outlook, also die Office-Familie,
aber auch ein Online-Kalender wird bereitgestellt. Als OneDrive Nutzer hat man also die
Möglichkeit mehrere Dienste online zu verwenden. Zusätzlich gibt es die Chance, sich ein
OneDrive for Business Konto zu erstellen. Für diese Nutzer werden mehrere Dienste als
für normale“ OneDrive Nutzer angeboten.
”
3.1.1 Geschichte
Bevor OneDrive in 2007 auf den Markt gebracht wurde, veröffentlichte Microsoft eine
limitierte Betaversion für einige Tester in den Vereinigten Staaten unter den Namen
Windows Live Folders. (vgl. [22]) Am 1. August 2007 wurde Windows Live Folders einer
breiteren Zielgruppe veröffentlicht und am 8. August 2007 zu Windows Live SkyDrive
umbenannt. Windows Live SkyDrive stand den Nutzern in Großbritannien und in Indien
zur Verfügung. (vgl. [2]) In 2008 war SkyDrive in 38 Ländern verfügbar. (vgl. [5]) Diese
Zahl erhöhte sich später auf 62. (vgl. [4]) In 2010 wurde Office Web Apps, jetzt mit
dem Namen Office Online 1 , zu SkyDrive hinzugefügt. Somit können Office-Dokumente,
wie zum Beispiel ein Word-Dokument, online bearbeitet werden. (vgl. [6]) Später in
1
8
Office Online: https://office.live.com/start/default.aspx, 13. August 2015
3.1 OneDrive
2013 wurde Microsoft von dem britischen Fernsehsender BSkyB wegen der Verwendung
von dem Namen Sky“ verklagt. (vgl. [10]) Daher kündigte Microsoft in 2014 an, dass
”
SkyDrive zu OneDrive umbenannt wurde. (vgl. [18])
3.1.2 Anwendung
Microsoft bietet drei verschiedene OneDrive Anwendungen2 an, nämlich die Nutzung von
OneDrive als App, als einen OneDrive-Ordner oder die Verwendung von OneDrive über
einen Webbrowser.
Mit der OneDrive-App besteht ein mobiler Zugriff auf die Dateien, aber auch die
Möglichkeit diese Dateien zu bearbeiten oder auch mit anderen zu teilen. Dies wird
für Windows Phone, Android und iOS unterstützt. Für das Bearbeiten von OfficeDokumenten wird zusätzlich eine Office-App benötigt, die mittlerweile für alle mobilen
Betriebsystemen verfügbar ist.
Neben dieser App-Anwendung gibt es OneDrive auch für den Computer als einen
sogenannten Sync-Folder. Die Verwendung dieses Ordners ist recht einfach, da nur ein
OneDrive-Ordner auf dem Computer angebunden wird. Somit kann offline auf die Daten
zugegriffen werden, die sich auf dem Cloudspeicher befinden. Die Veränderungen von
Dokumenten oder das Hinzufügen bzw. Löschen von Dateien, werden auf der Cloud
automatisch synchronisiert, sobald ein Online-Kontakt vorhanden ist. Das heißt, dass
die Dokumente auf die neueste Version aktualisiert, die neuen Dateien hinzugefügt und
die gelöschten Dateien aus dem Cloudspeicher entfernt werden. Dieser OneDrive-Ordner
kann als gewöhnlicher Ordner benutzt werden, das heißt dass Dateien ganz einfach in
diesen Ordner geschoben werden. Der OneDrive-Ordner hat nur einen Unterschied zu
normalen Ordnern, nämlich den, dass die Dateien auf der Cloud synchronisiert werden.
OneDrive wird für die Betriebssysteme Windows und Mac OS unterstützt.
Daneben sind das Zugreifen auf die Dateien, das Teilen, Erstellen und Bearbeiten von
Dateien, über die Webbrowser Firefox, Safari oder Internet Explorer auch möglich. Für
OneDrive Nutzer, unabhängig von der Verwendung eines Privat- oder Businesskontos,
werden diesen neben der Weboberfläche eine Anzahl von Web-Apps, also online Anwendungen, angeboten. Diese zur Verfügung gestellten Web-Apps werden in Abbildung ??
dargestellt.
3.1.3 Funktionalität
Suchen und Sortieren
Das Suchen und Sortieren wird sowohl im Webrowser als auch im Sync-Folder und in der
App zur Verfügung gestellt. Da ein Sync-Folder wie ein Standard-Ordner auf dem PC
läuft, wird diese Funktion wie gewohnt ausgeführt. Das heißt, dass nach Namen, Änderungsdatum, Typ und Größe sortieren und nach Namen oder textuellen Inhalt gesucht
werden kann. Im Webbrowser hingegen wird nur das Suchen nach Dokumentennamen
2
OneDrive Anwendungen: https://onedrive.live.com/about/de-de/support, 6. August 2015
9
3 Cloud-Dienste
angeboten. Im OneDrive for Business ist es auch möglich nach Wörtern, die im Dokument vorkommen, aber auch nach Metadaten, wie zum Beispiel Autoren, Dokumente zu
ermitteln. Das Sortieren in der Weboberfläche gelingt nach dem Namen, Änderungsdatum
und Größe. In OneDrive für Privatpersonen ist es möglich, eine Sortierreihenfolge zu
speichern. Wie im Webbrowser gelten diese Eigenschaften auch für die App.
Datenfreigabe
Eine Freigabe kann für eine bestimmte Person erfolgen, wobei die Zugriffseinstellungen
reguliert werden können. Somit wird einer Person entweder die Ansicht auf die Datei
oder auch das Bearbeiten des Dokuments zugelassen. Außerdem gibt es die zusätzliche
Einstellung, ob die Person mit dem zugeteilten Link ein Account besitzen muss oder ob
sie die Datei ohne einer Anmeldung bearbeiten bzw. sich ansehen darf. Des Weiteren
können angemeldete Personen den geteilten Link wiederum weiterleiten und schließlich
anderen Personen den Zugriff erlauben, selbst wenn das vom ursprünglichen Autor nicht
erwünscht ist. Darüber hinaus wird in OneDrive for Business zusätzlich das Folgen
von gewünschten Dokumenten erlaubt, um dementsprechend sogenannte News über
Änderungen zu erhalten. Als eine Alternative kann auch ein Link erstellt, für diesen die
Rechte wieder angegeben werden müssen, und den gewünschten Personen weitergegeben
werden. Diese Personen müssen auch kein Account für diesen Cloud-Dienst besitzen.
Diese erwähnte Funktion wird nur im Webbrowser und in der App unterstützt.
Versionsverwaltung und Aktivitäten
Sofern die alte Version des Schreibens wiederhergestellt werden soll, ist dies mit der
angebotenen Versionskontrolle im Webbrowser durchführbar. Mit dieser Kontrolle können die vorherigen Versionen anzeigt werden, somit steht die Ansicht, was wann und
von wem geändert wurde, zur Verfügung. Man beachte, dass die erste Version nach
dem erstmaligen Hochladen des Dokuments entsteht, dies bedeutet, dass bestehende
Versionen eines Dokumentes vor dem Hochladen nicht beibehalten werden. Allerdings
bleiben alle Eigenschaften von Dokumenten erhalten. Office-Online und Office bieten
für Online-Dokumente das Live-Folgen von Änderungen. Somit ist es möglich, bei einer
Internetverbindung, bei geteilten Dokumenten live zu sehen, wer was wohin schreibt.
Löschen und Wiederherstellen
Als zuletzt wird das Löschen und auch das Wiederherstellen von Dateien in allen Anwendungen angeboten. Die gelöschten Dateien gelangen im Papierkorb und von dort aus ist
es möglich diese Dateien wiederherzustellen. Falls diese endgültig aus der Cloud entfernt
sollen, wird das Dokument im Webbrowser aus dem Papierkorb gelöscht.
In OneDrive for Business landet das Dokument nach diesem Schritt in den sogenannten
endgültigen Papierkorb“ und kann von dort aus immer noch wiederhergestellt werden.
”
Nach einem Löschen in diesem Bereich, wird angegeben, wie in Abbildung 3.1 abgebildet,
dass das Dokument in 93 Tagen endgültig gelöscht wird.
10
3.2 Dropbox
Abbildung 3.1: Benachrichtigung vor dem endgültigen Löschen
3.2 Dropbox
Dropbox ist ein Filehosting-Dienst, der von Dropbox Inc. entwickelt wurde. Die Hauptfunktionalität von Dropbox ist es wirklich nur Dateien auf der Cloud zu verwalten.
Dropbox bietet also keine zusätzlichen Online-Dienste, wie bei OneDrive, an. Trotzdem wird die Online-Verwaltung mit den verschiedenen Dokumenten gut abgewickelt.
Seit April 2015 ist es in Dropbox auch möglich, Word-Dokumente online zu bearbeiten.
Dies ist ein großer Vorteil für dieses Projekt, weil die Rechtsanwälte hauptsächlich mit
Word-Dokumenten arbeiten.
3.2.1 Geschichte
Die Idee von Dropbox entstand im Dezember 2006, als der Erfinder Drew Houston
seinen USB-Stick vergaß. Somit konnte er während einer vier-stündigen Fahrt an seinem
Code nicht weiterarbeiten. Durch diesen Vorfall fing er an eine Technologie für die
Datensynchronisation über das Web zu entwickeln. Im Februar 2007 veröffentlichte
Houston seine Idee an Paul Graham, dem Gründer des Gründerzentrums Y Combinator 3 .
Für die Förderung von Dropbox brauchte Houston einen Mitbegründer und fand somit
Arash Ferdowsi. Monate später stellten die Zwei Dropbox bei einer Veranstalltung von
Y Combinator vor und wurden danach von der Risikokapital-Beteiligungsgesellschaft
Sequoia Capital 4 unterstützt. In 2008 hatte Dropbox neun Angestellte und 200.000
Nutzer. Houston und Ferdowsi machten Kunden auf Dropbox aufmerksam, indem sie
ihnen 250 MB kostenlosen Speicher anboten. Mitte 2010 waren fünf weitere Mitarbeiter
angestellt und die Nutzeranzahl verzehnfachte sich. Folglich trafen Ferdowsi und Houston
eine Abmachung mit dem Mobiltelefonhersteller HTC, um Dropbox auf diesen Handys
als voreingestellten Cloudspeicher zu verwenden. (vgl. [7, Seite 83-92]) Im November 2014
wurde Office365 für mobile Verwendungen integriert, somit konnten Office-Dokumente
auf Dropbox mit den Office-Apps bearbeitet werden. (vgl. [11]) Seit April 2015 steht
Office Online auch für Dropbox zur Verfügung5 .
3
Y Combinator: http://www.ycombinator.com, 13. August 2015
Sequoia Capital: https://www.sequoiacap.com, 19. August 2015
5
vgl. Dropbox Office Online Integration: https://blogs.dropbox.com/dropbox/2015/04/
dropbox-and-office-online/, 13. August 2015
4
11
3 Cloud-Dienste
3.2.2 Anwendung
Dropbox wird in verschiedensten Anwendungen angeboten. Falls ein Offline-Arbeit mit
Dropbox gewünscht ist, dann wird ein Sync-Folder angeboten, der genauso wie einen
Standard-Ordner auf dem Pc verwendet werden kann. Das heißt, eine Datei kann wie
gewohnt geöffnet und sie bearbeitet werden. Alle Änderungen werden bei einem OnlineKontakt sofort synchronisiert und der Sync-Folder wird geupdatet. Somit sind die letzten
Modifikationen auch bei allen anderen Geräten sichtbar bzw. in Dropbox gespeichert und
kann jederzeit darauf zugegriffen werden.
Falls die Weboberfläche bevorzugt wird, so wird auch Dropbox über den Webbrowser
zur Verfügung gestellt. Dort sind auch alle Funktionalitäten, die nicht im Sync-Folder
verfügbar sind, zu finden. Dazu gehören Funktionen wie das Teilen, Wiederherstellen, die
in Abschnitt 3.2.3 erläutert werden. Da der Zugriff auf die Weboberfläche online erfolgen
muss, werden alle Modifikationen akut gespeichert. Da Dropbox seit April 2015 Office
Online unterstützt, ist es auch möglich Word-Dokumente über die Weboberfläche zu
verwalten.
Für diejenigen, die Dropbox mobil verwenden wollen, gibt es die mobile Anwendung,
nämlich die App. Auch in der App wird das Offline-Arbeiten seit September 20156 unterstützt. Somit können Dokumente, auch bei keiner Internetverbindung, offline bearbeitet
oder angesehen werden. Neben dieser Möglichkeit, stellt die App die Funktionen, wie
Suchen, Sortieren und Teilen, zur Verfügung.
3.2.3 Funktionalität
Suchen und Sortieren
Diese Funktion wird in allen drei Anwendungsbereichen angeboten. Das Suchen erfolgt
im Webbrowser und in der App nach dem Dokumentnamen. In der Weboberfläche ist
es möglich nach Name, Änderungsdatum, Art, Erweiterung, Größe und Freigabe zu
sortieren. In der App hingegen geschieht dies nur nach Name und Änderungsdatum. Im
Sync-Folder kann nach Namen, Änderungsdatum, Typ und Größe sortiert werden und
das Suchen erfolgt nach Name oder nach einem Text, der im Dokument vorkommt.
Datenfreigabe
Für Dateien wird nur eine lesende Freigabe angeboten. Falls jemandem ein schreibender
Zugriff gewährt werden soll, muss ein Ordner geteilt werden. Denn für Ordner können
Personen eingeladen werden, die dann alles in diesem Ordner bearbeiten können. Zusätzlich ist es auch erlaubt einen Link für den Ordner zu erstellen, dabei sind Personen
nur berechtigt, den Ordner sich anzusehen. Die Dropbox Pro Nutzer jedoch können für
die lesende Dateifreigabe und den Ordner-Link zusätlich ein Kennwort setzen oder eine
Gültigkeitsdauer angeben. Weiteres können diese Nutzer beim Einladen der Personen für
einen Ordner auswählen, ob diese einen Zugriff als Betrachter oder Bearbeiter darauf
haben sollen. Diese Funktion wird nur im Webbrowser und in der App unterstützt.
6
Dropbox 4.0 für iOS: Information aus App Store Update.
12
3.3 Google Drive
Versionsverwaltung und Aktivitäten
Die Versionsverwaltung wird im Webbrowser und im Sync-Folder unterstützt. Im SyncFolder ist es möglich durch einen rechten Mausklick auf die Datei, sich die älteren
Versionen anzusehen. Dabei wird auf die Webseite verlinkt und somit öffnet sich dieselbe
Seite, wie wenn die Versionsverwaltung über die Weboberfläche geöffnet würde.
Löschen und Wiederherstellen
Nach dem Löschen von einer Datei in einer der drei Anwendungen, landet die Datei nach
Gelöschte Dateien“. Dieser Ordner kann nur in der Weboberfläche geöffnet werden. Im
”
Webbrowser ist es aber auch möglich, die gelöschten Dateien sich gemeinsam mit den
vorhandenen Dokumenten anzusehen. In Abbildung 3.2 wird diese Möglichkeit dargestellt,
diese Ansicht wird erstellt, sobald auf das Papierkorb-Zeichen rechts oben neben der
Suchleiste geklickt wird. Die gelöschten Dateien werden somit in Grau und mit der
Information gelöscht“ angezeigt.
”
Diese Dateien, die gelöscht wurden, werden bis zu 30 Tagen in diesem Ordner gespeichert
und danach von Dropbox endgültig gelöscht. Falls eine Datei wiederherzustellen ist, ist
sie in diesem Ordner zu finden und kann die Datei wiederherstellen. Für Dropbox Pro
Nutzer ist es möglich Dateien bis zu einem Jahr in diesem Ordner zu speichern.
Abbildung 3.2: Ansicht von gelöschten Dateien
3.3 Google Drive
In diesem Kapitel wird der von Google angebotene Cloud-Dienst beschrieben. Google Drive
bietet allerdings nicht nur Speicherplatz an, um Dateien in verschiedenen Formaten online
hochzuladen, sondern stellt auch Programme zur Bearbeitung von Dokumenten über den
Browser und als mobile Anwendung frei zur Verfügung. Zusätzlich gibt es auch einen
online App-Store mit den Anwendungen von Drittanbietern benützt werden können. Wem
das noch nicht reicht kann auch noch auf den kostenpflichtigen Dienst Google Apps for
13
3 Cloud-Dienste
Work zurückgreifen, mit welchem erweiterte kostenpflichtige Dienste eingerichtet werden
können.7
3.3.1 Geschichte
Google Drive ist der weiter entwickelte Dienst, der aus der Kombination der Programme
Writely und Google Spreadsheets hervorgeht.
Writely wurde von Upstartle 2005 entwickelt und ist ein Browser basiertes Textverarbeitungs-Programm [20]. Es kann daher mit einer auf die Kernfunktionen reduzierten
Onlineversion des damals weiter verbreiteten Microsoft’s Word verglichen werden. 2006
wurde Writely im Namen von Google weiterentwickelt [1].
Spreadsheets ist sowohl das englische Wort für Tabellenkalkulation, als auch Google’s
Programm zum online bearbeiten von Tabellen. Spreadsheets wurde von einer kleinen
Firma namens 2Web unter der Leitung von Google entwickelt [1].
Im September 2007 war es bereits möglich mit Docs & Spreadsheets, sprich die Kombination aus Writely und Spreadsheets, mit bis zu 50 Nutzern ein Dokument gleichzeitig zu
bearbeiten. Während Textdokumente erst nach erneutem Laden der Browser-Seite aktualisiert wurden, konnten Änderungen anderer Nutzer an Tabellen in Echtzeit nachverfolgt
werden. Der Onlinespeicher war damals auf 5000 Textdokumente mit einer jeweiligen
maximalen Größe von 500 KB Speicherplatz und 200 Tabellendokumente mit jeweils
maximal einem MB Speicherplatz limitiert [19].
Später konnten auch andere Dokument-Typen bearbeitet werden. Dazu gehören
Präsentations- und Zeichenprogramme, wie auch Werkzeuge um Fragebögen zu erstellen
oder Dateien in ein anderes Format zu konvertieren (Siehe Abbildung ??). Diese Programmzusammenstellung ist heute unter den Namen Google Docs, Sheets, Slides und
Forms bekannt.[9]
Der Cloud-Dienst, der gegenwärtig für die Speicherung aller Dateien zuständig ist,
lautet Google Drive und startete seinen Dienst am 24. April 20128 .
3.3.2 Anwendung
Google bietet eine Menge Optionen und Programme, um mit Drive auf verschiedenen
Geräten effizient arbeiten zu können. Wenn keine Programme installiert werden sollen,
ist es die beste Lösung den Browser zu verwenden. Am besten verwendet der Nutzer
dabei den Chrome Browser. Da Chrome auch von Google entwickelt wird, besitzt die
Weboberfläche von Google Drive, im Gegensatz zu den anderen Browsern, die zusätzliche
Funktion Dateien offline im Browser zu speichern.9
7
Google Apps for Work: http://cloudwuerdig.com/for-work-google-apps.php, 21. März 2016
Veröffentlichung
von
Google Drive:
http://googleblog.blogspot.co.at/2012/04/
introducing-google-drive-yes-really.html, 16. März 2016
9
Diese Option findet der Chrome Nutzer unter: https://drive.google.com/drive/my-drive → Ein”
stellungen“→ Allgemein“→ Dateien aus Google Docs, Google Tabellen, Google Präsentationen und
”
”
Google Zeichnungen mit diesem Computer synchronisieren, um sie auch offline bearbeiten zu können“,
8. März 2016
8
14
3.3 Google Drive
Falls der Nutzer auf die Browser Variante verzichten möchte, kann er sich Drive als
Programm für Windows oder OS X herunterladen. Hierbei wird auf dem Computer, wie
auch bei OneDrive, ein SyncFolder installiert, in welchem die Dokumente synchronisiert
werden. Wird also die Datei mit z. B. Word in diesem Ordner bearbeitet, so ändert sich
auch die Onlineversion des Dokuments dementsprechend. Zusätzlich können auch Dateien
in die Cloud hochgeladen werden, indem das hochzuladende gewünschte Dokument in den
SyncFolder hineinkopiert wird. Es ist zusätzlich zu beachten, dass es für Linux momentan
kein SyncFolder-Programm gibt und daher bei diesem Betriebssystem auf die Webseite
zurückgegriffen werden muss.10
Um Drive mobil mit Smartphones und Tablets nutzen zu können muss die Drive App
installiert sein. Beim Versuch über den Browser mit einem mobilen Gerät zuzugreifen,
wird der Nutzer zur Download-Seite der App weitergeleitet.
Zu den bisher vorgestellten Varianten, um Dokumente online zu Bearbeiten, gibt es
noch die Möglichkeit sich ein Plug-in für Microsoft Word unter Windows oder OS X
zu installieren. Durch dieses Plugin können, wie auch bei OneDrive, direkt über das
Word-Menü die Online-Dokumente bearbeitet werden.11
3.3.3 Funktionalität
Suchen und Sortieren
Sowohl als SyncFolder als auch im Browser und als mobile App kann nach Dokumenten
gesucht und sortiert werden. Da ein SyncFolder ein Ordner ist, der von dem am Computer
laufenden Cloud-Dienst-Prozess in zeitlichen Abständen im Bezug auf die beinhalteten
Dateien aktualisiert wird, stellt das Betriebssystem das Suchen und Sortieren bereits zur
Verfügung. Somit ist es möglich nach Namen, Änderungsdatum, Typ, Größe und anderen
Kriterien einer Datei zu sortieren.
Beim Browser und bei den mobilen Apps unterscheiden sich die Sortierfunktionen
hingegen. Hier kann nach Namen“, Zuletzt geändert“, Zuletzt von mir geändert“und
”
”
”
Zuletzt von mir geöffnet“ sortiert werden.12 Das hat besondere Vorteile, sobald mehrere
”
Personen an einem Dokument arbeiten.
Besonders die Suchfunktionen zahlen sich im Browser und bei den mobilen Geräten aus.
Hierbei kann nach Dateinamen, Inhalt der Datei und zusätzlichen Metadaten gesucht
werden. Das Suchen nach Inhalten beschränkt sich hierbei nicht nur auf Textdokumente,
sondern funktioniert auch für Bilder, in denen Wörter oder bekannte Sehenswürdigkeiten
abgebildet sind.13
10
Beim Aufrufen der Webseite https://www.google.com/intl/de_at/drive/download/ mit einem
Linux-Computer kommt momentan die Nachricht: There is no Drive app for Linux at this time.
”
Please use Drive on the web and on your mobile devices.“, 3. März 2016
11
Drive Plug-in für Microsoft Office: https://support.google.com/a/answer/6165960?hl=de, 16. März
2016
12
Dateien sortieren, https://support.google.com/drive/answer/2375177?hl=de, 16. März 2016
13
Nach Dateien im Browser suchen: https://support.google.com/docs/answer/2375114?hl=de, 16.
März 2016
15
3 Cloud-Dienste
Datenfreigabe
Mit Drive können Dateien auf verschiedene Art und Weisen geteilt werden. Während
Ordner die Rechte Darf ansehen“, Darf bearbeiten“ und Eigentümer“ besitzen können,
”
”
”
gibt es für Dateien noch die vierte Option Darf kommentieren“. In Tabelle 3.1 wird
”
dargestellt, welche Funktionalitäten ein Nutzer mit jeweiligen Rechten besitzt.14
Darf
Darf
Darf
ansehen
kommentieren
bearbeiten
Dateien und Ordner ansehen
3
3
3
3
Dateien auf ein anderes Gerät herunterladen oder damit synchronisieren
3
3
3
3
Dateien zum Speichern auf Google Drive kopieren
3
3
3
3
3
3
3
Dokumente, Tabellen, Präsentationen und Zeichnungen bearbeiten
3
3
Dateien für andere freigeben oder
Freigabe aufheben
3
3
Dateien einem Ordner hinzufügen
oder aus einem Ordner entfernen
3
3
Dateiversionen hochladen und löschen
3
3
In Dateien Kommentare hinterlassen und Änderungsvorschläge unterbreiten
Eigentümer
Dateien und Ordner löschen
3
Eigentumsrechte an Dateien oder
Ordnern auf andere Nutzer übertragen
3
Tabelle 3.1: Berechtigungstabelle für Google Drive
Die jeweiligen Rechte können an ausgewählte Nutzer mit der Option Bestimmte
”
Personen“vergeben werden. Diese Nutzer müssen daher ein Google-Konto verwenden, um
sich authentifizieren zu können.
Weiteres können die Dokumente auch an alle freigegeben werden, die den Link zu
dem Dokument oder Ordner besitzen. Dieser Link kann mit der Funktion Personen
”
einladen“per E-Mail weiter gesendet werden. Das bringt den Vorteil, dass auch andere
Nutzer, die kein Google-Konto haben, auf die Dokumente zugreifen können. Gleichzeitig
hat diese Methode, den Nachteil, dass auch Fremde Zugriff auf die Dateien haben können,
falls der Link weiter verbreitet wird.
14
Freigabeeinstellungen ändern, https://support.google.com/drive/answer/2494886?hl=de, 16. März
2016
16
3.4 iCloud
Die letzte Freigabeoption lautet Öffentlich im Web“, und beschreibt die Möglich”
keit durch eine Suchanfrage im Internet, die Datei zu finden und je nach eingestellter
Berechtigung lesen, herunterzuladen oder sogar bearbeiten zu können.
Zuletzt gibt es unter Eigentümereinstellungen noch die Möglichkeit, die Rechte feinzujustieren. Dabei gibt es die selbsterklärenden Funktionen: Bearbeiter dürfen weder
”
die Zugriffsberechtigung ändern, noch neue Personen hinzufügen“und Option zum Her”
unterladen, Drucken und Kopieren für Kommentatoren und Betrachter deaktivieren“.
Letzteres gilt nicht für Ordner und Nutzer mit Bearbeitungsrechten.
Versionsverwaltung und Aktivitäten
Das Besondere an Google Drive beim Verwenden der Weboberfläche ist, dass Zwischenspeicherungen und Änderungen an den Dokumenten, genau verfolgt werden können.15
Bei Bedarf kann auch zwischen den verschiedenen Versionen eines Dokuments gewechselt
werden.16
Eine andere Möglichkeit mit Google Docs das Dokument gemeinsam zu bearbeiten, ist
der Bearbeitungsmodus Vorschlagen“. Dabei kann ein Nutzer, mit dem das Dokument
”
geteilt wurden, einstellen, dass alle Änderungen Vorschläge sind, die später vom Besitzer
angenommen oder abgelehnt werden können.
Zusätzlich zur Versionsverwaltung gibt es bei der Weboberfläche und bei den mobilen
Apps eine Liste an Aktivitäten. Dort wird informiert, welche Dokumente zuletzt verändert
wurden.
Löschen und Wiederherstellen
Möchte der Nutzer ein Dokument löschen, so kann er es einfach in den Papierkorb von
Drive schieben. Dort bleibt die Datei so lange gespeichert, bis der Papierkorb geleert wird.
Es ist zu beachten, dass andere Nutzer, mit denen die Datei geteilt wurde, solange auf
das Dokument Zugriff besitzen bis die Freigabe aufgehoben oder der Papierkorb geleert
wurde. Nach dem Leeren des Papierkorbs, kann nur eventuell durch Kontaktieren des
Supports die Datei wiederhergestellt werden.17
3.4 iCloud
ICloud ist Apple’s Online-Dienst, um verschiedenste Daten zwischen produkteigenen Geräte zu synchronisieren. Zusätzlich können mit Apple’s Anwendungen Dokumente erstellt,
bearbeitet und online gespeichert werden. Daher werden in den folgenden Unterpunkten
15
Dateiversionen ansehen und verwalten, https://support.google.com/drive/answer/2409045?hl=de,
16. März 2016
16
Um zur Versionsverwaltung zu gelangen, muss das Dokument mit Google Docs geöffnet werden. Dann
im Menü Datei“ → Überarbeitungsverlauf anzeigen“ auswählen, 8. März 2016.
”
”
17
Info zum Papierkorb von Google Drive: https://support.google.com/drive/answer/2375102?hl=de,
8. März 2016.
17
3 Cloud-Dienste
die Geschichte und allgemeine Fakten von iCloud (3.4.1) erklärt, der gegenwärtige Funktionsumfang (3.4.2) aufgelistet und geprüft, ob sich der Dienst für unsere Hauptbedürfnisse
(3.4.3 bis 3.4.3) eignet.
3.4.1 Geschichte
Im ersten Jahr des 21. Jahrhunderts stellte Steve Jobs auf der Macworld Expo iTools
vor, ein Dienst der für jeden Mac-Nutzer18 kostenlos war. Dieser Dienst ermöglichte
es, E-Mails über mac.com abzurufen, eine Webseite zu erstellen und zu veröffentlichen,
einen Webfilter zu verwenden und mit iDisk Daten online zu speichern (20 Megabyte
Speichervolumen). Später wurde die Möglichkeit hinzugefügt den Onlinespeicher auf 400
Megabyte zu erweitern. Jedes Megabyte kostete dabei einen Dollar jährlich [17].
2002 verkündete Jobs, dass iTools, welches bereits 23 Millionen Nutzer hatte, zu .Mac
(dotMac) umbenannt wird. Trotz der zusätzlichen Funktionen hatte DotMac nie so
viele Benutzer wie iTools, da der Dienst ab diesem Zeitpunkt pro Jahr $99.95 kostete.
Neuerungen waren, dass E-Mails zum vorherigen POP-Protokoll nun auch IMAP unterstützten, iDisk die Daten automatisch synchronisieren konnte und die Vorgängerversion
des Antivirenprogramms McAfee 19 , namens Virex, zur Verfügung gestellt wurde. Andere
Nebenfeatures war die Möglichkeit Kalendertermine mit Anderen zu teilen. Für alle anderen Nutzer wurde später der kostenlose Service iSync zur Verfügung gestellt, der jedoch
nur eingeschränkte Funktionalität aufwies. Obwohl es im Laufe der Zeit immer weitere
Verbesserungen von .Mac gab und 2007 bereits 10GB um $49.95 pro Jahr erhältlich
waren, stand .Mac immer mehr im Schatten anderer Konkurrenten [17].
2008 wurde .Mac von MobileMe ersetzt. Die größten Neuerungen dabei waren, dass ab
sofort die Domain me.com anstatt mac.com verwendet wurde und die Synchronisation
der Daten um einiges verbessert wurde. Zusätzlich wurde die Weboberfläche unter dem
alle Dienste gebündelt wurden erneuert. Für neue Nutzer kostete der Service wieder
$99 im Jahr und war daher teurer, als die von Google angebotenen Dienste, jedoch war
MobileMe umfangreicher [3].
2011 wurde MobileMe schließlich von iCloud abgelöst. Dabei sind einige Dienste
weggefallen oder ersetzt worden. Die Funktion, sein eigenes iPhone über den Computer zu
orten oder zu sperren, ist mit Mein iPhone suchen nach wie vor möglich. Hingegen wurde
der Service iDisk und iDisk entfernt. 2014 kam iCloud Drive hinzu, welches ähnlich wie
iDisk ist. Heute können bis zu 1TB Daten auf iCloud gespeichert werden [21].
3.4.2 Anwendung
Wie im Abschnitt 3.4.1 erklärt wurde, besitzt iCloud mehrere Komponenten und Funktionen. Dabei besteht der Kern dieser Komponenten aus den wichtigsten DokumentenBearbeitungsprogrammen:
18
Mac ist die Abkürzung für Macintosh und bezeichnet allgemein die Computer der Firma Apple. Siehe
auch https://de.wikipedia.org/wiki/Macintosh
19
Virex: https://de.wikipedia.org/wiki/McAfee_VirusScan, 13. August 2015
18
3.4 iCloud
Pages um Textdokumente zu bearbeiten,
Numbers ein Tabellenkalkulationsprogramm und
Keynote mit dem es möglich ist, Präsentationen zu erstellen.
Diese Kollektion an Programmen wird von Apple iWork genannt. IWork gibt es sowohl
als Weboberfläche im Browser, als auch als App zum Herunterladen für OS X20 und
iOS21 . Jede Datei, die mit einem der oben genannten Programme erstellt wurde, kann
online gespeichert und geteilt werden. Der gemeinsame Speicherplatz ist dabei auf ein
Gigabyte beschränkt.
Problematisch wird das Arbeiten mit Microsoft Office Dokumenten, da beim konvertieren von z. B. Word-Dateien ins Pages-Format eventuell verschiedene Schriftarten
ausgetauscht werden oder spezifische Word-Funktionen nicht exakt übernommen werden.
Die iWork Programme sind für alle zugänglich, die einen iCloud Account (kostenlos)
besitzen. Sollte jedoch der Nutzer ein Apple Gerät besitzen, so erweitert sich der kostenlos
zur Verfügung gestellte Speicherplatz auf fünf Gigabyte. Zusätzlich bekommt der Nutzer
Programme, die ihm ermöglichen seine Kontakte, Termine und Notizen in die Cloud zu
speichern und mit anderen Geräten zu synchronisieren. Wahrscheinlich ist es aber nie
möglich all den neu gewonnen Cloud-Speicher nur mit eigenen Dokumenten zu füllen, da
ebenso die Backups von mobilen iOS Geräten viel Speicherplatz einnehmen werden.
Ein anderes Programm, das bei Verwendung eines Apple Gerätes hinzu kommt, ist
iCloud Drive. Mit diesem Dienst ist es nun auch möglich verschiedenste Dateien online
zu speichern. Das Speichern funktioniert dabei nicht nur mit dem Browser und den
iOS-Anwendungen, sondern auch mit Syncfoldern. Auf diese Art und Weise kann auch
das Konvertieren von Word-Dokumenten verhindert werden:
• Für iOS Geräte empfiehlt es sich die jeweilige Microsoft Office App zu installieren,
da in denen direkt auf den Cloudspeicher zugegriffen werde kann.
• Für Windows sollte der Drive Sync-Folder zum Öffnen, Speichern und Synchronisieren von Dokumenten über die iCloud verwendet werden.
• Für Android gibt es momentan keine von Apple bereitgestellten Apps. Daher kann
der Nutzer auf seine Dokumente nur über die Weboberfläche oder DrittanbieterAnwendungen zugreifen.
Im folgenden Abschnitt werden nun kurz einige Funktionen von iCloud genauer beschrieben. Dabei ist es wichtig die Ordnerstruktur von iCloud zu kennen. Der große
Hauptordner, in dem alles gespeichert wird, ist nur über iCloud Drive zugänglich. In
diesen Ordner können neue Ordner und Dateien (egal welches Format) hochgeladen
werden. Zusätzlich existieren auch Ordner die nur von einer bestimmten Anwendung
benutzt werden dürfen. So besitzt Pages seinen eigenen Ordner in dem nur Textdokumente gespeichert werden können. Manche Anwendungsordner können dabei aber auch
20
21
OS X ist Apple’s Betriebsystem für seine Standcomputer iMac und Laptops Macbook.
iOS ist ein Betriebsystem, das auf allen Smartphones iPhone und Tablets iPad von Apple läuft.
19
3 Cloud-Dienste
versteckt sein und nur z. B. mit der Konsole entdeckt werden. Der verbrauchte Speicher
von Backups bleibt hingegen völlig unsichtbar und wird auch nicht im Syncfolder mit
synchronisiert.
3.4.3 Funktionalität
Suchen und Sortieren
Möchte der Nutzer nach Dokumenten über die Weboberfläche suchen, so muss er in die
jeweilige Anwendung des Dokumententyps navigieren. Z. B. muss auf der Suche nach
einem Tabellendokument zuerst in die Online-Anwendung Numbers gewechselt werden,
um das gewünschte Dokument finden zu können. Der Grund für diesen Weg liegt darin,
dass iCloud Drive keine Suchleiste besitzt. Das Gleiche gilt ebenso für das Sortieren
von Dokumenten. Die Pages-Anwendung besitzt dabei das Sortieren nach Namen und
Datum.
Hingegen besitzt die iCloud Drive App für iOS wiederum schon so ein Such- und
Sortierfeld. Dabei kann nicht nur nach Datum und Name sortiert werden, sondern auch
nach Tags. Zusätzlich ist es auch möglich in den entsprechenden Anwendungen, z. B Pages,
nach den Dokumenten zu suchen und zu sortieren (gleich wie bei der Weboberfläche).
Die in allen iOS integrierte Schnellsuche (Spotlight) findet trotzdem nur Dateien, die in
einen Anwendungsordner gespeichert wurden.
Für Windows und Mac gibt es den Syncfolder, der genau die gleichen Such- und
Sortier-Eigenschaften besitzt, wie ein normaler Ordner.
Datenfreigabe
In iWork gibt es die Möglichkeit seine Dokumente lesend und schreibend zu teilen. Dies
funktioniert aber nur, wenn die Datei bereits in eines der jeweiligen Apple-Formate
konvertiert wurde. Das ist auch einer der Hauptgründe warum sich iCloud nicht für die
gewünschten Funktionen unseres Programms eignet [16].
Versionsverwaltung und Aktivitäten
Bei der Versionsverwaltung von Dokumenten gilt dasselbe wie bei der Datenfreigabe.
Erst nachdem das Dokument in ein Apple-Format konvertiert wurde, kann problemlos
zwischen den verschiedenen Versionen der Datei hin und her gewechselt werden. Eine
Vorschau mit den geänderten Zeilen gibt es dabei aber nicht [16].
Löschen und Wiederherstellen
Egal ob der Nutzer gerade den Syncfolder, iCloud Drive oder eine der drei DokumenteBearbeitungs-Programme verwendet, sobald er eine Datei löscht, kann kein anderes Gerät
mehr auf jene zugreifen. Es ist lediglich nur möglich, die Datei über die Weboberfläche
20
3.5 Kostenübersicht
wiederherzustellen.22 Dieser Weg, die Dateien zurückzuholen, ist aber nur in den ersten
30 Tagen nach der Löschung durchführbar23 .
3.5 Kostenübersicht
Die Kosten für die verschiedenen Clouddienste ist nach Gigabyte unterschiedlich, wobei
OneDrive und Dropbox zwei verschiedene Dienste mit unterschiedlichen Preisen anbieten.
Es wird also bei diesen Clouddiensten zwischen Privatpersonen und Geschäftspersonen
unterschieden. Es gibt in allen Clouddiensten die Möglichkeit für Privatpersonen diese
kostenlos zu verwenden, darüber hinaus sind Geschäftskonten kostenpflichtig. Die unterschiedlichen Kosten je nach Speicher für jeweilige Clouddienste inklusive Geschäftskonten
werden in der folgenden Tabelle 3.2 deutlich dargestellt.
22
23
In der Weboberfläche finden sie Funktion unter Einstellungen → Erweitert → Dateien wiederherstellen.
Dokumente wiederherstellen: https://support.apple.com/de-at/HT201104, 17. März 2016
21
3 Cloud-Dienste
Cloud-Dienst
OneDrive für Privatpersonen25
OneDrive for Business26
Dropbox27
Dropbox Pro28
Google Drive29
iCloud30
Speicher
15 GB
100 GB
200 GB
1 TB
1 TB
2 GB
1 TB
5 TB für 5 Nutzer
15 GB
100 GB
1 TB
10 TB
20 TB
30 TB
5 GB
50 GB
200 GB
1 TB
Preis
kostenlos
1,99 e/Monat
3,99 e/Monat
7,00 e/Monat
8,80 e pro Nutzer/Monat
kostenlos
9,99 e/Monat
12 e pro Nutzer/Monat
kostenlos
1,99 $/Monat
9,99 $/Monat
99,99 $/Monat
199,99 $/Monat
299,99 $/Monat
kostenlos
0,99 e/Monat
2,99 e/Monat
9,99 e/Monat
Tabelle 3.2: Kostenübersicht
3.6 Zusammenfassung
Es gibt viele verschiedene Cloud-Anbieter, die meisten davon werden nicht von der
Mehrheit der Menschen verwendet. Eine Cloud ist ein Speicherplatz im Internet, sodass
Nutzer ihre Dokumente, Fotos etc. dort ablegen können und jederzeit Zugriff darauf
haben. Doch sie wissen nicht, wo diese in Wirklichkeit gespeichert sind, das heißt sowie,
dass die Dateien auf der Welt verteilt sein können. Daher auch der Name Cloud“, da der
”
Nutzer nicht merkt, wohin bzw. woher die Dokumente gespeichert wurden bzw. geholt
werden.
Die bekanntesten und am meisten verwendeten Clouddienste, nämlich OneDrive, Dropbox, Google Drive und iCloud, wurden in diesem Kapitel eingeführt. Diese Dienste werden
alltäglich bei Verwendung eines Smartphones benützt, da die meisten Smartphones eines
dieser Clouddienste unterstützt und das Verwenden den Nutzern auffordert, um wichtige
25
https://www.vetalio.de/microsoft-onedrive-kosten, 22. Februar 2016
https://products.office.com/de-at/business/compare-office-365-for-business-plans,
22. Februar 2016
27
https://www.dropbox.com/plans, 22. Februar 2016
28
https://www.dropbox.com/plans, 22. Februar 2016
29
https://support.google.com/drive/answer/2375123?hl=de, 22. Februar 2016
30
https://support.apple.com/de-at/HT201238, 22. Februar 2016
26
22
3.6 Zusammenfassung
Daten dort abzuspeichern.
Die verschiedenen Anwendungen und Funktionalitäten der jeweiligen Cloud-Diensten
wurden besprochen und auch die Geschichte deren berichtet. Aus diesen Informationen
entsteht die Übersichtstabelle 3.3, in dieser zu sehen ist, welches Cloud-Dienst welche
Funktionen und Anwendungen abdeckt. Diese Informationen sind wichtig für die Entscheidung, welche Clouddienste für den Prototyp verwendet werden bzw. wie die gemeinsame
Lösung für die verschiedenen Anwendungsfälle, die in Kapitel 6 beschrieben werden,
aussehen muss.
Für dieses Projekt ist es nötig, dass mit Word-Dokumenten gearbeitet werden kann, da die
Kunden von Advokat hauptsächlich mit diesen arbeiten. Daher sollten die Clouddienste
die Möglichkeit geben, diese Dokumente mobil, offline als auch online zu bearbeiten,
dabei ist es aber wichtig, dass diese Bearbeitung in unkomplizierter Art und Weise erfolgt.
Das Editieren sollte nicht in einem anderen Programm als Word passieren.
Diese Aspekte sind für die Entscheidung sehr wichtig und deshalb wurde iCloud ausgeschlossen, da es in keiner Hinsicht möglich ist, Word-Dokumente mobil und online direkt
in Word und Word-Online zu öffnen. In OneDrive und Dropbox geschehen diese Schritte
einwandfrei, wobei in GoogleDrive das Online- und Mobil-Bearbeiten durch Word-Online
und Word nicht integriert ist. Doch trotzdem kann die Datei mit Google Docs geändert
werden und es wird als eine Word-Datei synchronisiert. Sonst ist jegliches Bearbeiten
mit Word möglich. Dies war der Hauptpunkt, GoogleDrive nicht zu eliminieren und der
angebotener kostenloser Speicher ist auch angemessen.
Bei OneDrive und Dropbox wurde auf die Business-Konten verzichtet, da es nicht nötig
ist, so viel Speicher zu besitzen. Denn die 15 GB, die von OneDrive angeboten werden, und
die 2 GB von Dropbox reichen für die Verwendung der Clouddienste aus und sind zu dem
auch kostenlos. Ein anderer Faktor für die Entsagung des Business-Angebots war auch,
dass die Angebote für Privatkunden die Anforderungen für die Anwendungsfälle abdecken.
Nach all diesen Aspekten wurde der Entschluss gefasst, dass die kostenlosen OneDrive,
Dropbox und Google Drive für den Prototyp in Frage kommen.
App
Online-Anwendung
SyncFolder
Suchen nach Metadaten
Suchen nach Inhalt
Suchen nach Namen
\
iCloud
Dropbox
GoogleDrive
OneDrive
331
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
Dropbox Pro/OneDrive for Business
Privatpersonen
\\
31
evtl. nur über Drittanbieter
23
3 Cloud-Dienste
Sortieren von Dokumenten
Teilen mit Anmelde- bzw.
Kennworteinschränkung
Teilen
mit
Zugriffseinstellung
Teilen mit Kommentaroption
Teilen mit Ablaufdatum
Linkbesitzer können Link
weiterteilen
Link teilen per E-Mail
Link teilen per AccountEinladung
Vollständige Veröffentlichung von Dokumenten
Folgen von Dokumenten
Versionskontrolle
Datenwiederherstellung
Remote-Löschen
Eigenschaften von Dokumenten bleiben erhalten
Office-Online
Office365 bzw. Office
Office-Dokumente werden
unterstützt
Offline-Zugriff auf Dokumente
Synchronisation auf allen
Geräten
Privatpersonen
Business
Speicher kostenlos
iCloud
Dropbox
GoogleDrive
OneDrive
3
3
3
3
3
3
3
3
3
3\
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
\
3
332
3
3
3\
3
3
3
3
3
3
3
3
3
3
335
3
3
3
3
3
3
2 GB\\
3
3
15 GB\\
3
3
15 GB\\
5 GB
Tabelle 3.3: Clouddienste Vergleich
Solange sie nicht mit Pages bearbeitet werden.
Onlinebearbeitung mit Google Docs.
34
Nur bei iOS-Apps.
35
keine Android oder Windows Phone Geräte
24
3
3
334
Dropbox Pro/OneDrive for Business
\\
Privatpersonen
33
3
3
3
333
3
3
3
\
32
3
3
3
4 Verwendete Technologien
In diesem Kapitel wird die Programmiersprache VB.NET und XAML, in der unser
Programm geschrieben ist, erklärt (Abschnitt 4.1). Als Programmierumgebung wurde
dabei Visual Studio verwendet (Unterpunkt 4.3). Das getrennte Programmieren und
das Zusammenfügen von Codeteilen verlangt ein Programm, mit dem unterschiedliche
Programmversionen verwaltet werden können. Darum werden der Visual Studio Team
Explorer und Bitbucket verwendet und in Abschnitt Visual Studio konkretisiert.
Die graphische Oberfläche unseres Programms benötigt eine Datenbank, die mittels der
Software-Komponente ADO.NET angebunden wird. Zusätzlich wird die dabei verwendete
Datenbanksprache SQL beschrieben.
Des Weiteren benützen die drei Cloud-Dienste OneDrive, Dropbox und Google Drive
das gleiche Protokoll, um Nutzer über die Programmierschnittstellen anzumelden. Das
Protokoll OAuth 2.0 wird daher im Unterpunkt 4.6 erklärt.
Zuletzt werden in Abschnitten 4.7 bis 4.9 einige Informationen und Merkmale der
verschiedenen Cloud-API’s dargelegt und beschrieben, wie gut sie für die Anbindung an
unser Programm geeignet waren.
4.1 VB.NET
Da das Programm Advokat mit VB.NET entwickelt wurde, wurde diese Sprache verwendet,
um diese Bachelorarbeit zu verwirklichen.
VB.NET ist eine objektorientierte Programmiersprache und ist simpel zum Lernen, da
sie relativ wenige Schlüsselwörter, also reservierte Wörter, verfügt. Die Sprache VB.NET
wurde für .NET entwickelt und .NET wurde für das Entwickeln von Webprogrammen
konzipiert. Auch wenn .NET webbasiert ist, kann VB.NET für drei verschiedene Programmtypen angewendet werden, nämlich für Web-, Windows- und Konsole-Anwendungen.
(vgl. [15, Seite 4,6])
Für unser Projekt war nur die Windows-Anwendung wichtig, also ist das entwickelte
Projekt eine so genannte WPF-Anwendung (steht für Windows Presentation Foundation).
Die detaillierten Informationen über unsere Anwendung werden in Abschnitt 5.1 erklärt.
4.2 XAML
XAML1 steht für Extensible Application Markup Language und ist eine deklarative Sprache.
XAML wurde von Microsoft entwickelt und dient zur Erstellung von Benutzeroberflächen.
1
XAML: https://msdn.microsoft.com/en-us/library/cc189036(VS.95).aspx, 21. März 2016
25
4 Verwendete Technologien
Diese Programmiersprache ermöglicht das Deklarieren von GUI-Objekten und es kann
dann ein separates Code im Hintergrund erstellt werden, um bei Events, wie Loading,
Closing, Click etc., diese Objekte zu manipulieren.
Die Benutzeroberfläche, die in Kapitel 5 unter Abschnitt 5.1 beschrieben wird, wurde
mit XAML entwickelt und VB.NET für die Objektzugriffe, die durch diese Sprache
deklariert wurden, verwendet.
4.3 Visual Studio, Team Explorer und Bitbucket
Für das gemeinsame Arbeiten und für die Versionskontrolle des Codes war es nötig ein
Bitbucket 2 Repository zu verwenden.
Bitbucket ist ein Filehosting-Dienst, der das Versionskontrollsystem Git 3 unterstützt.
Bitbucket bietet seinen Nutzern das Erstellen von privaten Repositorys, diese sind also
nicht öffentlich sichtbar, kostenlos an.
Visual Studio Team Explorer 4 ist ein Plug-in für Visual Studio und wird verwendet
um mit Git-Projekten zu arbeiten. Dabei wird das Projekt mithilfe von Team Explorer
geklont und nötige Git-Befehle, wie commit, pull und push, werden mit deren Benutzeroberfläche ausgeführt. Nach dem Überarbeiten des Codes wird diese geänderte Datei schon
zum Commiten vorgeschlagen. Dieses Interface ist recht praktisch beim Programmieren,
da alles im selbem Programm, also in Visual Studio, erfolgt.
In der Abteilung Projekt“ im Team-Explorer-Fenster werden für das aktive Git-Projekt
”
verschiedene Git-Funktionen angeboten: Unter Änderungen“ erfolgen die sogenannten
”
Commits, unter Branches“ werden die Branches erstellt oder auch verwalten, unter
”
Sync“ werden die Commits gepullt oder gepusht und unter Einstellungen“ wird das
”
”
jeweilige Git-Projekt verwalten.
Unter dem Bereich Projektmappen“ werden alle geklonten Projekte angezeigt. Zusätz”
lich können dort neue Projekte geklont oder jene geklonte, die nicht angezeigt werden,
im Datei-Explorer gesucht und geöffnet werden.
4.4 SQL
Structured Query Language, abgekürzt SQL, ist eine Sprache, die für Datenbank-Abfragen
verwendet wird. (vgl. [8, Seite 7]) Es wird also durch SQL gewünschte Abfragen zu erstellen,
um aus einer bestimmten Tabelle aus einer Datenbank Informationen zu bekommen. Das
Ergebnis einer SQL-Abfrage ist wiederum eine Tabelle.
2
Bitbucket: https://bitbucket.org, 22. Februar 2016
Git: https://git-scm.com, 22. Februar 2016
4
Visual
Studio
Team
Explorer:
https://www.visualstudio.com/en-us/products/
team-explorer-everywhere-vs.aspx, 22. Februar 2016
3
26
4.5 ADO.NET
4.5 ADO.NET
ADO.NET (Microsoft ActiveX Data Objects.NET) gehört zum .NET Framework und
wird für Datenbankverbindungen angewendet. Mithilfe ADO.NET können Daten in
Tabellen abgefragt und upgedatet werden. (vgl. [13]) Die Abbildung 4.15 zeigt die
Übersicht über ADO.NET. Wie auf der Übersicht zu sehen ist, trennt ADO.NET bei
Abbildung 4.1: ADO.NET Übersicht
der Datenbeschaffung aus einer Datenbank die Bereitstellung und Darstellung der Daten.
Die Hauptkomponenten von ADO.NET sind der Data Provider und der Data Set.
Der Data Provider muss die fachlichen Informationen über die verwendete Datenbank
wissen, da ein Data Provider die Schnittstelle zu der Datenbank ist. Der Data Provider
besteht wiederum aus vier Objekten:
• Connection: baut die Verbindung zur Datenbank auf.
• Command: ist eine SQL-Anweisung oder eine gespeicherte Prozedur, die verwendet
wird, um Daten aus der Datenbank abzufragen, hinzuzufügen, zu löschen oder zu
ändern.
• Data Reader: wird verwendet um Daten aus der Datenbank im Read-Only“ und
”
Forward-Only“ Modus abzurufen.
”
• Data Adapter: ist der wesentlicher Bestandteil des Data Providers. Er schreibt
die Daten aus der Datenbank in den Data Set und aktualisiert die Datenbank. Falls
es Änderungen im Data Set gibt, wird durch den Data Adapter die Datenbank
entsprechend upgedatet.
Den Data Set kann man sich wie eine Datenbank-Cache vorstellen, die hat also keine
Verbindung zur Datenbank. Sobald eine Datenbankverbindung erstellt wird, kreiert der
5
ADO Übersicht Quelle: http://www.tutorialspoint.com/vb.net/vb.net_database_access.htm, 21.
März 2016
27
4 Verwendete Technologien
Data Adapter ein Data Set und speichert die Daten aus der Datenbank dort ab. Nach
dem die Daten im Data Set gespeichert wurden, wird die Verbindung zur Datenbank
geschlossen. Der Data Set ist eine virtuelle Datenbank, die Tabellen, Zeilen und Spalten
beinhaltet.
Der Datentransfer aus einer Datenbank würde im Code wie in Auflistung 4.1 aussehen.
Auflistung 4.1: ADO.NET Datenbank Abfrage
SqlRequest = "select * from Dropbox"
Command.CommandText = SqlRequest
Adapter.SelectCommand = Command
DropboxDatabaseContent = New DataTable
Connection.Open()
Adapter.Fill(DropboxDatabaseContent)
4.6 Anmeldung mit OAuth 2.0
Da die Cloud-APIs anderen Drittanwendungen, wie auch unser Programm eine ist,
Zugriff auf Daten der Cloud-Nutzer gewährt, müssen Verfahren verwendet werden, die
den Zugang vor Unbefugten schützen. Alle drei Cloud-Anbieter verwenden dafür in ihren
Programmschnittstellen das OAuth 2.0 Protokoll. OAuth 2.0 ist der Nachfolger von OAuth
und wurde 2006 entwickelt.
4.6.1 Nachteile von Password Authentication Protocol
Damit sich eine Anwendung im Namen des Nutzers beim Server anmelden kann, muss der
Server feststellen können, um welchen Nutzer-Account es sich handelt (Authentifizierung)
und ob die Anwendung auch vom Nutzer berechtigt wurde, Handlungen auszuführen
(Autorisierung). In traditionellen Authentifizierungsverfahren wird das Problem der
Authentifizierung gelöst, indem an den Server die Benutzerkennung mit übertragen wird.
Zusätzlich zur Benutzerkennung muss der Anwendung auch das geheime Passwort des
Nutzers, das mit der Benutzererkennung am Server in Relation steht, gegeben werden,
damit überprüft werden kann, ob die Anwendung autorisiert ist.
Das bringt folgende Probleme mit sich6 :
• Damit sich der Benutzer nicht bei jeder Aktion, die er mit der Anwendung ausführen
möchte, erneut anmelden muss, muss die Benutzererkennung und das Passwort
unverschlüsselt in der Datenbank der Anwendung gespeichert werden.
• Der Server ist gezwungen, das Anmeldeverfahren mit Passwort zu unterstützen,
obwohl das Verfahren keinen Schutz bietet, sobald kein gutes“ Passwort gewählt
”
wird.
• Durch das Passwort erhält die Anwendung uneingeschränkten Zugriff in Namen
des Benutzers auf alle Dienste, die vom Server zur Verfügung gestellt werden, für
alle Zeit bis das Passwort abgeändert wird.
6
Einleitung zur Spezifikation von OAuth 2.0, http://tools.ietf.org/html/rfc6749, 25. März 2016
28
4.6 Anmeldung mit OAuth 2.0
• Aus dem letzten Punkt folgt ebenso, sobald das Passwort abgeändert wird, verlieren auch alle anderen Dritt-Anwendungung, die mit den Diensten des Servers in
Verbindung stehen, die Berechtigungen im Namen des Benutzers zu handeln.
• Sollte ein Angreifer das Passwort des Nutzers auforschen, so kann sich der Angreifer
für alle Dienste autorisieren, die das gleiche Passwort verwenden.
Das ist der Grund, warum die Cloud-Anbieter verlangen, dass sich alle Dritt-Anwendungen
über das OAuth 2.0 Protokoll authentifizieren.
4.6.2 Funktionsweise
Immer wenn ein Befehl, wie z. B das Hochladen eines Dokuments, an den Server des
Cloud-Anbieters gesendet wird, so wird mit dieser Anfrage eine Zeichenfolge, auch Access
Token genannt, mitübergeben. Mit dem Access Token kann der Server feststellen, welche
Drittanwendung verwendet wird und welcher Cloud-Nutzer diese gerade benutzt.
Um das Identifizieren der Anwendung mittels Access Token zu ermöglichen, muss
diese zuvor erst beim Cloud-Anbieter registriert werden. Die Registrierung erfolgt über
den Webbrowser und hat bei allen drei Anbietern ungefähr das gleiche Erscheinungsbild
(Siehe auch Abbildung 4.2).
Abbildung 4.2: Registrierung einer Dropbox-App
Damit die Anwendung das Access Token für den Nutzer speichern kann, muss sich
dieser über einen Webbrowser anmelden. Da unser Programm eine WPF-Anwendung ist,
kann relativ leicht ein Webbrowser in die graphische Oberfläche unserer App integriert
werden (siehe auch Abbildung 5.3).
In dem nachfolgendem Abschnitt werden die Abläufe zur Anmeldung, anhand CodeAusschnitten aus unserem Programm erklärt. Genauer gesagt, verwenden wir HTTP
29
4 Verwendete Technologien
GET und POST Anfragen, die sich an den Google Drive Server wenden. Der Grund dafür
liegt an der beschränkten Funktionalität der Google Drive .NET-Library, die es nicht
erlaubt das Anmelden über den WPF-Browser zu ermöglichen
Die URL, die der Browser zur Anmeldung des Benutzers aufruft, muss von unserer
Anwendung zuerst erstellt werden. Dabei wird eine vom Cloud-Anbieter vordefinierte
URL mit den benutzerdefinierten Parametern scope, redirect uri und client id erweitert
(siehe auch Auflistung 4.2). Der englische Begriff scope“ kann mit Handlungsspielraum“
”
”
übersetzt werden und bezeichnet auf welche Daten unser Programm Zugriff bekommt.
Der Parameter redirect uri steht für die URL, die der Webbrowser nach abgeschlossener
Anmeldung aufruft. Dabei bewirkt der Wert urn:ietf:wg:oauth:2.0:oob“, dass der autho”
rization code, mit dem später das Access Token angefordert wird, über die Titelleiste des
Browser ausgelesen werden kann. Die ClientId, die wir durch das Registrieren unserer
Anwendung bekommen haben, wird als letzter Parameter mitübergeben.
Auflistung 4.2: Aufrufen der Authentifizierungs-Webseite
AuthentificationBrowser.Navigate(String.Format(
"https://accounts.google.com/o/oauth2/auth?
response type=code&
scope={0}&redirect uri={1}&
client id={2}
&hl=de&from login=1&as=d832bdaf61552d&pli=1&authuser=0",
DriveService.Scope.Drive, "urn:ietf:wg:oauth:2.0:oob", AppKey))
Als nächstens schließt sich das Browserfenster und unsere Anwendung erstellt eine
HTTP Post Anfrage, um das Access Token zu bekommen. Dabei bezeichnet die Variable
AuthorizationCode“ diex aus der Titelleiste des Browsers ausgelesene Zeichenfolge.
”
Auflistung 4.3: Post-Anfrage um Access und Refresh-Token zu bekommen
Dim param As New Specialized.NameValueCollection
param.Add("code", AuthorizationCode)
param.Add("client_id", AppKey)
param.Add("client_secret", AppSecret)
param.Add("redirect_uri", "urn:ietf:wg:oauth:2.0:oob")
param.Add("grant_type", "authorization_code")
Dim response_bytes =
sendto.UploadValues("https://www.googleapis.com/oauth2/v3/token",
"POST", param)
Nachdem die Anfrage gesendet wurde, antwortet der Server mit dem Access Token.
Im Fall vom Google Drive kommen jedoch noch zwei weitere Parameter hinzu, denn
das Access Token ist dort nur ungefähr eine Stunde gültig. Die genaue Gültigkeitsdauer
kann durch den Wert von expires in“ in Erfahrung gebracht werden. Nachdem das
”
Access Token abgelaufen ist, kann durch den dritten zurückgegebenen Wert, mit den
Namen refresh token“, jederzeit ein neues Access Token angefordert werden. Durch das
”
Verwenden eines Refresh Token ändert sich automatisch das Access Token jede Stunde,
ohne dass sich der Benutzer erneut anmelden muss. Angreifer können ab dann mit einem
alten Access Token nichts mehr anfangen.
30
4.7 OneDrive
4.7 OneDrive
Für die Implementierung von OneDrive wurde die OneDriveRestAPI 7 genutzt. Diese
API unterstützt das Hochladen, Herunterladen, Löschen von Dateien und das Erstellen
von Ordnern. Sie bietet noch das Teilen für den lesenden Zugriff an.
Das Hauptproblem dieser API ist es, dass die Dokumentation dieser API sehr mager
ist, dass es Schwierigkeiten gab, die Funktionalität so hinzubekommen, wie es von den
Projektanbietern erwünscht war. Es stehen auch nur Funktionen zur Verfügung ohne
jegliche Dokumentation in der API selbst. Daher wurden die meisten Code-Teile von der
OneDrive Implementierung durch sämtliche Probierereien entwickelt. Für das Hoch- und
Herunterladen jedoch gibt es ein Beispiel, um zu sehen auch, wie die API zu funktionieren
hat. Alle anderen Funktionalitäten der API aber sind für das selbständige Austesten
gedacht. Somit wurde später klar, dass das Teilen für den Lese-Und-Schreib-Zugriff nicht
verfügbar war, wurde dieser Teil durch das Verlinken zur Webseite gelöst. Andere wichtige
Funktionalitäten für dieses Projekt sind dennoch von dieser API abgedeckt.
4.8 Dropbox
Am 9. September 2015 starteten die Arbeiten, die Schnittstelle von Dropbox in unser
Programm zu integrieren. Die Liste der damals von Dropbox direkt unterstützten API ’s
enthielt sieben SDK ’s in unterschiedlichen Programmiersprachen und eine Rest-API 8 .
Die Sprache VB.NET fehlte jedoch in dieser Auflistung.9 Unter der von Dropbox vorgeschlagenen Liste an Libraries von Drittanbietern10 wurde die von Damian Karzon mit
den Namen DropNet 11 ausgewählt.
Fast am Ende der DropNet Implementierung wurde klar, dass wie auch bei OneDrive,
der 5. Anwendungsfall Kollaboration mit Partnern“ (siehe 6.6) so nicht integriert werden
”
kann. Der Leser beachte, dass es über die Weboberfläche sehr wohl möglich ist, ein
Dokument einem anderen Dropbox Nutzer mit geforderter Anmeldung und schreibendem Zugriff freizugeben. Schuld daran ist jedoch nicht DropNet, sondern die fehlenden
Funktionen seitens der Dropbox Api.12
Leider ließ sich dieses Problem auch nicht durch simulieren der Ajax-Abfragen, die beim
Verwenden eines Webbrowser entstehen, lösen. Das Hauptproblem liegt dabei, dass sich
das Access-Token von der Library und Access-Token aus dem Webbrowser (logischerweise)
unterscheiden und Aufrufe mit dem Access-Token von der Library abgelehnt werden. Die
Ajax-Anfrage, um ein Dokument schreibend zu teilen, wird in Abbildung 4.3 dargestellt.
Nachdem das Problem, wie bei OneDrive, durch Weiterleiten des Nutzers zum Webbrowser umgangen wurde, kündigte Dropbox am 4. November 2015 die zweite Version
7
OneDriveRestAPI: https://github.com/saguiitay/OneDriveRestAPI, 22. Februar 2016
Rest-API’s arbeiten mit HTTP An- und Abfragen.
9
Dropbox-API Version 1: https://www.dropbox.com/developers-v1/core, 20.März 2016
10
Drobox’s Drittanbieter-Bibliotheken: https://www.dropbox.com/developers-v1/core/sdks/other,
20. März 2016
11
Dokumentation von DropNet: http://dkdevelopment.net/what-im-doing/dropnet/, 20. März 2016
12
Dropbox Rest Api: https://www.dropbox.com/developers-v1/core/docs, 20. März 2016
8
31
4 Verwendete Technologien
Abbildung 4.3: Der Versuch die Ajax-Anfragen vom Webbrowser zu verwenden
ihrer API an.13 Neben den Programmiersprachen Swift, Python und Java wird nun auch
.NET unterstützt. Zusätzlich ist das Teilen von Ordnern soweit erweitert worden, dass
der 5. Anwendungsfall (Kollaboration mit Partnern, Abschnitt 6.6) nun integriert werden
kann.
Daher und damit Advokat keine veraltete Anbindung an Dropbox verwenden muss,
wurde die Anbindung an Dropbox von Grund auf neu programmiert. Manche Funktionen,
so auch das Teilen von Ordnern, waren bei der Entwicklung des Programms in der
Beta-Phase. Daher kam es zu dem Phänomen, dass Teile unseres Programms, die mit
Dropbox zu tun hatten, von einem zum anderen Tag nicht mehr funktionierten. Nach
updaten der Dropbox API wurde dann meistens klar, welche Funktionen ausgetauscht
werden mussten.
4.9 Google Drive
Im Gegensatz zu OneDrive ist die Drive Rest API besser dokumentiert und einsteigerfreundlicher. Es gibt unter Google Developers eine Startseite, in welcher die verschiedenen
Funktionen der API gezeigt werden,14 Beispiele in zehn verschiedenen Programmiersprachen, die es ermöglichen ein kleines Konsolen-Programm mit der Drive API innerhalb
von fünf Minuten zu schreiben15 und eine genau Dokumentation für alle Klassen, die eine
wichtige Rolle in der API spielen16 .
Die einzige Herausforderung beim Integrieren von Google Drive ist das Anmelden.
Beinahe der ganze Anmeldevorgang hängt von diesen Code-Zeilen (Auflistung 4.4) ab.17
13
Dropbox
API
v2
launches
today:
https://blogs.dropbox.com/developers/2015/11/
dropbox-api-v2-launches-today/, 20. März 2016.
14
Drive Übersicht: https://developers.google.com/drive/v3/web/about-sdk, 12. März 2016
15
Schnellstart mit .NET, https://developers.google.com/drive/v3/web/quickstart/dotnet, 12.
März 2016
16
API-Documentation: https://developers.google.com/resources/api-libraries/documentation/
drive/v3/csharp/latest/annotated.html, 12. März 2016
17
Diese Codezeilen basieren auf das Starter Beispiel von Google Drive für .Net: https://developers.
32
4.10 Zusammenfassung
Auflistung 4.4: Anmeldung unter Google Drive
Dim Credential As UserCredential
Credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
GoogleClientSecrets.Load(stream).Secrets,
Scopes,
"user",
CancellationToken.None,
new FileDataStore(credPath, true)).Result
Das Problem ist die Google Klasse FileDataStore, die im Verzeichnis credPath ein
Textdokument anlegt, um die Anmeldedaten zwischenzuspeichern (zu cachen). Wurden
die Anmeldedaten des Benutzers user noch nicht gespeichert, öffnet die Google Drive
API automatisch den Standard-Browser des Computers, damit sich der Nutzer anmelden
kann.
Jedoch ist eine geforderte Eigenschaft an unsere Library, die Schnittstellen der CloudAnbieter zu vereinheitlichen. OneDrive und Dropbox melden den Nutzer über ein eigens
erstelltes Browser-Fenster an (Siehe auch Abbildung 5.3).
Darum wird wie im Kapitel OAuth 4.6 beschrieben, das Access Token und die anderen
Authentifizierungsdaten über HTTP abgefragt. Danach werden diese Daten in die Klasse
MyDataStore gespeichert, die die gleiche Schnittstelle implementiert, wie auch Google’s
Klasse FileDataStore. Somit wird das Öffnen des Standard-Browsers vermieden und die
Schnittstelle unserer Library bleibt einheitlich.
4.10 Zusammenfassung
Dieses Kapitel befasst sich mit den Technologien, die in diesem Projekt verwendet
wurden. Eines davon ist die Programmiersprache VB.NET, mit dem das Programm
und die Library erstellt wurde. Kurz wird diese Programmiersprache vorgestellt und
die drei Anwendungsmöglichkeiten mittels VB.NET werden erwähnt. Diese sind die
Web-, Windows- und Konsole-Anwendungen. Die andere Programmiersprache, die für die
Entwicklung verwendet wurde, ist XAML, die für das Erstellen von Benutzeroberflächen
in der .NET Umgebung nötig ist.
Für eine Teamarbeit wurde ein Bitbucket Repository benutzt. Bitbucket ist ein
Filehosting-Dienst mit dem Versionskontrollsystems Git. Das Repository wurde mittels Visual Studio Team Explorer, ein Plug-In für Visual Studio, angebunden. Die
verschiedenen Funktionalitäten dieses Plug-Ins wurden in diesem Kapitell vorgestellt.
Anschließend werden die Technologien für die Datenbankverbindung eingeführt, nämlich
SQL und ADO.NET. SQL ist zuständig für die Datenbank-Abfragen. ADO.NET hingegen
stellt die Verbindung zur Datenbank auf und sendet die Abfragen zur Datenbank und
bekommt das entsprechende Ergebnis zurück.
google.com/drive/v3/web/quickstart/dotnet, 20. März 2016
33
4 Verwendete Technologien
Die Authentifizierung für die einzelnen Cloud-Dienste erfolgt durch den Cloud-Anbietern
mit OAuth und wie dies funktioniert, wird einzeln beschrieben. Die Authentifizierung ist
nötig um Zugriff auf das angegebene Konto zu haben. Somit ist es auch möglich Dateien
zu verwalten, dafür aber auch sogenannte SScopesängegeben müssen.
Zuletzt werden die verwendeten APIs von OneDrive, Dropbox und GoogleDrive zusammengefasst, wobei die Hindernisse beim Implementieren auftauchten, auch besprochen
werden.
34
5 Prototyp: Cloudverwaltung
In diesem Kapitel bekommt der Leser einen Überblick über die Implementierung unseres
Programms mit dem Namen Cloudverwaltung“. Wie im Dokument Mobiles Arbeiten
”
”
mit Dokumenten “ beschrieben wird (siehe Anhang A.2.3), muss eine Testapplikation
implementiert werden, um das Programm entsprechend austesten zu können. Der Code für
die Testanwendung besteht dabei großteils aus der graphischen Oberfläche und wird daher
im Abschnitt 5.1 mit den Namen Benutzeroberfläche erklärt. Die Testanwendung spielt
auch eine große Rolle, bei der Präsentation vor der Advokat-Kommission. Dementsprechend simuliert die Testapplikation, die Benutzeroberfläche, wie sie in Advokat integriert
werden würde.
Die Library, deren Aufgabe es ist, die verschiedenen Cloud-Dienste zu einer einheitlichen Schnittstelle zu vereinfachen, wird in Abschnitt 5.2 beschrieben. Die Library
verwendet keine Datenbank und keine graphischen Komponenten. Dies ist wichtig damit
sie problemlos als DLL ins Advokat-Programm übernommen werden kann. Die Definition
von DLL’s wird im Unterpunkt 5.3 erklärt.
Dadurch, dass keine Datenbank in der Library verwendet wird, verlagert sich die
Verantwortung, die entstehenden Daten konsistent zu halten, hinüber zur Testapplikation.
Daher wird in der Testanwendung auch die Datenbank, die der von Advokat ähneln soll,
simuliert. Der Aufbau der Datenbank wird in 5.4 beschreiben.
5.1 Benutzeroberfläche
Die Benutzeroberfläche wurde mit XAML und VB.NET entwickelt und stellt ein Prototyp für die Cloudverwaltung dar. Das heißt, dass diese Oberfläche ein Idealbeispiel
für die einzelnen Anwendungsfälle, die in Kapitel 6 eingeführt werden, ist. Diese Darstellung des Programms soll das Aktenverzeichnis von Advokat imitieren und diese
mittels der von uns erstellten Cloud-Library, deren Details in Abschnitt 5.2 beschrieben
werden, verwalten. Hier ist mit verwalten das Hochladen auf die Cloud, das Teilen von
hochgeladenen Dokumenten und das Löschen von Dokumenten aus der Cloud gemeint.
Diese Angebote, deren Anwendungen durch die Oberfläche und auch Einzelheiten der
Benutzeroberfläche werden mit Hilfe von Abbildungen einzeln in diesem Abschnitt erklärt.
In Abbildung 5.1 ist das Hauptfenster des Programms zu sehen, wo alle Akten aufgelistet
sind. Dieses Hauptfenster soll die Auflistung der Akten in Advokat darstellen. Jene
Dokumente, die schon auf die Cloud hochgeladen wurden, sind mit dem dazugehörigen Cloud-Logo versehen. Also wurde in (a) die Datei Klage.docx“ auf Dropbox und
”
Streitverhandlung.docx“ auf OneDrive hochgeladen. In (b) wurde zusätzlich Schuldner”
”
35
5 Prototyp: Cloudverwaltung
(a) Kontextmenü vor dem Hochladen
(b) Kontextmenü nach dem Hochladen
Abbildung 5.1: Hauptfenster des Programms
zahlung.docx“ auf Google Drive hochgeladen.
Sofern eine Datei nicht hochgeladen wurde, wird im Kontextmenü nur das Hochladen, wie es in Abbildung 5.1 (a) zu sehen is, angezeigt und es ist nicht mit einem
Cloud-Logo versehen. Sobald das Hochladen erfolgreich abgeschlossen ist, gibt es die
Möglichkeit die Datei zu teilen oder aus der Cloud zu löschen, wie in Abbildung 5.1 (b)
dargestellt. Zusätzlich können die Eigenschaften über die Datei angezeigt werden.
Abbildung 5.2: Benutzeroberfläche für das Hochladen
Nach dem Klicken auf das Hochladen im Kontextmenü erscheint ein neues Fenster,
das in Abbildung 5.2 dargestellt wird. In diesem Fenster ist es möglich einen gewünschten
Clouddienst auszuwählen, dabei steht
• OneDrive,
• Dropbox und
36
5.1 Benutzeroberfläche
• GoogleDrive
zur Verfügung.
Als nächstes kann ein Verwalter ausgewählt werden. Diese sind jene, deren Authentifizierungsdaten für das ausgewählte Clouddienst in der Datenbank, die in Abschnitt
5.4 vorgestellt wird, gespeichert wurden. Falls der gewünschte Verwalter nicht angezeigt
wird, kann unter Neu“ ein neuer Verwalter in die Datenbank eingetragen werden.
”
Zusätzlich kann eine Informationsemail an den Verwalter verfasst werden. Dafür wird
das Kontrollkästchen Infomail an Verwalter“ markiert und somit wird der untere Bereich
”
für die E-mail aktiviert. Dort kann ein Betreff und ein Text hinzugefügt werden.
Die Option Word-Dokument als PDF hochladen“ ist in Advokat schon implemen”
tiert, daher ist dieses Kontrollkästchen inaktiv zum Markieren. Die Verschlüsselung der
PDF-Datei würde sich dann auch aktivieren, falls das Dokument als PDF hochgeladen
wird. Daher ist dies auch inaktiv. Diese zwei Optionen sind trotzdem in diesem Fenster
abgebildet, damit sich dieses dem Advokat-Design anpasst.
Wie schon erwähnt, ist es möglich neue Verwalter für das Hochladen zu erstellen.
Abbildung 5.3: Authentifizierung für OneDrive
Nach dem Drücken auf Neu“ öffnet sich wiederum ein neues Fenster, wo die Login-Seite
”
des entsprechenden Clouddienstes erscheint, das in Abbildung 5.3 zu sehen ist. In dieser
Abbildung ist die Login-Seite von OneDrive zu sehen, wobei es für die anderen Dienste
nicht unterschiedlich erscheint. Das heißt, dass der neuer Verwalter sich mit den Anmeldedaten anmelden und den Zugriff auf seinen Account zulassen muss. Für die erforderliche
Anmeldung muss der Verwalter ein Account der jeweiligen Cloud besitzen oder einen
neuen Account anlegen. Nach der erfolgreichen Anmeldung und der Zulassung werden
alle nötigen Daten für die Authentifizierung in die Datenbank hinterlegt und unmittelbar
danach wird der neue Verwalter im Fenster Dokument Hochladen“ automatisch vom
”
Programm ausgewählt.
Wie schon zuvor erklärt, ist es nach dem Hochladen möglich, die Datei zu teilen. Der
37
5 Prototyp: Cloudverwaltung
Prototyp erlaubt dem Nutzer eine Datei nur einmal zu teilen. Die Library aber ermöglicht
das mehrmalige Teilen einer Datei. Es öffnet sich ein neues Fenster nach dem Drücken
auf das Teilen im Kontextmenü. Dieses Fenster wird in Abbildung 5.4 abgebildet. Unter
Berechtigung“ gibt es je nach Clouddienst die Auswahl zwischen
”
• Lesezugriff ohne Authentifizierung“,
”
• Lesezugriff mit Authentifizierung“ und
”
• Lese- und Schreibzugriff“.
”
Da nicht alle der drei Clouddiensten alle dieser genannten Berechtigungen für das
Teilen unterstützen, werden nicht alle dieser zur Auswahl angezeigt. Als nächstes muss je
nach Auswahl der Berechtigung eine Empfänger-E-mail angegeben werden, falls dies nicht
erforderlich ist, ist dieses Feld inaktiv zum Ausfüllen. Für das Senden einer Infomail wird
das Kontrollkästchen Infomail an Empfänger“ angeklickt. Nach dem ist es wiederum nötig,
”
einen Empfänger bekannt zu geben, in Abbildung 5.4 ist dieser kundexy@mail.com“.
”
Danach kann ein Betreff und ein Text für die E-mail verfasst werden. Mit dieser E-mail
wird auch der Link für den Zugriff auf die Datei zum Text angehängt und dem Empfänger
übermittelt, sonst wird dieser Link zum Kopieren angezeigt.
Jetzt zumal zu den verschiedenen Berechtigungen und deren Funktionalitäten:
Abbildung 5.4: Benutzeroberfläche für das Teilen
Unter Lesezugriff ohne Authentifizierung“ ist die Erstellung von einem öffentlichen
”
Link zu verstehen. Somit hat jeder, der den Link besitzt, einen lesenden Zugriff auf die
Datei.
Bei Lesezugriff mit Authentifizierung“ hat nur die Jenige/der Jenige Ansicht auf
”
das Dokument, die/der sich mit dem jeweiligen Cloud-Konto identifizieren kann. Für
die Vorschau ist daher ein Cloud-Account des zugehörigen Clouds nötig. Damit ein
Link für die gewünschte Person erstellt werden kann, muss eine E-mail-Adresse in der
Benutzeroberfläche angegeben werden. Für das Teilen ist ein Cloud-Konto für diese
38
5.1 Benutzeroberfläche
Person nicht Pflicht, erst beim Öffnen des Links wird sie aufgefordert ein Cloud-Account
zu besitzen.
Die Funktion Lese- und Schreibzugriff“ bedeutet, dass die Datei für eine bestimmte
”
Person geteilt wird und dieser berechtigt ist, das Dokument sich anzusehen und zu bearbeiten. Dafür muss die Person ein Cloud-Account besitzen, um sich zu authentifizieren.
Da in Dropbox, wie in Kapitel 3 in Abschnitt 3.2 schon beschrieben, nicht möglich
ist, Dateien direkt mit Lese- und Schreibzugriff zu teilen, wird für diese Option ein
Ordner erstellt und die Datei dorthin verschoben und der Ordner geteilt. Somit hat die
Person, die den Zugriff dazu bekommt, die Möglichkeit ein anderes Dokument in den
Ordner hochzuladen. Dadurch kann die Kooperation mit Partnern bestens erreicht werden.
Für ein Dokument, das in OneDrive hochgeladen wurde, gibt es die Gelegenheit dieses mit
der Berechtigung Lesezugriff ohne Authentifizierung“ und Lese- und Schreibzugriff“ zu
”
”
teilen. Wobei beim Lese- und Schreibzugriff“ ein Ordner erstellt wird, die Datei dorthin
”
verschoben und zum Abschluss wird der Nutzer auf den erstellten Ordner verlinkt, um
diesen im Webbrowser zu teilen. Diese Verlinkung wird gebraucht, da die Option Lese”
und Schreibzugriff“ von der OneDrive-API nicht unterstützt wird. Darüber hinaus ist die
Funktion Lesezugriff mit Authentifizierung“ auch nicht verfügbar.
”
In Dropbox hingegen kann einer Person ein lesender Zugriff und ein lesend und
schreibender Zugriff auf die Datei gewährt werden. Dafür wird der Sachbearbeiter nicht
zu einer Seite verlinkt oder Ähnlichem, sondern kann direkt über die Benutzeroberfläche
die Datei teilen. Das heißt, dass das Teilen für den Nutzer vorbereitet wird. Wobei für
Lese- und Schreibzugriff“ ein Empfänger vom Verwalter bestimmt sein muss und auch
”
wenn keine Infomail gesendet wird, wird von Dropbox eine automatische E-mail an den
Empfänger geschickt. Trotzdem kann zusätzlich eine personalisierte Nachricht an die
Person verfasst werden, sonst wird der Link dennoch zum Kopieren angezeigt.
Im Gegensatz zu OneDrive und Dropbox unterstützt GoogleDrive das Teilen mit
der Berechtigung Lesezugriff mit Authentifizierung“ . Die Option Lesezugriff ohne
”
”
Authentifizierung“, als auch Lese- und Schreibzugriff“, erfolgen genau gleich, wie bei
”
Dropbox. Also wird bei Lese- und Schreibzugriff“ ebenso eine automatisch generierte
”
E-mail von Google Drive an den Empfänger gesendet. Für Lesezugriff mit Authentifi”
zierung“ muss ein Empfänger angegeben sein, damit dieser sich für den Zugriff auf die
Datei authentifizieren kann. Bei dieser Funktion wird genauso an den Empfänger eine
automatische E-mail von Google Drive geschickt. Wie bei Lese- und Schreibzugriff“ kann
”
trotzdem eine eigene E-mail verfasst werden, sonst wird der Link zum Kopieren erscheinen.
Unter Eigenschaften im Kontextmenü einer Datei, die schon online ist, wird ein Fenster, wie in Abbildung 5.5, zum Vorschein kommen. Dort sind Informationen, wie folgt
aufgelistet, zu finden:
• Auf welchem Clouddienst sie zu finden ist.
• Unter welchem Account das Dokument hochgeladen wurde.
• Der privater Link mit der Verlinkung, um direkt im Webbrowser die Datei zu sehen.
39
5 Prototyp: Cloudverwaltung
Abbildung 5.5: Benutzeroberfläche für die Eigenschaften des Dokuments
• Falls vorhanden der öffentlicher Link, um diesen jederzeit wieder kopieren zu können.
Um eine Datei aus der Cloud wieder zu entfernen, wird das Kontextmenü Aus Cloud
”
löschen“ verwendet. Zur Sicherheit erfolgt eine Abfrage, ob es wirklich erwünscht ist, die
Datei aus dem Cloudspeicher zu löschen. Nach der Bestätigung wird überprüft, ob das
Dokument in einem Ordner sich befindet, wenn ja, dann werden alle Dateien in diesem
Ordner heruntergeladen und sonst wird nur das gewünschte Dokument gedownloaded.
5.1.1 Dokumentation
Der Prototyp besitzt die Anbindung der von uns erstellten Library und deckt alle
funktionalen Anforderungen von Advokat (siehe Anhang A.2.3) ab, deshalb ist dieser der
Kern dieses Projekts. Der Prototyp beinhaltet zugleich die Datenbankanbindung. Die
Datenbank wird in Abschnitt 5.4 eingeführt.
Für die Verwendung der Library muss zuerst die Library-Datei (.dll) zum Projektverweis
hinzugefügt werden. Danach können alle Komponenten der Library durch Importieren
dieser verwendet werden. Die Details über die Komponenten der Library sind in Abschnitt
5.2 zu finden.
Die Klassennamen im Prototyp fangen mit einem C an, um die Implementierung
dem Advokat Programmierstil anzupassen. Die Benutzeroberfläche besteht aus sechs
Hauptkomponenten. Diese sind:
• CCloudverwaltung
• CUpload
• CShare
• CProperties
• CSendMail
• CDatabaseConnection
Daneben gibt es auch andere Komponente des Prototyps, die in den kommenden Unterpunkten erwähnt werden.
40
5.1 Benutzeroberfläche
CCloudverwaltung
Die Klasse CCloudverwaltung imitiert das Aktenverzeichnis von Advokat und ist auch
der Kern des Prototyps. Diese Klasse besitzt also zugleich ein Fenster, das mit XAML
entwickelt wurde, und einen im Hintergrund laufenden Code, der mit VB.NET geschrieben
wurde. Der Komponente CCloudverwaltung hat drei Beobachter, diese werden beim
Fensterladen, Fensterschließen und bei der Auswahl einer Datei im Fenster aktiviert.
Beim Auswählen einer Datei wird aus der Datenbank überprüft, ob diese Datei schon
hochgeladen wurde. Falls ja, dann werden im Kontextmenü die Optionen Teilen“,
”
Aus Cloud löschen“ und Eigenschaften“ angezeigt. Sonst steht nur das Hochladen“
”
”
”
zur Verfügung. Die hochgeladenen Dokumente werden durch die Überprüfung aus der
Datenbank mit jeweilige Cloud-Logos versehen.
CUpload
Diese Klasse besteht genauso aus einem Fenster und wird nach dem Betätigen des
Kontextmenüs Hochladen“ in CCloudverwaltung aufgerufen. Hier wird die Auswahl
”
der Clouddienste angeboten für das Hochladen und je nach ausgewähltem Clouddienst
werden die Verwalter angezeigt, die in der entsprechenden Cloud-Tabelle in der Datenbank
gespeichert wurden. Dabei wird das Hinzufügen neuer Verwalter angeboten und ein
Infomail kann an den ausgewählten Account verfasst werden. Vor dem Hochladen wird
überprüft, ob ein Clouddienst und danach ein Verwalter ausgewählt wurde. Sonst wird
aufgefordert, diese auszusuchen.
CAuthentificationBrowser
wird verwendet, um einen neuen Verwalter zu erstellen, der dann in die Datenbank
eingetragen wird. Diese Klasse besitzt auch ein Fenster, dieses dann der Library mit
übergeben wird.
CShare
Dieser Hauptkomponente ist für das Teilen zuständig und besitzt auch ein Fenster.
Der Aufruf dieser Klasse entsteht nach dem Klicken auf das Kontextmenü Teilen“ in
”
CCloudverwaltung. In dieser Klasse werden die verschiedenen Optionen für das Teilen
angezeigt, dafür wird nach Clouddienst überprüft und je nachdem die Optionen angepasst.
Je nach Auswahl einer Option wird aufgefordert, eine E-Mail-Adresse anzugeben und
kann zugleich eine Infomail verfasst werden. Hier wird vor dem Teilen überprüft, ob eine
Option ausgewählt wurde. Die angegebene E-Mail-Adresse wird genauso nach Syntax
verifiziert. Bei nicht Einhaltung der Syntax erscheint eine Fehlermeldung, dass die Adresse
nicht korrekt ist.
41
5 Prototyp: Cloudverwaltung
CProperties
Dieses Eigenschaften-Fenster erscheint beim Betätigen des Kontextmenüs Eigenschaften“
”
in CCloudverwaltung. Hier werden alle Eigenschaften über das hochgeladene Dokument
auf der Cloud angezeigt.
CSendMail
ist zuständig für das Senden von Infomails an Verwalter beim Hochladen einer Datei in
CUpload bzw. Empfänger beim Teilen einer Datei in CShare.
CDatabaseConnection
baut die Verbindung zur Datenbank mit dem Singleton Erzeugungsmuster[14, Seite 262271] auf.
CDatabase
Diese Schnittstelle enthält die Verbindung zur Datenbank aus der Klasse CDatabaseConnection und definiert die Funktionen, die für die verschiedenen Datenbankabfragen
nötig sind.
CDropboxDatabase
implementiert die Schnittstelle CDatabase und fragt die Daten aus der Tabelle Dropbox“
”
ab.
CGoogleDriveDatabase
implementiert die Schnittstelle CDatabase und fragt die Daten aus der Tabelle Google”
Drive“ ab.
COneDriveDatabae
implementiert die Schnittstelle CDatabase und fragt die Daten aus der Tabelle OneDrive“
”
ab.
CUploadedDocuments
Diese Klasse beinhaltet die Verbindung zur Datenbank aus der Klasse CDatabaseConnection und ist für die Abfragen aus der Tabelle UploadedDocuments“ zuständig. Dabei
”
werden Daten aus dieser Tabelle gelesen, die Daten in dieser Tabelle gelöscht und aktualisiert.
42
5.2 Library
5.1.2 Evaluierung
Die Evaluation des Programms erfolgte durch Funktionstests. Der funktionale Test überprüft die Funktionseinheiten, ob diese den Spezifikationen von Advokat (in Anhang A)
entsprechen. Funktionstests treten als Endprüfung nach der Fertigung der Funktionseinheit ein. Dabei wird ausgetestet, ob unerwünschte Reaktionen vom Programm durch
Aufrufen der Funktionen auftritt. Die Ereignisse, die nicht entstehen dürfen, sind genauso
Teile der funktionalen Anforderung.
Neben dem Funktionstest wurde auch nach Beendigung des Programms eine Softwareüberprüfung durchgeführt, der durch Tests von der Advokat Produkt-Managerin erfolgte.
Dabei überprüfte sie die Anforderungen und misste die Qualität des Programms ab. Nach
den Testergebnissen wurden die Fehler behoben. Somit konnte der Prototyp intern in
Advokat präsentiert werden und war für die Übernahme bereit.
5.2 Library
Die Library ist einer der Hauptteile unserer Arbeit und ist die Komponente, die ohne
Veränderungen in das Advokat-Programm integriert wird. Daher wird von ihr eine genaue
Dokumentation und ein hohes Maß an Software-Qualität gefordert. Software-Qualität
wird unter anderem wie folgt definiert:
Software-Qualität ist die Gesamtheit der Merkmale und Merkmalswerte
”
eines Software-Produkts, die sich auf dessen Eignung beziehen, festgelegte
Erfordernisse zu erfüllen.“[12, Seite 6]
5.2.1 Anforderungen an die Software
Die Anforderungen an die Library orientieren sich in diesem Unterpunkt an der internationalen Norm ISO/IEC 25000 Systems and software engineering“ und deren Vorgänger
”
ISO 9126“.1 Im Speziellen werden die internen und externen Qualitäten hervorgehoben
”
[12, Seite 6-12].
Funktionalität
Es gibt lediglich eine Klasse (CloudFactory) und ein Interface (CloudInteface), die die
Advokat-Entwickler kennen müssen, um die Library verwenden zu können. Andere Klassen,
wie z. B. DocumentInfo, TokenInfo oder LoginDelegate haben entweder die Aufgabe Daten
zusammenzufassen (zu kapseln), um sie leichter an anderen Methoden übergeben zu
können oder sind Delegate-Interfaces, die vom Entwickler implementiert werden müssen,
damit er über zeitlich unabhängige Ereignisse informiert wird. Zum Beispiel besitzt das
Interface LoginDelegate die Methode LoginInformationGotUpdated , die aufgerufen wird,
sobald das AccessToken (siehe Kapitel 4.6) abläuft.
1
ISO/IEC 25000, http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?
csnumber=64764, 19. März 2016
43
5 Prototyp: Cloudverwaltung
Zuverlässigkeit
Wie in Abbildung 5.6 ersichtlich, besitzt die Klasse CloudService zu jeder vom Interface
geforderten Methode, eine Funktion, die alle Übergabe-Parameter überprüft. Diese
Funktionen sind mit dem Präfix Check[TheOriginallyCalledFunktion] zu erkennen. Andere
Methoden, wie z. B. CheckToken , werden wiederum von den anderen Check-Methoden
aufgerufen und müssen von den abgeleiteten Klassen erst implementiert werden.
Um das so genannte Exception-Handling 2 zu verbessern, werden Ausnahmen an verschiedenen Programmstellen abgefangen, in der Klasse CloudException gebündelt und
darauf weiter verarbeitet. Zusätzlich besitzt jede zurückgegebene Fehlermeldung eine
speziell für die Funktion definierte Nachricht, die dem Anwalt in einem Fehlerfenster
angezeigt werden kann.
Verwendbarkeit
Um die Library möglichst einfach in Advokat integrieren zu können, darf die Library
an sich keine Datenbankanbindung besitzen. Alle Parameter, die gespeichert werden
müssen, werden daher entweder von den aufgerufenen Funktionen zurückgegeben oder
es werden die an die Funktion übergebenen Parameter, welche als Referenz übergeben
werden, entsprechend mit neuen Werten versehen.
Diese Tatsache wird von der Testanwendung, die von der Library zurückbekommene
Object-Instanzen in die Datenbank speichert, veranschaulicht. Der Leser beachte also,
dass die Testanwendung sehr wohl ein klassisches Dreischichten Model (siehe [14, Seite
300]) darstellt, jedoch delegiert die Anwendungsschicht viele Operationen an die Library
weiter. Die Library implementiert somit nur Funktionen, und besitzt keine graphischen
oder persistenten Komponenten.
Effizienz
Da sämtliche API-Aufrufe im Hintergrund aus HTTP-An und Abfragen bestehen, ist es
wichtig stets neue Threads zu erstellen, um den Entwicklern von Advokat die Möglichkeit
zu geben, die Wartezeiten mit sinnvollen Operationen zu überbrücken. Threads sind
Programmteile, die gleichzeitig mit anderen Teilen des Programms ausgeführt werden
können. Das verhindert, dass beim Warten auf eine HTTP-Antwort des Servers, die
graphische Oberfläche der Testanwendung nicht mehr auf Benutzereingaben reagieren
kann.
Unser Programm gibt daher, nachdem mögliche fehlerhafte Parameterübergaben überprüft wurden, einen bereits gestarteten Thread zurück, auf den mittels des Await-Operator
gewartet werden kann. Jede Methode, die den Await-Operator verwendet, muss mit dem
Modifizierer Async gekennzeichnet werden. Sie gibt dem Kompilier die Möglichkeiten
anderen Code nebenher auszuführen und später zu der Zeile mit dem Await-Aufruf
zurückzukehren.3
2
3
Exception handling: https://en.wikipedia.org/wiki/Exception_handling, 19. März 2016
Asynchrone Programmierung mit VB.NET, https://msdn.microsoft.com/de-de/library/hh191564.
44
5.2 Library
5.2.2 Dokumentation
In diesem Unterpunkt werden die verschiedenen Klassen und Interfaces dokumentiert
und deren Zusammenhänge werden in Abbildung 5.6 dargestellt. Ein brauner Pfeil von
Klasse A zu Klasse B, der auch noch ein Schraubenschlüssel-Symbol besitzt, bezeichnet
ein Attribut in Klasse B vom Klassentyp A. Die Benennung der Variable erfährt der
Leser durch den Text neben dem Schraubenschlüssel-Symbol.
Ein brauner Pfeil ohne Schraubenschlüssel-Symbol, deutet auf eine Beziehung zwischen
zwei Klassen hin. Meistens spielen dabei die Übergabeparameter oder der zurückgegebene
Wert eine Rolle. Genaueres kann durch die Info-Boxen, durch die der Pfeil läuft, erfahren
werden.
Ein grauer Pfeil, dessen Spitze ein Dreieck formt, wird bei Vererbungen eingesetzt.
Dabei erbt die Klasse von dem der Pfeil ausgeht von der Klasse auf den der Pfeil zeigt.
Die Klassen besitzen ebenso verschiedene Farben und Kennzeichnungen. Eine orange
Modul-Klasse steht für eine Komponente, welche mehrere Klassen und Interfaces zusammenfasst und abstrahiert. Grüne Klassen bezeichnen Schnittstellen, die von allen Klassen
implementiert werden, die auf ihrer Oberseite einen Strich mit einem Kreis besitzen. Der
Name der grünen Klasse muss mit der Bezeichnung neben dem Kreis übereinstimmen.
Der Rest sind Enumerations (in Violett) und normale Klassen (in Blau), die Methoden
und Attribute besitzen.
CloudInterface
Diese Schnittstelle definiert alle Funktionen, die von der Benutzeroberfläche gebraucht
werden, um die geforderten Anwendungsfälle zu implementieren. Zusätzlich wird mit dem
Enumeration Policy der Zustand des Dokuments, in Bezug auf die Freigabe für andere
Nutzer bezeichnet.
CloudService
implementiert die Schnittstelle CloudInterface, wenn auch nur mit Methoden, in denen eine
NotImplemented-Ausnahme geworfen wird. Des Weiteren besitzt die Klasse Methoden, mit
denen die Übergabeparameter überprüft werden können. Die Klassen GoogleDriveService,
DropboxService und OneDriveService erben von dieser Klasse.
CloudFactory
Diese Klasse wird von der Benutzeroberfläche verwendet, um eine CloudInterface Instanz zu erhalten. Welcher Cloud-Dienst dabei verwendet werden soll, wird mit einem
Übergabeparameter von Typ CloudService festgelegt. Das Enum für diesen Parameter
befindet sich ebenso in dieser Klasse. Der Leser beachte, dass die Klasse CloudFactory
dem Entwurfsmuster der Fabrikmethode ähnelt [14, Seite 243-250].
aspx, 25. März 2016
45
5 Prototyp: Cloudverwaltung
46
Abbildung 5.6: Übersicht über die Library als Klassen-Diagramm
5.2 Library
TokenInfo
wird verwendet, um die verschiedenen Anmelde-Zeichenfolgen zusammenzufassen. Dazu
zählen das Access Token, Refresh Token und andere Werte die in 4.6 erklärt wurden.
DocumentInfo
besitzt Werte, um die hochgeladen Dokumente zu identifizieren. Dabei müssen nicht alle
Werte gesetzt werden, da andere Clouddienste wie z. B GoogleDrive nur mit den Id’s
arbeiten. Die Variable Parent vom Typ DocumentInfo bezeichnet den Ordner, in dem
das Dokument sich momentan online.
SharedInfo
fasst die nötigen Attribute zusammen, die benötigt werden, um ein Dokument zu teilen.
ProfilInfo
beinhaltet die wichtigsten Informationen des angemeldeten Benutzers und kann mit der
Methode getProfilInfo() abgefragt werden.
CloudException
übernimmt die Eigenschaften der Basisklasse Exception. Alle Ausnahmen, die von den
unterschiedlichen Klassen geworfen werden, sind vom Typ CloudException. Meistens wird
darin sowohl eine Nachricht als auch eine zusätzliche Ausnahme gespeichert. Z. B. werden
abgefangene Ausnahmen in diese Klasse hinein gespeichert.
LoginDelegate
ist eine Schnittstelle, die in der Benutzeroberfläche eingefügt werden muss. Sie wird an
die Methode createCloudService in CloudFactory mit übergeben und in der erstellten
CloudService-Instanz gespeichert. Um diese Klasse zu erstellen, muss momentan lediglich
die Methode LoginInformationGotUpdated(TokenInfo As TokenInfo) implementiert werden. Diese Funktion wird immer dann aufgerufen, sobald sich das Access Token in der
CloudServiceAPI ändert.
WindowDelegate
ist ein Interface mit zwei Methoden Show() und Close() und wird in der AnmeldeMethode (AuthentificationAsync) gebraucht, falls noch kein Access Token in Form der
Klasse TokenInfo vorliegt. Diese Methoden sagen der Benutzeroberfläche, ab wann sie
das Browserfenster anzeigen oder schließen soll.
47
5 Prototyp: Cloudverwaltung
MyDataStore
ist eine Klasse, die das von Google geforderte Interface IDataStore implementiert. Die
Methoden in der Schnittstelle werden von der Google Drive API aufgerufen, sobald
sich das AccessToken ändert. Darum steht diese Klasse in Zusammenhang mit dem
LoginDelegate der CloudService-Klasse.
GoogleDriveService, DropboxService und OneDriveService
implementieren die vorgegeben Stub-Methoden4 der Basisklasse CloudService.
5.3 Dynamic Link Library
DLL steht für Dynamic-Link Libraries und sind Dateien die unter Windows höchstens
einmal in den Arbeitsspeicher geladen werden. Die in den geladenen Dateien integrierten
Funktionen können dabei von den anderen Programmen verwendet werden. In unserem
Fall benützt die Testanwendung nur die DLL’s, die beim Kompilieren der Library
entstehen.5
Der Vorteil für externe Entwickler ist, dass Funktionen, die nur intern in den DLL
verwendet werden, verschleiert werden können. Dadurch sieht er nur die Funktionen, die
für ihn wichtig sind. Es ist jedoch zu beachten, dass DLL’s, die nicht obfuscated6 wurden,
mit Programmen wie dotPeek 7 von jetbrains in ihren Quell-Code zurück verwandelt
werden können.
5.4 Datenbank
Die Datenbank ist für das Programm Cloudverwaltung“ ein wichtiges Bestandteil.
”
Um wichtige Daten zu speichern wurde Access verwendet. Access 8 ist eine DatenbankAnwendung und gehört zur Microsoft Office Familie. Diese Anwendung unterstützt die
Datenbank-Programmiersprache SQL. Für das Verwenden und Verstehen von AccessDatenbanken ist es nicht nötig ein Progammierer zu sein. Die Oberfläche ist sehr benutzerfreundlich und selbsterklärend, sodass es für Tester einfach ist, die Datenbank zu
kontrollieren oder Daten dort zu verwalten.
Die Access-Datenbank enthält vier Tabellen, nämlich die Tabellen für die einzeilnen
Cloud-Dienste und für hochgeladene Dokumente.
4
Eine Stub-Methode ist eine Funktion, die noch nicht wirklich entwickelt wurde. Siehe dazu https:
//de.wikipedia.org/wiki/Stub_%28Programmierung%29
5
Dynamic-Link
Libraries:
https://msdn.microsoft.com/en-us/library/windows/desktop/
ms682589%28v=vs.85%29.aspx, 20. März 2016
6
Obfuskation (engl. für verwirren) bezeichnet einen nachträglichen Schritt, der DLL’s soweit verändert,
dass beim Dekompilieren der DLL-Datei kaum Rückschlüsse auf den Original-Code geschlossen werden
können. Siehe auch https://de.wikipedia.org/wiki/Obfuskation
7
dotPeek: https://www.jetbrains.com/decompiler/, 20. März 2016
8
Access: https://products.office.com/en-us/access, 21. März 2016
48
5.4 Datenbank
Die Cloud-Tabellen besitzen verschiedene Felder, da jeder der Cloud-Dienste unterschiedliche Anmeldedaten, wie Access-Token, Secret, etc., für die Authentifizieren
erfordern. In Abbildung 5.7 sind die Tabellen mit den dazugehörigen Feldern zu sehen.
Wie abgebildet, benötigt Google Drive mehr Daten für die Authentifizierung. Diese sind
das Accesstoken, Tokentype, Expires in, Refreshtoken und Issued. Dropbox hingegen
braucht nur das Accesstoken und das Secret. OneDrive erfordert nur das Accesstoken und
das Refreshtoken. In der Tabelle UploadedDocuments“ sind die Dokumente gespeichert,
”
Abbildung 5.7: Die Cloud-Dienst Tabellen mit den Feldern
die vom Programm auf die Cloud hochgeladen wurden. Die Abbildung 5.8 zeigt die
Felder dieser Tabelle an. Für die WPF-Anwendung ist es nötig zu wissen, welche Daten
hochgeladen wurden, um diese dann mit dem dazugehörigen Cloud-Logo zu versehen.
Deshalb wird der Dokumentname und das Clouddienst hinterlegt. Für das Verwalten von
den Funktionalitäten des Programms, wie das Herunterladen, Teilen und Löschen von
Dokumenten, sind die DokumentID, der Pfad der Datei auf der Cloud, der FolderID, die
Berechtigung und der Emfpänger wichtig. Diese Daten sind also erforderlich um mittels
der Library die Dokumente zu verwalten. Um die Eigenschaften einer hochgeladenen
Datei anzusehen, wie in Abschnitt 5.1 vorgestellt, ist es genauso nötig den privaten Link
der Datei und den geteilten Link in die Datenbank zu speichern. Um später den Account
des hochgeladenen Dokuments zu wissen, ist es genauso bedeutsam die E-mail-Adresse
in die Datenbank abzulegen.
Die Verbindung zur Datenbank erfolgt mit Hilfe von ADO.NET. Diese ermöglicht eine
einfache Verwaltung der Datenbank mittels Code zu erstellen. Für das einmalige Erstellen
einer Datenbank-Verbindung wurde ein Singleton Entwurfsmuster[14, Seite 262-271]
verwendet, um nicht bei jeder verschiedenen Tabelle eine andere Verbindung einzurichten.
Die Datenbank-Abfragen werden mit SQL erstellt und dem Datenadapter übergeben.
Der Adapter empfängt das Ergebnis der Abfrage und speichert es in die sogenannte
DataTable. Diese Tabelle ist jedoch nicht in einer Verbindung mit der Datenbank, sie
kann also als eine Cache-Tabelle angesehen werden. Aus dieser Tabelle werden dann die
nötigen Informationen für das Programm entnommen.
49
5 Prototyp: Cloudverwaltung
Abbildung 5.8: Die Tabelle UploadedDocuments“ mit den Feldern
”
5.5 Zusammenfassung
Dieses Kapitel beschäftigt sich mit der WPF-Anwendung, die im Rahmen dieses Projekts
erstellt wurde. Dabei wird die Benutzeroberfläche in Detail beschrieben und die Verwendung dieser mit den zu beachtenden Punkten erklärt. Anschließend wird die Library
eingeführt und die Vorteile dieser in Unterpunkten wiedergegeben. Die erstellte Library
für die Funktionalität der Benutzeroberfläche wird kurz mit den Klassennamen zusammengefasst. Als nächstes wird die DLL mit dem Vorteil vorgestellt. Zum Schluss wird
über die verwendete Datenbank für das Speichern der nötigen Daten für die Anwendung
informiert.
50
6 Anwendungsfälle
In diesem Kapitel werden in Abschnitt 6.1 die Akteure beschrieben und in Abschnitt
6.2 bis 6.6 werden die einzelnen Anwendungsfälle, die von Advokat vorgegeben wurden,
wiedergegeben.
6.1 Akteure
Rechtsanwalt/in
Rechtsanwälte, wird mit RA abgekürzt, haben alle Rechte, wie Dateien auf die jeweilige
Cloud hochzuladen, zu teilen und sie wieder aus der Cloud zu löschen.
Sekretär/in
Wie Rechtsanwälte hat dieser Akteur auch die Rechte eine Datei hochzuladen, zu teilen
und sie aus der Cloud zu entfernen. Um der/die Sekretär/in diese Aktionen durchführen kann, müssen die Anmeldedaten vom/von der Rechtsanwalt/in in der Datenbank
hinterlegt sein. Diese Akteure werden auch Sachbearbeiter genannt und als SB gekürtzt.
6.2 Anwendungsfall 1: Außendienst, schreibender Zugriff
Der RA ruft in der Kanzlei an und verlangt ein bestimmtes Dokument, somit markiert
die Sekretärin (SB) das Dokument in Advokat für die externe Bearbeitung. Andernfalls
kann der RA selbst das Dokument für das bevorstehende Arbeiten in Advokat markieren.
Advokat macht das Dokument daraufhin in der Cloud verfügbar. Nach der Bearbeitung
wird die Markierung manuell in der Kanzlei wieder entfernt und das überarbeitete
Dokument wird wieder in den Advokat Datenbestand übernommen. Das Dokument wird
nur von diesem RA bearbeitet. Während es extern verfügbar gemacht ist, wird es daher
im Advokat Datenbestand für die Bearbeitung gesperrt.
Vorbedingungen
• Die Cloud-Login Informationen sind in den Stammdaten des RA hinterlegt.
• Syncfolder ist unter dem PC eingerichtet.
• Word ist auf dem PC installiert.
• Cloudapp auf dem mobilen Gerät eingerichtet.
51
6 Anwendungsfälle
• Unter Google Drive:
– Google Docs eingerichtet auf dem mobilen Gerät.
• Unter OneDrive und Dropbox:
– Word eingerichtet auf dem mobilen Gerät.
Schritte
• Rechtsklick auf das Dokument oder auf den Ordner → Hochladen
• Fenster Dokument Hochladen“
”
– Cloud-Dienst aussuchen.
– Account, unter dem das Dokument hochgeladen werden soll, auswählen.
– Gegebenenfalls Benachrichtigungstext angeben
– (Bestätigen)
• Das Dokument wird unter dem angegebenen Cloud-Konto hochgeladen.
• Bearbeiten des Dokuments (Beste Lösung)
– Unter Google Drive / Dropbox / OneDrive am Computer:
∗ Der RA öffnet den Syncfolder auf dem PC und navigiert in den Advokat
Ordner.
∗ Er wählt das Dokument aus → Rechte Maustaste → öffnen
∗ Der RA bearbeitet das Dokument und speichert es anschließend ab.
– Google Docs unter IOS / Android für Google Drive:
∗ Der RA öffnet die Docs App → OrdnerIcon (→ Android öffnen von Google
Drive)
∗ Er navigiert in den Advokat Ordner.
∗ Er wählt das Dokument aus und bearbeitet es.
∗ Nach dem Bearbeiten klickt er links oben auf das BestätigungsIcon.
– Word unter IOS / Android für OneDrive und Dropbox:
∗ Der RA öffnet die Word App
∗ Öffnen → OneDrive/Dropbox → Advokat Ordner
∗ Das Dokument wird geöffnet und kann nun bearbeitet werden.
∗ Nach dem Bearbeiten klickt er links oben auf das ZurückIcon (auf IOS)
oder klickt oben auf das SpeichernIcon (auf Android).
• Bearbeiten des Dokuments (Alternative Lösung)
– Google Drive App unter IOS:
52
6.3 Anwendungsfall 2: Außendienst, lesender Zugriff
∗ Der RA öffnet die App Drive und navigiert in den Advokat Ordner.
∗ MehrIcon (rechts vom Dokument) → Öffnen in → Öffnen in → In Docs
öffnen.
∗ Er kann das Dokument jetzt bearbeiten.
∗ Nach dem Bearbeiten klickt er links oben auf das BestätigungsIcon.
– OneDrive App unter IOS / Android:
∗ Der RA öffnet die OneDrive App und navigiert in den Advokat Ordner.
∗ Öffnen des Dokuments:
· Er wählt das Dokument aus und klickt auf das MehrIcon → Öffnen
in anderen Apps → In Word öffnen
· Er wählt das Dokument aus und es wird in der Word App geöffnet
( In Office Apps öffnen“ voreingestellt)
”
∗ Der RA bearbeitet das Dokument.
∗ Nach dem Bearbeiten klickt er links oben auf das ZurückIcon (auf IOS)
oder klickt oben auf das SpeichernIcon (auf Android).
– Dropbox App unter IOS / Android:
∗ Der RA öffnet die Dropbox App und navigiert in den Advokat Ordner.
∗ Dokument auswählen:
· IOS: Er wählt das Dokument aus → BearbeitenIcon (unten) → Microsoft Word
· Android: DropDownIcon → Öffnen mit → Word
∗ Das Dokument wird geöffnet und der RA bearbeitet es.
∗ Nach dem Bearbeiten klickt er links oben auf das ZurückIcon (auf IOS)
oder klickt oben auf das SpeichernIcon (auf Android).
• RA beendet Arbeit an Dokument.
• Das Dokument wird aus der Cloud entfernt
– Das Dokument wird heruntergeladen.
– Das Cloud-Logo wird entfernt.
– Das Dokument wird aus der Cloud gelöscht.
6.3 Anwendungsfall 2: Außendienst, lesender Zugriff
RA wird von einem Kunden kontaktiert und möchte in ein Dokument Einsicht nehmen.
Er markiert das gewünschte Dokument in Advokat und hat es in wenigen Minuten in
seinem Online Speicher zur Verfügung. Er liest es auf seinem Smartphone bzw. seinem
53
6 Anwendungsfälle
Tablet. Im Advokat Datenbestand wird vermerkt, dass das Dokument extern verfügbar
gemacht wurde. Nach der Einsichtnahme wird die Markierung manuell wieder entfernt,
wodurch das Dokument in der Cloud gelöscht wird.
Vorbedingungen
• Die Cloud-Login Informationen sind in den Stammdaten des RA hinterlegt.
• Syncfolder ist unter dem PC eingerichtet.
• Word ist auf dem PC installiert.
• Cloudapp auf dem mobilen Gerät eingerichtet.
Schritte
• Rechtsklick auf das Dokument oder auf den Ordner → Hochladen
• Fenster Dokument Hochladen“
”
– Cloud-Dienst aussuchen.
– Account, unter dem das Dokument hochgeladen werden soll, auswählen.
– Gegebenenfalls Benachrichtigungstext angeben
– (Bestätigen)
• Das Dokument wird unter dem angegebenen Cloud-Konto hochgeladen.
• Ansicht auf das Dokument
– Unter Google Drive / Dropbox / OneDrive am Computer:
∗ Der RA öffnet den Syncfolder auf dem PC und navigiert in den Advokat
Ordner.
∗ Er wählt das Dokument aus → Rechte Maustaste → öffnen
∗ Der RA kann nun das Dokument betrachten.
– Google Drive / Dropbox / OneDrive App unter IOS und Android:
∗ Der RA öffnet die App und navigiert in den Advokat Ordner.
∗ Er klickt auf das Dokument und hat eine Ansicht auf dessen Inhalt.
Hinweis: Unter Google Drive öffnet sich sonst die Vorschau in Google
Docs falls jenes installiert ist. Unter OneDrive öffnet sich die Vorschau in
Word falls jenes installiert und In Office Apps öffnen“ voreingestellt ist.
”
• RA beendet Ansicht auf das Dokument.
• Das Dokument wird aus der Cloud entfernt
– Das Dokument wird heruntergeladen.
54
6.4 Anwendungsfall 3: Außendienst, Bearbeitung offline
– Das Cloud-Logo wird entfernt.
– Das Dokument wird aus der Cloud gelöscht.
6.4 Anwendungsfall 3: Außendienst, Bearbeitung offline
Der RA möchte ein Dokument im Zug bearbeiten, die Internet-Verbindung ist sehr
instabil. Er lädt das Dokument daher auf sein Laptop und bearbeitet es offline. Erst
nach der Dienstreise synchronisiert er es wieder mit der Cloud. Um sicherzustellen, dass
während seiner Bearbeitung keine Änderungen durch andere SBs vorgenommen werden,
sperrt er das Dokument (in Advokat) für Bearbeitung.
Vorbedingungen
• Die Cloud-Login Informationen sind in den Stammdaten des RA hinterlegt.
• Syncfolder ist unter dem PC eingerichtet.
• Word ist auf dem PC installiert.
• Cloudapp auf dem mobilen Gerät eingerichtet.
• Unter Google Drive:
– Google Docs eingerichtet auf dem mobilen Gerät.
• Unter OneDrive und Dropbox:
– Word eingerichtet auf dem mobilen Gerät.
Schritte
• Rechtsklick auf das Dokument oder auf den Ordner → Hochladen
• Fenster Dokument Hochladen “
”
– Cloud-Dienst aussuchen.
– Account, unter dem das Dokument hochgeladen werden soll, auswählen.
– Gegebenenfalls Benachrichtigungstext angeben
– (Bestätigen)
• Das Dokument wird unter dem angegebenen Cloud-Konto hochgeladen.
• Offline Bearbeitung des Dokuments (Beste Lösung)
– Unter Google Drive / Dropbox / OneDrive am Computer:
∗ Der RA öffnet den Syncfolder auf dem PC und navigiert in den Advokat
Ordner.
55
6 Anwendungsfälle
∗ Der RA öffnet den Syncfolder auf dem PC und navigiert in den Advokat
Ordner.
∗ Er wählt das Dokument aus → Rechte Maustaste → Öffnen
∗ Er wählt das Dokument aus → Rechte Maustaste → Öffnen
∗ Der RA bearbeitet das Dokument und speichert es anschließend ab.
– Google Docs unter IOS / Android für Google Drive:
∗ Der RA öffnet die Docs App → OrdnerIcon (→ Android öffnen von Google
Drive)
∗ Er navigiert in den Advokat Ordner.
∗ Er wählt das Dokument aus → MehrIcon → Offline speichern
∗ Nun wird das Dokument bearbeitet.
∗ Nach dem Bearbeiten klickt er links oben auf das BestätigungsIcon.
– Word unter IOS / Android für OneDrive und Dropbox:
∗ Der RA öffnet die Word App
∗ Öffnen → OneDrive/Dropbox → Advokat Ordner
∗ Das Dokument wird geöffnet und gleichzeitig heruntergeladen.
Hinweis: Beim öffnen des Dokuments ohne Internetzugriff erscheint eine
Anmerkung, dass das Dokument momentan offline ist. Zum Bearbeiten
klickt der RA neben dieser Anmerkung auf Bearbeiten.
∗ Nun kann das Dokument auch ohne Internetzugriff bearbeitet werden.
∗ Nach dem Bearbeiten klickt er links oben auf das ZurückIcon (auf IOS)
oder klickt oben auf das SpeichernIcon (auf Android).
• Offline Bearbeitung des Dokuments (Alternative Lösung)
– Google Drive App unter IOS / Android
∗ Der RA öffnet die App und navigiert in den Advokat Ordner.
∗ MehrIcon (rechts vom Dokument) → Offline speichern
∗ MehrIcon (rechts vom Dokument) → Öffnen in → Öffnen in → In Docs
öffnen.
∗ Er kann das Dokument jetzt bearbeiten.
∗ Nach dem Bearbeiten klickt er links oben auf das BestätigungsIcon.
– OneDrive App unter IOS / Android:
∗ Der RA öffnet die OneDrive App und navigiert in den Advokat Ordner.
∗ Öffnen des Dokuments:
· Er wählt das Dokument aus und klickt auf das MehrIcon → Öffnen
in anderen Apps → In Word öffnen
56
6.5 Anwendungsfall 4: Teilen mit Partnern
· Er wählt das Dokument aus und es wird in der Word App geöffnet
( In Office Apps öffnen“ voreingestellt)
”
∗ Das Dokument wird geöffnet und gleichzeitig heruntergeladen.
Hinweis: Beim öffnen des Dokuments ohne Internetzugriff erscheint eine
Anmerkung, dass das Dokument momentan offline ist. Zum Bearbeiten
klickt der RA neben dieser Anmerkung auf Bearbeiten.
∗ Nun kann das Dokument auch ohne Internetzugriff bearbeitet werden.
∗ Nach dem Bearbeiten klickt er links oben auf das ZurückIcon (auf IOS)
oder klickt oben auf das SpeichernIcon (auf Android).
– Dropbox App unter IOS / Android:
∗ Der RA öffnet die Dropbox App und navigiert in den Advokat Ordner.
∗ Dokument auswählen → DropDownIcon → Offline verfügbar machen
∗ Dokument öffnen mit Word:
· IOS: Er wählt das Dokument aus → BearbeitenIcon (unten) → Microsoft Word
· Android: DropDownIcon → Öffnen mit → Word
∗ Das Dokument wird geöffnet und gleichzeitig heruntergeladen.
Hinweis: Beim öffnen des Dokuments ohne Internetzugriff erscheint eine
Anmerkung, dass das Dokument momentan offline ist. Zum Bearbeiten
klickt der RA neben dieser Anmerkung auf Bearbeiten.
∗ Nun kann das Dokument auch ohne Internetzugriff bearbeitet werden.
∗ Nach dem Bearbeiten klickt er links oben auf das ZurückIcon (auf IOS)
oder klickt oben auf das SpeichernIcon (auf Android).
• RA beendet Arbeit an Dokument und das Dokument wird in die Cloud synchronisiert, sobald er Internetzugriff hat.
• Das Dokument wird aus der Cloud entfernt
– Das Dokument wird heruntergeladen.
– Das Cloud-Logo wird entfernt.
– Das Dokument wird aus der Cloud gelöscht.
6.5 Anwendungsfall 4: Teilen mit Partnern
Der RA gibt ein Dokument für einen lesenden Zugriff frei. Es wird ein URL-Link erstellt
mit dem es dem externen Partner möglich ist das Dokument über die Cloud zu öffnen
und Einsicht zu nehmen. Sobald der Partner die Einsichtnahme abgeschlossen hat, ist
es über Advokat möglich den Link zu widerrufen und das Dokument aus der Cloud zu
löschen. Da keine Änderungen am Dokument vorgenommen wurden, muss nach dem
Löschen keine weiteren Schritte unternommen werden.
57
6 Anwendungsfälle
Vorbedingungen
• Die Cloud-Login Informationen sind in den Stammdaten des RA hinterlegt.
• Die E-Mail-Adresse des externen Partners ist bekannt.
Schritte
• Rechtsklick auf das Dokument oder auf den Ordner → Hochladen
• Fenster Dokument Hochladen“
”
– Cloud-Dienst aussuchen.
– Account, unter dem das Dokument hochgeladen werden soll, auswählen.
– Gegebenenfalls Benachrichtigungstext angeben
– (Bestätigen)
• Rechtsklick auf das Dokument oder auf den Ordner → Teilen
• Fenster Dokument Teilen“
”
– Berechtigungen einstellen: Lesezugriff ohne Authentifizierung oder mit Authentifizierung
– Für Lesezugriff mit Authentifizierung die E-Mail-Adresse des Partners wird
angegeben.
– (Optional) E-Mail senden auswählen.
– Gegebenenfalls Benachrichtigungstext der in der E-Mail erscheint angeben.
– (Bestätigen)
• Es wird eine E-Mail mit dem Link zu dem Dokument versendet falls ausgewählt
oder der RA übergibt dem Partner den Link mittels einer anderen Methode.
• Der Partner öffnet das Dokument mit dem PC / IOS / Android:
– Er bekommt die E-Mail und klickt auf den Link.
– Es öffnet sich im Standartbrowser eine Webseite mit dem Dokument als
Vorschau.
– Zum genaueren Betrachten kann das Dokument heruntergeladen werden.
• RA beendet Bereitstellung.
• Das Dokument wird aus der Cloud entfernt
– Das Dokument wird heruntergeladen.
– Das Cloud-Logo wird entfernt.
– Das Dokument wird aus der Cloud gelöscht.
58
6.6 Anwendungsfall 5: Kollaboration mit Partnern
6.6 Anwendungsfall 5: Kollaboration mit Partnern
Der RA markiert das Dokument für die externe Bearbeitung und vergibt entsprechende
Berechtigungen für den Partner. Advokat stellt das Dokument extern zur Verfügung und
generiert eine URL, über die das Dokument in der Cloud durch den Partner geöffnet
werden kann.
Vorbedingungen
• Die Cloud-Login Informationen sind in den Stammdaten des RA hinterlegt.
• Die E-Mail-Adresse des externen Partners ist bekannt.
• Cloudapp auf dem mobilen Gerät eingerichtet.
• Unter Google Drive:
– Google Docs eingerichtet auf dem mobilen Gerät.
• Unter OneDrive und Dropbox:
– Word eingerichtet auf dem mobilen Gerät.
Schritte
• Rechtsklick auf das Dokument oder auf den Ordner → Hochladen
• Fenster Dokument Hochladen“
”
– Cloud-Dienst aussuchen.
– Account, unter dem das Dokument hochgeladen werden soll, auswählen.
– Gegebenenfalls Benachrichtigungstext angeben
– (Bestätigen)
• Rechtsklick auf das Dokument oder auf den Ordner → Teilen
• Fenster Dokument Teilen“
”
– Berechtigung einstellen: Lese- und Schreibzugriff
– E-Mail Adresse des Partners wird angegeben.
– (Optional) E-Mail senden auswählen.
– Gegebenenfalls Benachrichtigungstext der in der E-Mail erscheint angeben.
– (Bestätigen)
• Ein neuer Ordner wird erstellt und mit dem angegebenen Cloud Account geteilt.
• Das Dokument wird in den neu erstellten Ordner hinzugefügt.
59
6 Anwendungsfälle
• Es wird eine automatisch generierte E-Mail mit dem Link zum Ordner oder zusätzlich eine E-Mail vom Programm versendet.
• Der Partner bearbeitet das Dokument online:
– Google Drive am PC:
∗ Der Partner wechselt auf die Drive Seite und muss sich gegebenenfalls
anmelden. (falls nicht schon angemeldet)
∗ Für mich Freigegeben → [Ordner Name] → Doppelklick auf das Dokument.
∗ Es wird auf öffnen geklickt und der Browser wechselt auf die Google Docs
Webseite.
∗ Der Partner kann das Dokument bearbeiten.
Hinweis: Sollte gleichzeitig auch der Anwalt das Dokument bearbeiten
wollen, empfiehlt es sich auch Google Docs zu verwenden, da dort es zu
keine Sync-Konflikte kommt.
– Google Drive am PC (mit zuerst herunterladen und dann hochladen):
∗ Der Partner wechselt auf die Drive Seite und muss sich gegebenenfalls
anmelden. (falls nicht schon angemeldet)
∗ Für mich Freigegeben → [Ordner Name] → Rechte Maustaste auf das
Dokument → Herunterladen
∗ Der Partner kann das Dokument mit einem beliebigen Programm bearbeiten.
∗ Nach der Bearbeitung wird das Dokument hochgeladen:
· Drive Seite → Für mich Freigegeben → [Ordner Name] → NEU →
Dateien hochladen → Datei vom PC auswählen → öffnen
· Das Dokument wird hochgeladen.
– Google Drive am PC (mit Syncfolder):
∗ Der Partner bekommt eine E-Mail mit Link auf den Ordner.
∗ Er klickt auf den Link und es öffnet sich ein neues Browser Fenster.
∗ Der Partner muss sich gegebenenfalls anmelden. (falls nicht schon angemeldet)
∗ Es wird der Inhalt des Ordners sichtbar.
∗ Um den Ordner zum Syncfolder hinzuzufügen:
· Oben auf Zu Google Drive hinzufügen“ klicken.
”
· Der Ordner ist nun im Syncfolder des PC
∗ Der Partner öffnet den Syncfolder → öffnet den neu synchronisierten
Ordner → öffnet das Dokument mit einem beliebigen Programm.
– OneDrive am PC:
60
6.6 Anwendungsfall 5: Kollaboration mit Partnern
∗ In der erhaltenen Email wird auf den Link geklickt.
∗ Der Partner muss sich gegebenenfalls anmelden (falls nicht schon angemeldet).
∗ Der Partner klickt oben auf In OneDrive hinzufügen“.
”
∗ Nun ist der freigegebener Ordner in seinem OneDrive Ordner zu sehen
und er wählt das Dokument aus.
∗ Die Vorschau des Dokuments öffnet sich.
∗ Dokument Bearbeiten → In Word Online Bearbeiten
∗ Word Online wird geöffnet und der Partner kann das Dokument bearbeiten.
– Dropbox am PC:
∗ In der erhaltenen Email wird auf den Link geklickt.
∗ Der Partner muss sich gegebenenfalls anmelden. (falls nicht schon angemeldet)
∗ Er klickt auf Annehmen.
∗ Der Ordner ist nun in seinem Dropbox gespeichert.
∗ Er wählt das Dokument aus und die Vorschau öffnet sich.
∗ Es wird auf öffnen geklickt und Word Online wird geöffnet.
∗ Der Partner kann das Dokument bearbeiten.
Hinweis: Falls das Dokument gleichzeitig bearbeitet wird, wird ein neues
Dokument mit dem gleichen Namen + Conflicted by [Name] bei Konflikten
erstellt.
– Google Drive am IOS und Android:
∗ Der Partner wechselt auf die Drive App
∗ MenüIcon → Für mich Freigegeben → [Ordner Name] → Klick auf das
Dokument
∗ Das Dokument kann nun mobil bearbeitet werden.
– OneDrive am IOS und Android (mit E-Mail öffnen):
∗ In der erhaltenen E-Mail wird auf den Link geklickt und die Einladung
wird im Webbrowser angezeigt.
∗ Der Partner muss sich gegebenenfalls anmelden.
∗ Der Partner klickt oben auf In OneDrive hinzufügen“. (falls gewünscht
”
kann er ab diesen Schritt mit der OneDrive-App arbeiten → siehe für die
Bearbeitung mit der App den Anwendungsfall 1 6.2)
∗ Nun ist der freigegebener Ordner in seinem OneDrive Ordner zu sehen
und er wählt das Dokument aus.
61
6 Anwendungsfälle
∗ Die Vorschau des Dokuments öffnet sich.
∗ Dokument bearbeiten → In Word bearbeiten oder In Word Online bearbeiten
Hinweis: In Word muss sich der Partner gegebenenfalls anmelden
∗ Der Partner kann das Dokument bearbeiten.
∗ In Word: Nach dem Bearbeiten klickt er links oben auf das ZurückIcon
(auf IOS) oder klickt oben auf das SpeichernIcon (auf Android).
– Dropbox am IOS und Android (über Dropbox App öffnen):
∗ Der Partner öffnet die Dropbox App und eine Meldung über die Einladung
erscheint.
∗ Er drückt auf Ansicht → Annehmen
∗ Der Ordner ist nun in seinem Dropbox gespeichert.
∗ Dokument auswählen:
· IOS: Er wählt das Dokument aus → BearbeitenIcon (unten) → Microsoft Word
· Android: DropDownIcon → Öffnen mit → Word
∗ Das Dokument wird geöffnet und der RA bearbeitet es.
∗ Nach dem Bearbeiten klickt er links oben auf das ZurückIcon (auf IOS)
oder klickt oben auf das SpeichernIcon (auf Android).
– Dropbox am IOS und Android (mit E-Mail öffnen):
∗ In der erhaltenen E-Mail wird auf den Link geklickt und die Einladung
wird im Webbrowser angezeigt.
∗ Der Partner muss sich gegebenenfalls anmelden.
∗ Er klickt auf Annehmen.
∗ Der Ordner ist nun in seinem Dropbox gespeichert.
∗ Der Partner wechselt in die Dropbox App.
∗ Dokument auswählen:
· IOS: Er wählt das Dokument aus → BearbeitenIcon (unten) → Microsoft Word
· Android: DropDownIcon → Öffnen mit → Word
∗ Das Dokument wird geöffnet und der RA bearbeitet es.
∗ Nach dem Bearbeiten klickt er links oben auf das ZurückIcon (auf IOS)
oder klickt oben auf das SpeichernIcon (auf Android).
• Der Partner bearbeitet das Dokument offline:
– Google Drive am PC (Word):
62
6.6 Anwendungsfall 5: Kollaboration mit Partnern
∗ Der Partner öffnet Word.
∗ Datei → öffnen → Google Drvie → Aus Google Drive öffnen → Für mich
Freigegeben
∗ Es wird der Order und dann das Dokument ausgewählt und geöffnet.
∗ Der Partner kann das Dokument bearbeiten.
Hinweis: Falls eine andere Person gleichzeitig am Dokument arbeitet, kann
es zum Sync-Konflikt kommen und es werden 2 Varianten vom Dokument
erstellt.
– OneDrive am PC (Sync-Folder):
∗ In der erhaltenen Email wird auf den Link geklickt.
∗ Der Partner muss sich gegebenenfalls anmelden. (falls nicht schon angemeldet)
∗ Der Partner klickt oben auf In OneDrive hinzufügen“.
”
∗ Nun ist der freigegebener Ordner in seinem OneDrive Ordner zu sehen.
∗ Der Partner öffnet den voreingestellten OneDrive-Syncfolder.
∗ Er wählt das Dokument aus in dem freigegebenen Ordner → rechte
Maustaste → Öffnen
∗ Das Dokument wird mit Word geöffnet.
∗ Der Partner kann das Dokument bearbeiten.
– OneDrive am PC (herunterladen & hochladen):
∗ In der erhaltenen Email wird auf den Link geklickt.
∗ Der Partner muss sich gegebenenfalls anmelden. (falls nicht schon angemeldet)
∗ Der Partner klickt oben auf In OneDrive hinzufügen“.
”
∗ Nun ist der freigegebener Ordner in seinem OneDrive Ordner zu sehen
und er wählt das Dokument aus.
∗ Die Vorschau des Dokuments öffnet sich.
∗ Der Partner klickt rechts oben auf das MehrIcon → Herunterladen
∗ Nach dem Bearbeiten öffnet er in der Cloudwebseite den freigegebenen
Ordner.
∗ Er klickt auf Hochladen, wählt das bearbeitete Dokument aus.
∗ Oben erscheint eine Meldung, dass eine Datei nicht hochgeladen wurde,
weil es eine Datei mit dem gleichen Namen schon existiert.
∗ Der Partner klickt auf diese Meldung und wählt Ersetzen aus.
Hinweis: Gleichzeitiges Bearbeiten nicht möglich.
∗ Nun ist die bearbeitete Version des Dokuments online.
63
6 Anwendungsfälle
– Dropbox am PC (Sync-Folder):
∗ In der erhaltenen Email wird auf den Link geklickt.
∗ Der Partner muss sich gegebenenfalls anmelden. (falls nicht schon angemeldet)
∗ Er klickt auf Annehmen.
∗ Der Ordner ist nun in Dropbox gespeichert.
∗ Er öffnet den Dropbox-Syncfolder am PC.
∗ Er wählt das Dokument aus in dem freigegebenen Ordner → rechte
Maustaste → Öffnen
∗ Das Dokument wird mit Word geöffnet.
∗ Der Partner kann das Dokument bearbeiten.
Hinweis: Falls das Dokument gleichzeitig bearbeitet wird, wird ein neues
Dokument mit dem gleichen Namen + Conflicted by [Name] bei Konflikten
erstellt.
– Dropbox am PC (herunterladen & hochladen):
∗ In der erhaltenen Email wird auf den Link geklickt.
∗ Der Partner muss sich gegebenenfalls anmelden. (falls nicht schon angemeldet)
∗ Er klickt auf Annehmen.
∗ Der Ordner ist nun in Dropbox gespeichert.
∗ Der Partner wählt das Dokument aus.
∗ Die Vorschau des Dokuments öffnet sich.
∗ Der Partner klickt rechts oben auf das MehrIcon → Herunterladen
∗ Nach dem Bearbeiten öffnet er in der Cloudwebseite den freigegebenen
Ordner.
∗ Er klickt auf Hochladen und wählt das bearbeitete Dokument aus.
∗ Das Dokument wird im Hintergrund mit der neuesten Änderung automatisch aktualisiert.
∗ Der Partner klickt auf Fertig.
• RA beendet Kollaboration.
• Das Dokument wird aus der Cloud entfernt
– Das Dokument wird heruntergeladen.
– Das Cloud-Logo wird entfernt.
– Das Dokument wird aus der Cloud gelöscht.
64
6.7 Zusammenfassung
6.7 Zusammenfassung
Dieses Kapitel beinhaltet die Anwendungsfälle, die in diesem Projekt bearbeitet wurden.
Zuerst werden die Akteure und deren Rechte für das Programm, das im Rahmen des
Projekts erstellt wurde, beschrieben. Danach werden die fünf Anwendungsfälle detailliert
mit dazugehörige Vorbedingungen und einzelnen Schritten vorgestellt. Die Schritte
umfassen auch die Vorgehensweisen für das Bearbeiten, Ansehen mit Hilfe der CloudAngebote beziehungsweise Sync-Folder. Die Anwendungsfälle sind wie folgt:
• Der Anwendungsfall 1 beinhaltet die Bereitstellung eines Dokuments für den/der
Rechtsanwalt/in, der das Dokument bearbeiten will. Wobei das Hoch- und Herunterladen des Dokuments in Advokat durch den/die Sekretär/in oder den/die
Rechtsanwalt/in erfolgt. Dies geschieht unter dem Account von dem/der RA, wozu
der/die Sekretär/in den Zugang besitzt.
• In Anwendungsfall 2 soll ein Dokument für den/der Rechtsanwalt/in, der die Datei
lesen will, bereitgestellt werden. Das Hoch- und Herunterladen des Dokuments in
Advokat kann wiederum durch den/die Sekretär/in oder den/die Rechtsanwalt/in
erfolgen. Da das Dokument in der Cloud unter dem Account des/der Rechtsanwalts/in hochgeladen wird, besitzt er/sie die Besitzerrechte und kann daher das
Dokument wiederum verändern. Daher kann in Advokat nach dem Entfernen der
Datei aus der Cloud nach Änderungen gesucht werden.
• Die Offline-Bearbeitung von Dokumenten ist der Anwendungsfall 3. Da der Schritt
für das Hoch- und Herunterladen des Dokuments genauso wie in Anwendungsfall
1 geschieht, kann dieses durch den/die Sekretär/in oder den/die Rechtsanwalt/in passieren. Die Datei wird unter dem Account von dem/der Rechtsanwalt/in
hochgeladen, wozu der/die Sekretär/in auch den Zugang dazu hat.
• Der Anwendungsfall 4 umfasst das Teilen eines Dokuments für einen lesenden
Zugriff. Das Dokument wird unter dem Cloud-Account des/der Rechtsanwalt/in
hochgeladen und von dort aus mit dem Partner geteilt. Es gibt zwei Moöglichkeiten
das Dokument dem Partner bereitzustellen, nämlich anonym oder mit Authentifizierung. Für die Variante mit der Authentifizierung muss der Cloud-Dienst von
dem/der Rechtsanwalt/in mit dem des Partners übereinstimmen, das heißt der
Partner braucht ein Cloud-Account unter der gespeicherten E-Mail-Adresse. Für
den anonymen Zugriff wird dies nicht angefordert. Jedoch muss beachtet werden,
dass jeder mit dem geteilten Link in das Dokument Einsicht nehmen kann.
• In Anwendungsfall 5 passiert das Teilen eines Dokuments für einen lesend und
schreibenden Zugriff. Das Dokument wird in einem Ordner unter dem Cloud-Account
des/der Rechtsanwalt/in hochgeladen und von dort aus mit dem Partner geteilt.
Daher besitzt der Partner nur eine Verknüpfung des Dokuments bzw. des Ordners
auf seinem Cloud-Account. Um die Integrität des Dokuments zu gewaährleisten,
muss der Partner sich authentifizieren. Dafür muss der Cloud-Dienst von dem/der
65
6 Anwendungsfälle
Rechtsanwalt/in mit dem des Partners übereinstimmen, das heißt der Partner
braucht ein Cloud-Account unter der gespeicherten E- Mail-Adresse. Der Ordner
wird benötigt, damit der Partner das Dokument auch offline (mit einem anderen
Textverarbeitungsprogramm anstatt von Word) bearbeiten kann. Das heißt, der
Partner kann das Dokument herunterladen, und die offline überarbeitete Version des
Dokuments wieder in den Cloud-Ordner hochladen. Dadurch wird das Dokument
automatisch mit der Cloud von dem/der Rechtsanwalt/int synchronisiert. Sollte
das Dokument oder dessen Ordner von dem/der Rechtsanwalt/in gelöscht werden,
so kann der Partner nicht mehr auf das Dokument zugreifen.
66
7 Zusammenfassung
Die Hauptaufgabe des Projekts war es, sich mit den Cloud-Diensten zu befassen, um die
beste Lösung für eine Cloudverwaltung zu finden. Die Idee Cloudverwaltung sollte das
Hoch- und Herunterladen als auch das Teilen und Löschen von Dokumenten erlauben.
Dabei war es wichtig, bei den Arbeitsschritten alles sehr simpel zu halten. Da Rechtsanwälte sich mit der Technologie nicht so gut auskennen, war es recht schwer, eine beste
und zugleich eine einfache Lösung zu finden. Währenddessen kam es aber auch immer
wieder zu neuen Überlegungen für das Teilen von Dokumenten. Dieser Schritt dauerte
daher auch am längsten im Laufe des Projektprozesses.
Nach dem Ausscheiden von iCloud, wegen der komplizierten Verwaltung mit WordDokumenten, wurde nach angebotenen APIs der anderen Cloud-Diensten für VB.NET
durchsucht. Danach wurde mittels dieser die erwünschten Funktionalitäten für das
Programm entwickelt. Dabei kam es zu Komplikationen, wie zum Beispiel, dass die
OneDrive und Dropbox API das Teilen für eine Lese- und Schreibzugriff Berechtigung
nicht unterstützten. Trotzdem wurde dieses Problem mit dem Verlinken zum Dokument
auf der Cloud, um es in der Weboberfläche zu teilen, gelöst. Als nächstes wurde von
Dropbox eine neue API veröffentlicht, die das Teilen mit Lese- und Schreibzugriff erlaubte.
Dann musste für diese Funktion die Implementierung von Dropbox neu konstruiert
werden, um die neue API anbinden zu können. Die Google Drive API verursachte genauso
Schwierigkeiten, sodass die Anmeldung mit einem separaten Code laufen musste.
All nach diesen Phasen konnte nun als Abschluss des Projekts die Library für Advokat
erstellt werden, damit sie die Funktionalitäten unseres Programms gekoppelt einbinden
können. Diese Library wurde genauso im Prototyp eingebunden, um ein Beispiel-Code
für die Verwendung der Bibliothek darzustellen. Somit kann Advokat bei der Einbindung
den Prototypen so umgestalten, dass Funktionen erweitert werden, wie zum Beispiel das
Teilen eines Dokuments für mehrere Personen.
67
Literaturverzeichnis
[1] Google: set to launch google spreadsheets. MarketWatch: Global Round-up,
5(7):186, 2006. http://search.ebscohost.com/login.aspx?direct=true&db=
buh&AN=21531783&site=ehost-live.
[2] Introducing windows live skydrive!, August 2007 (Zugriff: 13. März 2016).
http://web.archive.org/web/20091226034757/http://skydriveteam.spaces.
live.com/blog/cns!977F793E846B3C96!23405.entry.
[3] Mobileme 1.0. Macworld, 25(10):46, 2008. http://search.ebscohost.com/login.
aspx?direct=true&db=buh&AN=34455473&site=ehost-live.
[4] Hot new updates to skydrive!, Mai 2008 (Zugriff: 13. März 2016).
http://web.archive.org/web/20091226034757/http://skydriveteam.spaces.
live.com/blog/cns!977F793E846B3C96!23405.entry.
[5] Welcome to the bigger, better, faster skydrive!, Februar 2008 (Zugriff: 13. März
2016). http://web.archive.org/web/20091226035804/http://skydriveteam.
spaces.live.com/blog/cns!977F793E846B3C96!23403.entry.
[6] Collaboration multiple authors.
Macworld, 27(11):50, November 2010.
http://search.ebscohost.com/login.aspx?direct=true&db=buh&AN=
54610173&site=ehost-live.
[7] V. Barret. Dropbox me. Forbes, 188, November 2011. http://search.ebscohost.
com/login.aspx?direct=true&db=buh&AN=67246114&site=ehost-live.
[8] A. Beaulieu. Learning SQL. O’Reilly Media, 2009.
[9] E. Griffith.
Master google drive.
PC Magazine, pages 175 – 179,
2014.
http://search.ebscohost.com/login.aspx?direct=true&db=buh&AN=
96718410&site=ehost-live.
[10] P. Hernandez. Microsoft to rebrand skydrive after uk court ruling. eWeek, page 6, August 2013. http://search.ebscohost.com/login.aspx?direct=true&
db=buh&AN=89867530&site=ehost-live.
[11] P. Hernandez. Dropbox activates mobile office 365 integration. eWeek, page 1,
November 2014. http://search.ebscohost.com/login.aspx?direct=true&db=
buh&AN=99743088&site=ehost-live.
[12] D. W. Hoffmann. Software-Qualität. Springer Vieweg, 2. edition, 2013.
68
Literaturverzeichnis
[13] S. Holzner, R. Howell, and B. Howell. Ado.NET Programming in Visual Basic .NET.
Prentice Hall PTR, 2003.
[14] M. D. Joachim Goll. Architektur- und Entwurfsmuster der Softwaretechnik. Springer
Vieweg, 1. edition, 2013.
[15] J. Liberty. Learning Visual Basic .NET. O’Reilly Media, 2002.
[16] K. McElhearn. How to collaborate on documents using iwork and icloud.com.
Macworld - Digital Edition, 33(3):112 – 117, 2016. http://search.ebscohost.com/
login.aspx?direct=true&db=buh&AN=113127030&site=ehost-live.
[17] D. Moren. From itools to mobileme. Macworld, Juni 2008. http://www.macworld.
com/article/1133826/dotmachistory.html.
[18] J. Newman. Microsoft’s skydrive gets a new name, maybe some new features.
Time.com, page 1, Januar 2014. http://search.ebscohost.com/login.aspx?
direct=true&db=buh&AN=94141490&site=ehost-live.
[19] C. Null. Your data... anywhere and anytime. (cover story). PC World, 25(9):110
– 116, 2007. http://search.ebscohost.com/login.aspx?direct=true&db=buh&
AN=26016484&site=ehost-live.
Writely application’s time has come.
eWeek, 22(43):47,
[20] J. Rapoza.
2005.
http://search.ebscohost.com/login.aspx?direct=true&db=buh&AN=
18804575&site=ehost-live.
[21] J. Seff. Wwdc: Apple introduces icloud. Macworld, Juni 2011. http://www.macworld.
com/article/1160325/apple_introduces_icloud.html.
[22] P. Thurrot. Windows live 2007: A look at the next generation, Juni 2007
(Zugriff: 13. März 2016). http://web.archive.org/web/20070629190005/http:
//www.winsupersite.com/showcase/wl_2007_preview.asp.
69
A Mobiles Arbeiten mit Dokumenten
A.1 Allgemeines
Farbcodes
Gelb
Türkis
Grün / Rosa
Grau
Graue Farbe
Offene Frage durch Kunden (zusammen mit Advokat) zu beantworten
Offene Frage Advokat-intern zu klären
Änderungen zur publizierten Vorversion. Wird nach Bestätigung wieder weiß.
Sonstiges
Nicht verwirklichte Szenarien, Alternativen, etc.
A.1.1 Änderungsübersicht
Version
1.0
1.1
1.2
Datum
15.04.2015
27.04.2015
02.06.2015
Name
MBR
MBR
MBR
Beschreibung
Entwurf
Feedback Stakeholder eingearbeitet
Gespräche mit Sillaber, Sentürk, Schweiger
A.2 Aufgabenstellung
A.2.1 Projektziel
Es soll das Thema Mobiles Arbeiten mit Dokumenten“im Rahmen einer Diplomarbeit, gelöst
”
werden. Wir verstehen darunter einerseits das Arbeiten im Außendienst, d.h. ein Rechtsanwalt
(RA) verwendet ein Aktdokument (lesend oder schreibend) außerhalb der Kanzlei. Andererseits
verstehen wir darunter auch Kollaboration mit Dritten, kanzleifremden Personen. Der Unterschied
liegt vor allem in der Bearbeitung des Dokuments in der Cloud durch Textverarbeitungsprogramme,
nicht in den von ADVOKAT programmierten/unterstützten Arbeitsabläufen.
Dokumente sollen außerhalb der Advokat Umgebung zur Verfügung gestellt werden, am besten
über allgemein bekannte Online Speicher/Cloud Dienste wie z. B. OneDrive. Es sollten die
bekanntesten Dienste unterstützt werden, damit eventuell bereits bestehende Kenntniße und
Accounts des Kunden verwendet werden können.
Es gibt eine Vielzahl von alternativen technischen Lösungen, wie Mobilarbeiter Zugang zu
Firmendaten bekommen, wir zielen aber auf eine Lösung ab, die folgende Aspekte berücksichtigt:
• wenig bis gar keine Anforderungen an die Infrastruktur der Kanzlei
• wenig bis gar kein zusätzlicher Installationsaufwand
• wenig bis gar keine technische Wartung
• einfache, in ADVOKAT integrierte Bedienung
• möglichst geringe Lizenzkosten für Drittsoftware
70
A.2 Aufgabenstellung
Wir schließen daher eine Lösung aus, die einen VPN Zugang zur Kanzlei erfordert bzw. die die
Installation eines ausgewachsenen Webservers (IIS, Apache) benötigt.
Prinzipiell müssen natürlich alle Arten von Dokumenten unterstützt werden, die Advokat
verwalten kann. Für Arbeitsabläufe, bei denen Dokumente geändert werden, liegt unser Fokus
aber klarerweise auf Microsoft Word bzw. Office Dokumenten.
Die Bearbeitung der Dokumente in der Cloud wird nicht von ADVOKAT erledigt, sondern
durch die Verwendung von Drittsoftware. Wir setzen auf Funktionalität der Cloud Dienste und
Office Applikationen zur Bearbeitung. Obwohl dieser Bereich keine Entwicklungstätigkeit erfordert,
sollte ADVOKAT Empfehlungen zur Verwendung abgeben.
Die Bereitstellung von Dokumenten muss unabhängig von der Art der Speicherung in Advokat
funktionieren, also für
• Dateisystem
• Sharepoint
• sonstige DMS
Unterschiede kann es in der Synchronisierung veränderter Dokumente z.B. in Bezug auf die
Dokumentversionierung geben, der Ablauf sollte aber prinzipiell gleich sein.
A.2.2 Anwendungsfälle
A1: Außendienst, schreibender Zugriff, Bereitstellung in der Kanzlei
RA ruft in der Kanzlei an und fordert ein bestimmtes Dokument an. Sekretärin (SB) markiert das
Dokument in ADVOKAT für die externe Bearbeitung. ADVOKAT macht das Dokument daraufhin
automatisch in der Cloud verfügbar. Nach der Bearbeitung und zurück in der Kanzlei wird die
Markierung wieder entfernt und das überarbeitete Dokument wird wieder in den ADVOKAT
Datenbestand übernommen. Das Dokument wird nur von diesem RA bearbeitet. Während es
extern verfügbar gemacht ist, wird es daher im ADVOKAT Datenbestand für die Bearbeitung
gesperrt.
A2: Außendienst, lesender Zugriff, externe Bereitstellung
RA wird am Wochenende von einem Kunden kontaktiert und möchte in ein Dokument Einsicht
nehmen. Da niemand in der Kanzlei ist, startet er eine Mobil App auf seinem Handy und erhält
eine (nach Akt gefilterte) Dokumentenliste. Er markiert das gewünschte Dokument und hat es in
wenigen Minuten in seinem Online Speicher zur Verfügung. Er liest es auf seinem Smartphone
bzw. seinem Tablet. Im ADVOKAT Datenbestand wird vermerkt, dass das Dokument extern
verfügbar gemacht wurde. Nach der Einsichtnahme wird die Markierung wieder entfernt, wodurch
das Dokument in der Cloud gelöscht wird. Dies kann auch wieder über die Mobil App erledigt
werden.
A3: Außendienst, Bearbeitung offline
RA möchte ein Dokument im Zug bearbeiten, die Internet-Verbindung ist sehr instabil. Er lädt
das Dokument daher auf seinen Laptop und bearbeitet es offline. Erst nach der Dienstreise
synchronisiert er es wieder mit der Cloud. Um sicherzustellen, dass während seiner Bearbeitung
keine Änderungen durch andere SBs vorgenommen werden, sperrt er das Dokument (sowohl in
ADVOKAT als auch in der Cloud) für Bearbeitung. In diesem Fall ist die externe Bereitstellung
71
A Mobiles Arbeiten mit Dokumenten
über eine Mobil App etwas umständlich, daher wäre eine Anwendung am Laptop (Web App,
Windows 8 App, ...) besser. Wird wie hier skizziert der Cloud Dienst nur als Transportweg für
eine Bearbeitung am Laptop verwendet, könnte ein direkter Download auf das Zielgerät überlegt
werden.
A4: Kollaboration mit Partnern
RA markiert das Dokument für die externe Bearbeitung und vergibt entsprechende Berechtigungen
für den Partner. ADVOKAT stellt das Dokument extern zur Verfügung und generiert eine URL,
über die das Dokument in der Cloud geöffnet werden kann. Advokat bereitet ein Mail mit
diesem Link für den Partner vor. Mit Onedrive und Office365 ist eine gemeinsame Bearbeitung
möglich. Der Publisher kann das Dokument wieder zurücknehmen. Der Publisher kann eine
Überarbeiten-Funktion einschalten, die der Bearbeiter nicht entfernen kann. Jede Bearbeitung
wird markiert.
A.2.3 Aufgabe im Rahmen der Bachelorarbeit
Das Thema wird im Rahmen von 2 Bachelorarbeiten an der Universität Innsbruck, Institut für
Informatik beleuchtet. Die Arbeiten werden sich auf die Cloud Dienste, deren Anbindung und die
sich daraus ergebenden Arbeitsabläufe konzentrieren. Die Implementierung der Mobilen App und
die Integration in das Produkt ADVOKAT sind nicht Teil der Aufgabenstellung.
Evaluation der Cloud Dienste
Unterstützung Cloud Dienste
Microsoft OneDrive
DropBox
Google Drive
Apple iCloud
Owncloud (selbstverwaltet)
Andere
Aspecte:
Muss
Muss
Muss
Soll
Soll
Soll
• Verwendung APIs/SDKs
• Client Apps unter Windows (PC), iOs und Android
• Unterstützung für MS Office Dokumenttypen bzw. Programme (Word, Excel, etc)
• Authentifizierung und Security (verschlüsselter Transport/Speicherung)
• Handhabung verschlüsselter Dokumente
• Steuerung Zugriffsberechtigungen (z.B. Gast Zugang für Kollaboration)
Arbeitsabläufe für Anwendungsfälle
Anwendungsfälle
A1 (schreibender Zugriff)
A2 (lesender Zugriff)
A3 (offline Bearbeitung)
A4 (Kollaboration)
Aspecte:
72
Muss
Soll
Soll
Muss
A.2 Aufgabenstellung
• Abläufe definieren, durchspielen und dokumentieren für jeden untersuchten Cloud Dienst.
(leichte Bedienbarkeit, Performance, etc.)
• Vor- und Nachteile der untersuchten Cloud Dienste, Gemeinsamkeiten?
• Notwendige Drittsoftware für lesenden und schreibenden Zugriff; ergeben sich Vereinfachungen, wenn die Zugriffsart unterschieden wird?
• Lizenzkosten für Drittsoftware (z.B. Azure AD, OneDrive professional vs. private)
• Unterstützung bei der Rücksynchronisation von Dokumenten (Versionierung, Erkennung
Unterschiede)
Konzept und Implementierung
Unterstützung Cloud Dienste
Konzept Stammdatenverwaltung und Dokumentstatus
Synchronisierungsservice (AdvCloudSyncService)
Einheitliche Schnittstelle Cloud Dienste
Anbindung OneDrive
Anbindung DropBox
Anbindung GoogleDrive
Anbindung iCloud
Anbindung OwnCloud
Schnittstelle ADVOKAT Zugriff
Testapplikation
Unit Tests für alle Komponenten
Automatisierte Integrationstests
Aspecte:
Muss
Muss
Muss
Muss
Muss
Soll
Soll
Soll
Muss
Muss
Soll
Soll
• Die zu erstellenden Software Komponenten sind mit Visual Studio und VB.NET zu
implementieren.
• Konzept Stammdatenverwaltung und Dokumentstatus:
• Welche Daten fallen an?
• Welche Status müssen unterstützt werden? (z.B. Ist Unterscheidung lesend/schreibend
sinnvoll?)
• Cloud Dienst API vs. Client App: Vergleich der beiden Varianten in Bezug auf Bedienbarkeit
und Wartbarkeit.
Definition der Schnittstelle zu ADVOKAT mit Unterstützung des Entwicklungsteams.
A.2.4 Weiterführende Aufgaben
Mobil App Advokat Cloud Admin“
”
Notwendig
• Abfrage Dokumentliste
• Diverse Filter (Akt, SB, ...)
• Externe Bearbeitung aktivieren
73
A Mobiles Arbeiten mit Dokumenten
Optional
• Externe Bearbeitung deaktivieren
• Zugriffsrechte konfigurieren
A.3 Systemcontext
• AdvCloudSyncService: läuft einmalig in der Kanzlei, vorzugsweise auf einem Server. Prüft
Advokat DB auf Synchronisationsaufträge und schreibt das Ergebnis zurück. Aktualisiert
Dokumente, löscht Dokumente vom Cloud Dienst.
• AdvCloudAdminService: stellt eine REST-API zur Verfügung. Abfrage von Dokumentlisten,
Markieren von Dokumenten für externe Bearbeitung, etc.
• AdvPollService: Abfragen eventueller Aufträge auf dem Advokat Webserver und, wenn
vorhanden, weiterleiten an den lokal laufenden Service.
• AdvProxyService: Sammeln aufgelaufener Aufträge und Weitergabe, sobald sich das PollService meldet.
• AdvCloudAdmin: Mobile App zur Abfrage von Dokumentenlisten und markieren einzelner
Dokumente für externe Bearbeitung.
74