Sie sind auf Seite 1von 9

Expos fr die Masterarbeit

Entwicklung eines cloud-based Online-Editors

Beuth Hochschule Charles Bourasseau S7784470

Inhaltsverzeichnis
Einfhrung und Problemstellung ................................................................................................. 3 Bereits bestehende Problemlsungsanstze ............................................................................. 4 Eigener Vorschlag zur Problemlsung ....................................................................................... 5 Liste der geplanten Features ...................................................................................................... 7 Architektur ................................................................................................................................... 8 Arbeits- und Zeitplan ................................................................................................................... 9

Abbildungsverzeichnis
Abbildung 1 Problemlsung ............................................................................................................ 5 Abbildung 2 geplante Software-Architektur .................................................................................... 8 Abbildung 3 zeitlicher Masterarbeitsablauf .................................................................................... 9

nderungshistorie
Autor Charles Bourasseau Charles Bourasseau Charles Bourasseau Charles Bourasseau Datum Beschreibung 20/12/2011 Erste Entwurf

30/12/2011 Korrektur

31/12/2011 Aktualisierung der Kapitel: Arbeits- und Zeitplan und Architektur 03/01/2012 Layout

Charles Bourasseau - Masterarbeitsexpos

2/9

Einfhrung und Problemstellung


Heutzutage sind die Menschen stndig unterwegs. Insbesondere beruflich muss man zunehmend mobil und flexibel sein. Aus diesem Grund ist es wichtig, dass die eigenen digitalen Daten berall zur Verfgung stehen, um beispielsweise jederzeit arbeiten zu knnen. In den letzten Jahren entwickelten Firmen daher immer mehr cloud-based Produkte wie zum Beispiel Dropbox oder Google. Entwickler bzw. generell IT-Mitarbeiter sind regelmig beruflich unterwegs, sei es auf Konferenzen, Kunden-Meetings, Weiter- und Fortbildungen usw. Es ist fr sie umso wichtiger zeit- und ortsunabhngig arbeiten zu knnen. Ein web-basierter Editor bietet dazu die Mglichkeit, indem man mit jedem beliebigen Computer auf die eigenen Daten zugreifen kann. Deshalb wird sich in den nchsten Jahren der Online-Editor zu einem Tool entwickeln, das Programmierer zunehmend in Anspruch nehmen werden. In diesem Expos wird das Masterarbeitsthema, seine Problemstellung sowie eine mgliche Problemlsung vorgestellt. Der Titel dieser Arbeit lautet Entwicklung eines cloud-based OnlineEditors. Es geht folglich darum, einen Text-Editor zu kreieren, der im Browser auf der Grundlage einer Cloud-Technologie luft. Die Hauptfunktion des Editors soll darin bestehen, dass jeder Entwickler nicht nur seine eigenen Dateien bearbeiten, sondern auch die Entwicklungsserver steuern kann (zum Beispiel neue Software installieren, Services starten/ stoppen usw.).

Charles Bourasseau - Masterarbeitsexpos

3/9

Bereits bestehende Problemlsungsanstze


Es bestehen bereits unterschiedliche Entwicklungsumgebungen, die online funktionieren. Kodingen (https://kodingen.com) ist beispielsweise eine dieser. Dieses Tool wurde im Jahre 2008 entwickelt und als Beta-Version verffentlicht. Laut Angaben der Website bietet die Firma Kodingen ein Cloud Development Environment. Ihr Editor hat folgende Features (Die Features, die mit einem Stern (*) gekennzeichnet sind, sind nicht in der Beta-Version verfgbar): Mehrere Sprachen sind editierbar: php, perl, python, django*, ruby on rails* usw. Untersttzung von Versionsverwaltungen: Git*, SVN*, Mercurial* FTP-Verknpfung Untersttzung von Datenbanken: MySQL, PostgreSQL, SqLite Eigene Instanz (d. h. jeder Entwickler bekommt eine Instanz mit Webserver) On-Click Software Installation (z. B. PhpMyAdmin, Wordpress usw.)

Die Idee von Kodingen ist insofern interessant, da jeder Entwickler zu jeder Zeit auf jeden Computer ein Projekt entwickeln bzw. es fortsetzen kann. Man braucht sich lediglich einzuloggen und hat sogleich alle Tools zur Verfgung, die zur Entwicklung ntig sind. Kodingen hat aber auch mehrere Nachteile: Begrenzte Anzahl der verfgbarer Software Limitierte Anzahl von Sprachen Geringe Anzahl von verfgbaren Datenbanken Kein SSH-Zugang mglich

Wenn man sich bei Kodingen registriert, so bekommt man einen Speicherplatz sowie eine Subdomain auf den Servern von Kodingen. Es ist deswegen fr Kodingen zwingend, dass die Nutzer nicht ber alle Rechte der Server verfgen. Es ist fr Kodingen kompliziert, dem Nutzer zuknftig mehr Freiheit einzurumen.

Charles Bourasseau - Masterarbeitsexpos

4/9

Eigener Vorschlag zur Problemlsung


Um das eben beschriebene Problem zu beheben und dem Nutzer mehr Mglichkeiten zu gewhren, wird eine neue Vorgehensweise implementiert. Die Hauptidee ist, dass die Nutzer auf Ihren eigenen Servern entwickeln werden. Dem cloud-based Online-Editor soll es mglich sein, externe Server zu erreichen. Um die User-Experience zu verbessern, soll zudem die Initiierung und Konfiguration der Entwicklungsserver automatisch ablaufen. Zur Realisierung dieser Vorhaben wird das Projekt auf dem Web-Service Amazon EC2 aufgebaut. EC2-Instanzen werden fr die Entwicklung von Servern benutzt. Die Nutzer sollen ihren Amazon Web-Services-API-KEY1 an den cloud-based Online-Editor-Server2 schicken. Mit diesem API-KEY bekommt der CBOE-Server das Recht, die Entwicklungsinstanz zu steuern (Ermglichung des Erstellens, Startens, Lschens von Instanzen oder der SSH-SchlsselGenerierung usw.). Der SSH-Schlssel erlaubt dem CBOE-Server, Dateien zu editieren, Software zu installieren oder auch Entwicklungsserver zu konfigurieren (Nutzerkonten anlegen, Services starten usw.). Die folgende Abbildung zeigt, wie die Problemlsung funktioniert:

Abbildung 1 Problemlsung

1 2

AWS API KEY nachfolgend abgekrzt mit CBOE

Charles Bourasseau - Masterarbeitsexpos

5/9

1. Amazon-EC2-Client: Der CBOE-Server erhlt vom Nutzer ein AWS-API-KEY. Damit kann den CBEO-Server neue Instanzen kreieren, lschen, modifizieren usw. 2. Configuration-Management-Software: Dank einer Configuration-Management-Software kann man die zuvor neu kreierten EC2Instanzen konfigurieren. Der Nutzer kann nun verschiedene Software auswhlen und installieren. Die Liste der verfgbaren Software ist vom Configuration-Management abhngig, kann aber erweitert werden. 3. Editor: Mit Hilfe eines Transfert-File-Protocols (SCP, SFTP, NFS ...) kann der Editor den FileSystem-Baum kennen. Er bietet den Nutzer daher die Mglichkeit, Dateien zu erstellen, zu bearbeiten, zu lschen usw. 4. SSH-Client: Der CBOE-Server enthlt des Weiteren einen SSH-Client, damit der Nutzer Kommandozeilen an die EC2-Instanz schicken kann. Der SSH-Key wird dank des AWSEC2-API erstellt. 5. EC2-Instanz: Die Instanz liegt auerhalb des CBOE-Servers und gehrt ausschlielich dem Nutzer. Mit Hilfe des API-KEYs verfgt der CBOE-Server ber das Recht, diese Instanz zu steuern.

Charles Bourasseau - Masterarbeitsexpos

6/9

Liste der geplanten Features


Das Projekt soll folgende Funktionalitten erfllen: Der Editor sollte (bis auf den Browser) ohne weitere Software laufen. Die Software - insbesondere der Editor - sollte klar strukturiert und leicht zu bedienen sein. Sie sollte zudem viele Sprachen untersttzen. Die Nutzer sollen Skripte im EC2 ausfhren knnen. Eine Anbindung an die Versionsverwaltung Git und Mercurial sollte gegeben sein.

Das Projekt sollte folgende weiterfhrende Funktionalitten erfllen: Die Anbindung an Offline-Editor sollte gewhrleistet sein. Eine gemeinsame Kollaboration an einem Projekt sollte ermglicht werden. Die Wege, um das Projekt zu deployen, sollten mglichst einfach sein. Debugger Outline (Struktur einer Klasse) Shell-Console (SSH in Browser) Verschiedene Linux-Distributionen sollten bestehen.

Das Projekt wird die folgenden Funktionalitten nicht erfllen: GUI und Graphische Entwicklung Windows-Untersttzung

Charles Bourasseau - Masterarbeitsexpos

7/9

Architektur

Abbildung 2 geplante Software-Architektur

Der CBOE-Server wird auf einem http-Server basieren. Dieser wird die Abfrage der Nutzer zu folgenden Bestandteilen weiterleiten: SSH-Proxy Management-Configuration Editor Amazon EC2-API-Client

Die eben genannten vier Teile sind mit der EC2-Instanz verbunden und erledigen die Aufgaben, die im Kapitel Eigener Vorschlag zur Problemlsung aufgefhrt wurden. Clientseitig wird ein klassisches Model-View-Controller-Pattern implementiert, um den QuelleCode zu strukturieren. Local Storage wird verwendet, um Daten zu cachen.

Charles Bourasseau - Masterarbeitsexpos

8/9

Arbeits- und Zeitplan


Die Realisierung des Projekts erfolgt mittels der Agile Methode. Der Vorteil dieser Methode besteht u. a. darin, dass nderungen an dem Projekt jederzeit mglich sind. Die Iteration wird zwei Wochen dauern (also 10 Arbeitstage). Jede Iteration enthlt folgende Etappen: 1. 2. 3. 4. Planung (~ 1 Tag): Ziel definieren Unsetzung (~ 5 Tag): Programmieren, Recherchen Testen (~ 1Tag): Unit-Test, Anwendungstest Dokumentieren (~ 3 Tag): Dokumentation, Masterarbeit

Die Iterationen werden zu verschiedenen bergeordneten Gruppen zusammengefasst. Die Umsetzung der Gruppenziele wird wie folgt geplant: Existierende Projekte: Recherchen und Bewertung (2 Wochen) Erstellung eines Prototyps (2 Wochen) Logik und Gui-Programmation (4 Wochen) Fertigstellung der Dokumentation (4 Wochen) Korrektur und Layout (4 Wochen)

Zustzlich wird ein Puffer eingeplant. Dieser wird helfen, Krankheiten, Feiertage und Verzgerungen auszugleichen. Die folgende Abbildung zeigt den geplanten zeitlichen Ablauf der Masterarbeit.

Abbildung 3 zeitlicher Masterarbeitsablauf3

Pfeile stellen die Iterationen dar, Rechtecke die Gruppen.

Charles Bourasseau - Masterarbeitsexpos

9/9

Das könnte Ihnen auch gefallen