Posts

Projektverlauf Praktikas

Bild
Praktikum 1 Das erste Praktikum war der Start in das BPaaS Projekt. Dort ist zum ersten Mal das Projektteam zusammengekommen. Recht schnell hat sich herausgestellt, dass die Teammitglieder aus der technischen Informatik in unserem Team überwiegen. Dies ist im Hinblick auf die Verwirklichung des Projektes bestimmt ein Vorteil, jedoch bedeutet dies dann auch eine starke Orientierung auf die technischen Themen. Recht schnell ging es dann zur  Diskussion   über die Projektaufgabe "Entwicklung einer BPaaS-Plattform". Als Vorbereitung auf das Praktikum hatten wir uns das Aufgabenblatt von Frau Steffens durchgelesen und haben überlegt welche Komponenten wir brauchen, um alle User mit der Plattform zufriedenzustellen. Edgar hatte sich zu den Komponenten schon im Vorfeld Gedanken gemacht und dieses zur Diskussion im Praktikum vorgestellt (siehe diesen Blogeintrag ). Letztendlich waren seine Ideen schon sehr gut und wir sind auf eine ähnliche Architektur im Praktikum gekommen.

Datenbank für eine BPaaS-Plattform

Die Business Processes, die auf der Plattform angelegt und genutzt werden, müssen in einer Datenstruktur abgelegt werden. So sind die Prozesse dann gespeichert und auch jeder Zeit verfügbar für die Nutzer. Wir haben uns für die Datenbank  MongoDB entschieden, weil diese im Docker unkompliziert mit portainer eingerichtet werden kann und sie JSON Files speichert, was unserem Datenformat der  BP Spezifikation entspricht. Um die Einrichtung hat sich Vince gekümmert und auch um die Kommunikationsschnittstelle mit RabbitMQ. Damit die anderen Komponenten die BP Daten bekommen, müssen sie die Daten auf der Datenbank abfragen können. Ich habe die Anforderungen der Abfragen von der API bzw. von Frontend und BPExecuter eingeholt und diese dann in Abfragen umgesetzt. Als Resultat habe ich dann folgende Abfragen definiert: Datenbankabfragen Beschreibung getBP Gibt einen Business Process zurück getAllBPs Gibt eine Liste an Business Processes zurück

Projektziel

Bild
Begleitend zur Vorlesung findet ein Praktikum mit 4 Terminen alle drei Wochen statt. Das Ziel ist in einem Projektteam eine Plattform für BPaaS-Angebote zu erstellen. Über BPaaS habe ich schon hier etwas geschrieben. Dabei wurden uns in der Vorlesung die typischen Stakeholder einer BPaaS-Plattform vorgestellt. Folie aus der Vorlesung In der Abbildung werden die drei Stakeholder mit ihren ersten Anforderungen an die Plattform genannt. Diese Stakeholder müssen bei dem Design der Plattform mit ihren Anforderungen berücksichtigt werden. Die Wahl der Technologien zur Umsetzung bleibt unserem Team dabei überlassen.

TTI Vorlesung

In diesem Eintrag möchte ich einmal kurz zusammenfassen was ich für neue Themen gelernt habe, bzw. was ich schon kannte. Dann möchte ich darüber schreiben was mir gut gefallen hat und was ich mir etwas anders gewünscht hätte. Veranstaltungsthemen bekannt/unbekannt/teilweise bekannt Cloud Computing unbekannt Cloud Computing Technologien unbekannt IaaS, PaaS teilweise bekannt Multi Tenancy unbekannt Web Services unbekannt REST unbekannt SOA bekannt API-Economoies unbekannt Hadoop & MapReduce bekannt NoSQL bekannt Cloud Computing Patterns unbekannt Web-Suchmaschinen teilweise bekannt Semantic Web unbekannt Wie man der Tabelle entnehmen kann, habe ich über einige Themen noch nicht viel gewusst. Vor allem alles was zum Thema Cloud Computing gehört war neu für mich,

Semantic Web

Hinter dem Sematic Web verbirgt sich die Idee, dass Daten im Web einfacher austauschbar und wiederverwendbar gemacht werden. Dies soll über Anwendungs-, Firmen- und Ländergrenzen möglich sein. Das W3C hat in den letzten Jahren viele Standards eingeführt, um ein Rahmenwerk für das Semantic Web zu schaffen. Dazu gehören die Standards RDF, RDFS, OWL und SPARQL. Zusätzlich wurden Werkzeuge für die Ontologie-Entwicklung (z.B. Protégé ), die Speicherung und den Zugriff auf semantische Daten entwickelt.  Resource Description Framework (RDF) RDF ist ein Framework, um Ressourcen im Web zu beschreiben. Die Informationen sollen von Computern gelesen und verstanden werden und greift dabei auf XML zurück. Die Informationen werden danei als gerichtete, beschriftete Graphen dargestellt. Von w3schools gibt es ein Tutorial zum Verwenden von RDF:  https://www.w3schools.com/XML/xml_rdf.asp . Resource Description Framework Schema (RDFS) RDF beschreibt Ressourcen mit Klassen, Eigenschaften und

Web-Suchmaschinen

Bild
Suchmaschinen erfassen verteilte Inhalte aus dem World Wide Web mittels Crawling und speichern diese Informationen in einer lokalen Datenbasis. Die Suchmaschine stellt eine Benutzerschnittstelle zur Suche zur Verfügung.  Die Ergebnisse einer Suche werden nach der Relevanz in eine Reihenfolge gebracht, wobei es verschiedene Modelle zur Ermittlung der Relevanz gibt und auch benutzerabhängig sein kann. Wie Suchmaschinen funktionieren Als kurze Einführung bietet sich dieses Video an: Aufbau einer Suchmaschine (aus Risvik und Michelsen 2002, S. 290) In der Abbildung ist der Aufbau von einer Suchmaschine abgebildet.  Eine Suchmaschine besteht aus den Komponenten Crawler, der Datenbasis der Suchmaschine (local store), dem Indexer und dem Searcher. Die Suchmaschine hat die Aufgabe zwischen den Inhalten des WWW und dem Nutzer zu vermitteln. Im Folgenden werden die einzelnen Bestandteile näher erläutert. Im WWW sind die Grenzen nicht klar definiert und es verändert sich kontin

NoSQL

Bild
Als Motivation für NoSQL werden hier ein paar Gründe beschrieben, kein RDBM zu nutzen. Die heutigen Datenbestände sind groß und unstrukturiert. Es werden viele Lese- und Schreiboperationen auf unterschiedlichste Daten getätigt. Je nach Anforderungen gibt es sehr viele Schreiboperationen auf den Datenbestand und Konzepte der RDBM wie Fremdschlüssel und Joins werden nicht oft gebraucht. RDBM hat eine relationale Struktur und ist auf Leseoperationen optimiert. Außerdem ist die Struktur auf Schlüsselbeziehungen und Joins ausgerichtet. NoSQL-Datenmodelle Das Datenmodell beschreibt wie die Datenbank die Daten organisiert. Key-Value-Stores Riak Document Stores MongoDB Wide Column Stores Cassandra Graph Databases Neo4J , Infinite Graph, OrientDB und FlockDB Aggregate Aggregatorientierte NoSQL-Datenmodelle sind Key-Value-Stores, Document Stores und Wide Column Stores. Verteilungsmodelle Verteilungsmodelle über die wir in der Vorlesung gesprochen haben sind Singl