GP WS18_B06: ChatBot-as-a-Service mittels rasa.ai

Veröffentlicht: von

Problembeschreibung Machine Learning und Deep Learning haben sich in den letzten Jahren rasant entwickelt. Insbesondere im Bereich der natürlichen Sprachverarbeitung (Natural Language Processing, NLP) sind ChatBots konkrete Anwendungsbeispiele dieser Technologien. Sie bilden für den Menschen erlebbare Schnittstellen, um direkt mit „der Maschine“ zu kommunizieren. In der Zurich Gruppe Deutschland wird derzeit schon an einem ChatBot…

Posts nach Kategorien: Lehre

GP WS18_A03: Weiterentwicklung der Projektbörse Campus Gummersbach als Microservice-Architektur

Veröffentlicht: von

Problembeschreibung Eine Microservice-Architektur verfolgt den Ansatz, ein IT-System (in der Regel eine webbasierte Anwendung) als Suite von weitgehend unabhängigen vertikalen Modulen aufzubauen. Diese können (weitgehend) unabhängig voneinander deployed und betrieben werden und benötigen nur ein Minimum an zentraler Kommunikationsinfrastruktur. Kommunikation zwischen Front- und Backend erfolgt über leichtgewichtige Protokolle wie etwa REST. Dieser Architekturstil erlaubt es,…

Posts nach Kategorien: Lehre

Neue Terminstruktur für Statusgespräche / Projekttreffen

Veröffentlicht: von

Für alle Abschlussarbeiten vereinbare ich mit den Studierenden ein 2-wöchentliches Statusgespräch. Dies gilt auch für die vorbereitenden Praxisprojekte für die Bachelorarbeit. Ab diesem Semester veranstalten meine Mitarbeiter und ich zusätzlich ein Projekttreffen (Mittwochs vormittags alle 4 Wochen), bei dem jeder Studierende, der ein Projekt oder eine Abschlussarbeit im thematischen Umfeld „ArchiLab / Microservices“ bearbeitet, seinen/ihren…

Posts nach Kategorien: Lehre

PP/BA: Wie dokumentiere ich Designentscheidungen für Microservices sinnvoll?

Veröffentlicht: von

Dokumentation ist in der Regel ein ungeliebtes Thema. Die agile Community hat dieses Thema entformalisiert und pragmatischer gemacht, kämpft aber immer noch mit der richtigen Mischung aus „Der Code ist die Dokumentation“ und „Wir pflegen ein Extra-Architektur-Dokument“. ThoughtWorks hat LightWeight Architecture Decision Record in den Status „Adopt“ seines Technology Radars erhoben. Was heißt das konkret und in der gelebten Praxis? Ziel der Arbeit ist eine umfassende Literatur-, Technologie- und Empiriestudie (Expertenbefragungen). Am Ende sollte ein Vorschlag mit einem oder mehreren sinnvollen Varianten zur Dokumentation stehen. Ein praktischer Anwendungsfall, in dem die gewählte Lösung anhand eines Beispiels (als Prototyp) in einem Produktivsystem umgesetzt wird, sollte die Arbeit abrunden. Als Produktivsystem kann dabei die konsequent und kompromisslos als System von Microservices ausgelegte Lehr- und Lernplattform ArchiLab darstellen.

Posts nach Kategorien: Lehre

PP/BA: Algorithmic IT Operations

Veröffentlicht: von

Aus Sicht eines effizienten System-Monitorings wäre es sehr attraktiv, Machine-Learning-Techniken zu nutzen, um Ausfälle/Störungen von bestimmen IT-Komponenten oder -Services frühzeitig vorhersagen zu können. ThoughtWorks klassifiziert diese Technik als „zu beobachten“ (Assess). Die Arbeit sollte zunächst eine umfassende Literatur- und Technologierecherche zu diesem Thema durchführen. Dann sollte ein Forschungsdesign für einen Prototypen konzipiert werden, um einen Proof-of-Concept umzusetzen und das Potential dieser Technik zu bewerten. Ein praktischer Anwendungsfall, in dem die gewählte Lösung anhand eines Beispiels (als Prototyp) in einem Produktivsystem umgesetzt wird, kann die Arbeit abrunden. Als Produktivsystem kann dabei die konsequent und kompromisslos als System von Microservices ausgelegte Lehr- und Lernplattform ArchiLab darstellen.

Posts nach Kategorien: Lehre

IP/PP/BA: API Gateway mit automatischer Service Discovery

Veröffentlicht: von

Ein API-Gateway stellt APIs für Clients und/oder externe IT-Systeme zur Verfügung. Bei komplexen Microservice-Landschaften wird Service Discovery zu einer Notwendigkeit, um nicht zu viel manuellen Konfigurations- und Wartungsaufwand zu haben. Besonders interessant wäre daher eine Kombination von Service Discovery und einer API-Gateway-Implementierung. Die internen Services sollten dabei die Möglichkeit haben, APIs als Public oder Private zu kennzeichen. Die Services könnten dann entsprechend automatisch zur Verfügung gestellt werden. In dieser Arbeit sollten zunächst die Anforderungen an ein solches kombiniertes API Gateway definiert werden. Ein praktischer Anwendungsfall, in dem die gewählte Lösung anhand eines Beispiels (als Prototyp) in einem Produktivsystem umgesetzt wird, kann die Arbeit abrunden. Als Produktivsystem dient dabei die konsequent und kompromisslos als System von Microservices ausgelegte Lehr- und Lernplattform ArchiLab.

Posts nach Kategorien: Lehre

PP/BA: Orchestrierung vs. Choreographie von langlaufenden Geschäftsprozessen in Microservice-Landschaften

Veröffentlicht: von

Die Arbeit sollte zunächst analysieren, ob man Geschäftsprozesse nach bestimmten Kriterien klassifizieren kann, anhand deren man eine Entscheidung für eins der beiden Paradigmen „Orchestrierung“ vs. „Choreographie“ treffen kann. Ein praktisches Prozessbeispiel sollte definiert werden, das eine gewisse realistische Komplexität simuliert, gern anhand eines Versicherungs-Beispiels. Dann sollte für die Bewertung ein Kriteriensystem definiert werden, anhand dessen sich die beiden Paradigmen bewerten lassen. Beide Paradigmen sollten prototypisch implementiert und anhand der Kriterien verglichen werden. Abschließend sollte eine Empfehlung ausgesprochen werden. Ein praktischer Anwendungsfall, in dem die gewählte Lösung anhand eines Beispiels (als Prototyp) in einem Produktivsystem umgesetzt wird, kann die Arbeit abrunden. Als Produktivsystem kann dabei die konsequent und kompromisslos als System von Microservices ausgelegte Lehr- und Lernplattform ArchiLab darstellen.

Posts nach Kategorien: Lehre

PP/BA: Programmiersprachen und Frameworks für Microservices

Veröffentlicht: von

Microservices sind von ihrer Definition her Technologie-agnostisch. Das Umsetzungsteam hat – im Rahmen der strategischen Leitplanken der IT-Organisation – Freiheit in der Technologiewahl. Das schließt natürlich auch die Programmiersprache ein. Aber gibt es tatsächlich signifikante Unterschiede, wenn man auf diese Ebene heruntersteigt? Oder ist „Java doch für alles gut“? In dieser Arbeit soll eine Bewertungsmethodik für Microservice-Teams entstehen, mit der diese schnell entscheiden können, welche Sprache für die Problemstellung interessant ist. Dazu sollten Evaluierungskriterien vorab festgelegt werden. Weiterhin müssen sinnvolle „Klassen“ von Services definiert werden (nach Literaturrecherche und/oder empirischen Expertenbefragungen). Darauf aufbauend werden eine Anzahl von Proof-of-Concept-Implementationen umgesetzt und gemäß der Kriterien bewertet. Abschließend wird daraus die Methodik definiert, die z.B. aus einem Satz von „wenn – dann“ Regeln bestehen kann, gepaart mit Technologieempfehlungen.

Posts nach Kategorien: Lehre

BA: Kriterienbasierter Ansatz zur Technologiewahl bei der Entwicklung mobiler Web Clients

Veröffentlicht: von

Bei der Implementierung von Clients ist ein Mobile Client heutzutage in der Regel gesetzt. Allerdings steht man immer vor der Entscheidung, ob es eine native App sein muss, oder ob auch ein Responsive Web Client genügt. Bestimmte Anwendungen funktionieren nur mit nativen Apps, beispielsweise gewisse Zugriffe auf Systemfunktionen. Allerdings handelt man sich unter Umständen einen signifikanten Entwicklungs- und Wartungsaufwand ein. Eine Responsive Web App ist einfacher zu realisieren, bietet aber nicht ganz den gleichen Standard in Punkto User Experience und Funktionsumfang. In dieser Arbeit sollen Technologien und Designpatterns für Mobile Clients verglichen werden, um zu einer möglichst allgemeinen Aussage bezüglich der obigen Problemstellung zu kommen. Idealerweise kann im Sinne einer Methodik ein Satz von „wenn – dann“ Regeln formuliert werden, gepaart mit Technologieempfehlungen. 

Posts nach Kategorien: Lehre