ELISMA

17 Jul

Hallo,

ich bin Rolf und werde in den nächsten Monaten hier schreiben, womit ich mich bei meiner Abschlussarbeit beschäftige. Meine Masterarbeit trägt den Titel Elastic Information Structuring for Multiple Applications – Design und Entwicklung einer skalierbaren Applikationsplattform durch Bereitstellung einer Datenzugriffsschicht. Das sieht dann folgendermaßen aus.

ELISMA-Architekturdiagramm

ELISMA-Architekturdiagramm

Da das Architekturdiagramm und der Titel die Arbeit schon recht gut beschreiben, möchte ich auf meine Motivation eingehen, eine derartige Applikationsplattform zu erstellen. Details zur Konzeption folgen in weiteren Beiträgen.

Zu Beginn der Suche nach einem Thema für meine Abschlussarbeit, war eine Andriod- oder Webapplikation mein Ziel. Schnell stellte sich für mich allerdings heraus, dass zur Persistierung von Daten im Netz beziehungsweise „der Cloud“ keine geeigneten Lösungen exisiteren, die meinen Anforderungen gerecht werden. Es gibt zwar Datenbanksysteme, wie CouchDB, die mit einer REST-Schnittstelle einfach zu handhaben sind, aber einen komplexen Aufbau einer Anwendung mit differenzierten Berechtigungsmechanismen genauso wenig erlaubt, wie andere Datenbanksysteme. Berechtigungsmechanismen werden in der Regel in der Applikationslogik oder einer Middleware behandelt. Das eigentliche Problem sehe ich darin, dass bei der Erstellung einer Applikation eine sichere Datenhaltung entworfen und implementiert werden muss und dadurch ein großer Teil der Zeit hierfür aufgewendet wird, anstatt für die Applikation an sich.

Der zweite Punkt ist, dass ein Datenmodell meist nur für eine Applikation erstellt wird. Dieses Vorgehen ist zwar effizient, um schnell ans Ziel zu gelangen, aber es ist auch kurzsichtig, wenn ein Datenmodell nur ein bestimmtes Szenario abdeckt und damit an Flexibilität verliert. Eine Erweiterung der Applikation oder die Integrierung in andere wird dadurch eher schwieriger. Die Folge sind viele verschiedene Applikationen, die unabhängig voneinander sind. Eine solche lose Kopplung von Applikationen ist ein Anlass gewesen, eine Applikationsplattform erstellen zu wollen, auf der verschiedene Applikationen auf demselben Datenmodell operieren können. Das ermöglicht die Verknüpfung der Daten untereinander und erfordert kein komplett seperates und unabhängiges Datenmodell für jede Applikation.

Den dritten Punkt nenne ich Expandierung. Getestet werden bei Anwendungen in der Regel funktionale Anforderungen. Was aber ist mit nicht-funktionalen Anforderungen wie der Skalierbarkeit? Anwendungslogik und Datenmodell können funktional gesehen gut sein, aber sie sind ungeeignet, wenn 10 000 Nutzer nicht genau so gut bedient werden können, wie 10 Nutzer. Einige Systeme werben zwar damit, auch bei „extrem vielen“ Nutzern noch uneingeschränkt operieren zu können, doch Zahlen hierzu werden nicht angegeben. Zumal haben Nutzerzahlen von Systemen im Einsatz eine beschränkte Aussagekraft, da es bei 10 000 registrierten Nutzern nur eine Handvoll aktiver Nutzer geben kann.

Die Applikationsplattform ELISMA soll die Entwicklung von Applikationen unter anderem im Bereich Wissensmanagement und E-Learning vereinfachen und eine nachhaltige Perspektive bezüglich der Expandierung und Erweiterung bieten. Einen Schlüsselfaktor sehe ich hierzu im Rechtemanagement, aber dazu mehr in einem anderen Beitrag.

2 Antworten to “ELISMA”

  1. Julian Maicher 17. Juli 2012 um 09:40 #

    Klingt interessant. Steht der Technologie-Stack schon fest?

    • rolwi 17. Juli 2012 um 09:47 #

      Ziemlich fest steht nur, dass Python/Django und MongoDB zum Einsatz kommen.

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: