Erstellung einer Java Applikation zur automatisierten Erstellung von Projekten im GitLab und Jenkins Jobs

Softwareprojekte werden größer, komplexer und immer mehr Entwickler arbeiten zusammen an einem Projekt. Um eine strukturierte sowie geordnete Entwicklung zu gewährleisten, muss es möglich sein, Änderungen von Quellcode und Dokumenten zu erfassen und rückgängig zu machen. Um diese Anforderungen zu erfüllen, setzt man sogenannte Versionskontrollsysteme ein. Die dotSource GmbH verwendet als Versionskontrollsystem GitLab, um ihre Projekte zu strukturieren und die Entwickler zu koordinieren.

Die Erstellung der Projekte im GitLab für sogenannte Functions erfolgt derzeit manuell auf einem aufwendigen und umständlichen Weg. Um schneller und effektiver arbeiten zu können, soll dieser Vorgang automatisiert werden. Eine Möglichkeit eine Automatisierung mittels einer Applikation zu realisieren, ist die REST API von GitLab. Mittels dieser Schnittstelle können dann die Funktionalitäten von GitLab von einem externen Programm angesprochen werden, wodurch es wiederum möglich ist, die Schritte zur Erstellung einer Function zu automatisieren.

In dieser Arbeit soll zum einen der derzeitige Erstellungsprozess für die Functions genauer betrachtet und zum anderen wird die Entwicklung der Applikation zur Automatisierung dieses Prozesses genauer analysiert werden. Nach dieser Betrachtung soll ein Fazit gezogen werden, ob die Entwicklung des Programmes gelungen ist und ob das Programm eine Zeit- und Aufwandsersparnis für die Entwickler mit sich bringt.

Nutzer Authentifizierung
Nutzer Authentifizierung

Kostenloser Download der gesamten Praxisarbeit

Integration eines neuen Tools zur Automatisierung von Storefront Tests für ein Projekt der dotSource GmbH

Die dotSource GmbH (DS) möchte für ihr Projekt ein neues Tool zur Automatisierung von Storefront Tests (SFT) einführen. Dabei soll ermittelt werden, ob der Umstieg mit wenig Aufwand umzusetzen ist und ob es zu Verbesserungen hinsichtlich Entwicklungszeit, Wart- und Lesbarkeit des Quellcodes (QC) führen wird.

In dieser Arbeit wird die Bedeutung der Tests sowie der Grund für den Toolwechsel erklärt. Dabei werden die benötigten Arbeitsschritte zur Integration des neuen Tools geschildert. Dazu wird die Struktur des Tools und aller verwendeten Systeme erläutert. Die Arbeit befasst sich zuletzt mit einem Vergleich beider verwendeten Tools anhand eines Experiments.

Die SFTs helfen, den ordnungsgemäßen Ablauf von Online Shop (OS) Prozessen zu gewährleisten. Zu solchen Prozessen zählen beispielsweise Anmeldungen, Artikel in Warenkörbe legen, Bestellung von Artikeln usw. Falls hierbei Fehler vorhanden sind, können Kunden eventuell keine Käufe mehr betätigen.
Dies kann den Verlust von mehreren tausenden Euro Umsatz täglich für den Betreiber des OS bedeuten, bis der Fehler behoben wird. Das Schreiben und regelmäßige Ausführen von Tests verringert die Wahrscheinlichkeit, dass so ein Fall auftreten wird.

Struktur der verwendeten Systeme
Struktur der verwendeten Systeme

Kostenloser Download der gesamten Praxisarbeit

Konzeption und gestalterische Umsetzung eines neuen Vermarktungskonzeptes der dotSource GmbH

Durch den ständig wachsenden Wohlstand der Gesellschaft in Verbindung mit fortschreitender Globalisierung und Digitalisierung werden wir mehr denn je mit einem riesigen und unübersichtlichen Angebot an Produkten und Dienstleistungen konfrontiert. Dabei ist der Grundbedarf an Lebensnotwendigem bei den meisten Konsumenten schon lange gedeckt. Unternehmen und ihre Produkte ähneln sich immer mehr, was einen Anstieg ihrer Austauschbarkeit zur Folge hat und damit auch den Werbedruck erhöht.  Schon heute wird jeder Konsument im Durchschnitt pro Tag mit rund 5000 Werbebotschaften konfrontiert. Damit wächst auch die Fülle an Informationen, welche Verbraucher verarbeiten müssen, bevor sie sich für ein Produkt entscheiden. 

Die steigende Reizüberflutung und das vorhandene Überangebot machen es Unternehmen zunehmend schwerer, sich auf dem Markt zu positionieren, zumal Qualität sowie ausreichende Funktionen und Möglichkeiten des Produktes vom Kunden mittlerweile vorausgesetzt werden. Die Ansprüche an Unternehmen sind damit gestiegen und Produkte werden nicht mehr nur aufgrund ihres Nutzens konsumiert. Der Mensch ist auf der Suche nach einer neuen Form der Erfüllung im Konsum. In unserer von sozialem Feedback und öffentlichkeitsgeprägten Gesellschaft wollen sich Kunden immer mehr mit den Produkten, mit denen sie täglich interagieren, selbstverwirklichen und identifizieren. Somit spielen auch die beständigen, wahrhaften Werte, welche ein Unternehmen vertritt, eine immer größer werdende Rolle bei der Kundenbindung. 

dotSource_Vermarktungskonzept
dotSource_Vermarktungskonzept

Kostenloser Download der gesamten Bachelorarbeit

Deployment und Continuous Integration mit Containerisierung in der Cloud

In den letzten Jahren konnten mehrere größere Umbrüche in der digitalen Industrie festgestellt werden. Der erste Umbruch brachte eine neue Art des Deployments und die damit verbundene Infrastruktur mit sich, nämlich die Cloud. Cloud Computing ist seit Jahren ein diskutiertes Thema, da es immer wieder als die Zukunft der Informationstechnik (IT) bezeichnet wird. Außerdem sorgt es bei vielen Unternehmen für geringere Kosten, da selbst
verwaltete Infrastruktur als auch das zu verwaltende Personal wegfallen. Auf Cloud-Ebene wurde vor allem von der Technologie der Virtualisierung gebraucht gemacht. Damit wurde reale Hardware abstrahiert und den verschiedenen Nutzern angeboten. Es stellte sich jedoch schnell heraus, dass Virtualisierung mit virtuellen Maschinen ineffizient ist. Dies ist
der Grund für den zweiten Umbruch, mit dem sogenannte Container in die Cloud und die Server Einzug hielten. Diese ermöglichten einen schnellen und zuverlässigen Betrieb ohne ein seperates Betriebssystem, da sie auf dem Host-System ausgeführt werden und dieses zusammen mit seinen Ressourcen nutzen. Nun stellte sich die Frage, wie diese Container
am besten orchestriert werden können. Obwohl es einige Lösungen für dieses Problem gab, setzte sich zuerst Kubernetes als Open-Source-Projekt zur Container-Orchestrierung durch und stellt momentan einen Industriestandard dar.

Übersicht über Kubernetes Architektur
Übersicht über Kubernetes Architektur

Kostenloser Download der gesamten Projektarbeit

Analyse aktueller BI-Systeme

Bis zum Jahr 2020 soll die Menge an betriebswirtschaftlichen Daten durchschnittlich um 42 Prozent pro Jahr wachsen. Das steigende Datenvolumen ist vor allem auf verbesserte Mess- und Sensortechnik, unstrukturierte Daten aus Webseiten sowie sozialen Netzwerken zurückzuführen. Um den stetig wachsenden Anforderungen gerecht zu werden, wur- den leistungsstarke Instrumente entwickelt. Business Intelligence (BI) versucht dieser Flut aus strukturiertem und unstrukturiertem Wissen Herr zu werden. Ausgewertet und grafisch aufgearbeitet erhalten die Benutzer alle wichtigen und tagesaktuellen Informati- onen in Form von Dashboards für ihr Unternehmen.

Können Unternehmen mit dem Wissen aus BI bessere Entscheidungen treffen und zukünftig erfolgreichere Strategien entwickeln? Inwieweit trägt BI als Controlling-System dazu bei, Unternehmen nachhaltig zu einem Wettbewerbsvorteil zu verhelfen?

AHP Hierarchie
AHP-Hierarchie

Kostenloser Download der gesamten Bachelorarbeit

Nutzen und Herausforderungen bei der Einführung eines integrierten Managementsystems

Wenn Unternehmen wachsen und sich somit verändern wollen, erfordert dies oftmals ein Umdenken verschiedener Geschäftsprozesse. Wachsen bedeutet hierbei zunächst „[…] ein Größerwerden innerhalb eines bestimmten Zeitraums, in wirtschaftlichem Zusammenhang meist die Zunahme von Maßzahlen wie Umsatz, Ertrag oder Bruttoinlandsprodukt.“ (Hegele-Raih, 2004, Abs.4) Betrachtet man nun im speziellen das Unternehmenswachstum, können mögliche Maßgrößen der Mitarbeitereinsatz, der Kapitaleinsatz, der Umsatz und/oder der Gewinn sein.  (vgl. Schoppe, 1995, S.22). Mit dem Ziel zu wachsen, stellt sich dem Unternehmen nun die Frage, ob die aktuellen Systeme ausreichend sind oder ob die Einführung eines integrierten Managementsystems, insbesondere Enterprise-Resource-Planning- und Professional-Services-Automation-System, notwendig sind.

Steht also ein Unternehmen vor der Entscheidung ein neues Managementsystem einzuführen, sollten zunächst mindestens grobe Anforderungen an solch ein System definiert werden, damit eine Kosten-Nutzen-Analyse oder eine Nutzwertanalyse zur Entscheidungsfindung durchgeführt werden kann. Diese Analysen zeigen dem Unternehmen zunächst, ob überhaupt ein neues System sinnvoll wäre, und ob eine der Handlungsoptionen bzw. -alternativen ggf. besser für das Unternehmen geeignet wäre. Anschließend dienen die Anforderungen als Bewertungskriterien zur Softwareauswahl. Hierbei ist es zu empfehlen nicht nur Anbieter von PSA-Systemen, sondern auch ERP-Anbieter zu analysieren.

Die 3 Dimensionen des Anforderungsmanagements
Die 3 Dimensionen des Anforderungsmanagements

Kostenloser Download der gesamten Bachelorarbeit

Erweiterung eines dynamischen Formulargenerators um eine Bildupload-Funktion

Formulare finden sich mittlerweile bei vielen Online-Präsenzen. Ihr Anwendungszweck kann sehr verschieden ausfallen. Sie können für das Aktualisieren von Accountinformationen verwendet werden, eine Suchfunktion repräsentieren oder auch zur Kontaktaufnahme dienen. Letzteres findet in Online-Shops häufig Anwendung, um die Kundenbetreuung zu vereinfachen. Es können vordefinierte Formulare mit Eingaben des Nutzers gefüllt werden, wodurch dieser den Grund seiner Anfrage zielstrebiger darlegen kann. So kann beispielsweise an eine zuständige Kontaktperson vermittelt werden. Beim Pflegen der Inhaltsseiten möchte der Shop-Besitzer selbst Formulare und deren Felder anlegen können. Eine dynamische Formularkomponente ermöglicht genau das. Über das entsprechende Content-Management-System können so entsprechende Formulare auf einfache Weise definiert werden.

Beim Pflegen der Inhaltsseiten möchte der Shop-Besitzer selbst Formulare und deren Felder anlegen können. Eine dynamische Formularkomponente ermöglicht genau das. Über das entsprechende Content-Management-System können so entsprechende Formulare auf einfache Weise definiert werden.

In einigen Fällen kann es hilfreich sein, bei der Nutzung eines Online-Formulars eine Bilddatei mitzusenden. Beispielsweise um Produktmängel oder explizite Fragen zum Produkt zu kommunizieren. In einem Kundenprojekt der dotSource GmbH zur Erstellung eines Online-Shops wurde diese Funktion als Anforderung definiert. Mit der Umsetzung dieser beschäftigt sich die vorliegende Projektarbeit.

 

Implementierung der Funktion „initMultiPartForm“
Implementierung der Funktion „initMultiPartForm“

Kostenloser Download der gesamten Projektarbeit

Einsatz von Sprachassistenten im Vertriebsprozess im Kontext der SAP Cloud for Customer

Sprachassistenten wie Amazon Alexa oder Google Assistant sind seit einiger Zeit in aller Munde und können ihren Marktanteil stetig ausbauen, was beispielsweise in der Verbreitung von smart speakern sichtbar wird. Im Vertriebsbereich, beispielsweise in der Kommunikation mit der SAP Cloud for Customer, wird jedoch hauptsächlich mit graphischen Oberflächen gearbeitet. Da insbesondere Angestellte im Vertrieb an unterschiedlichen Orten arbeiten, welche eine Interaktion mit einer graphischen Oberfläche nicht erlauben, wie etwa im Auto auf dem Weg zu einem Kunden, bietet sich hierbei die Möglichkeit der Sprachinteraktion mit dem System an. Ein Vertriebsmitarbeiter kann sich so zum Beispiel bereits im Auto auf dem Weg zum Kunden über den Kunden, den Termin, offene Angebote, o.Ä. informieren, womit diese Zeit effektiv nutzbar wird. Im Hinblick darauf, dass die Kommunikation via Sprache aufgrund verschiedener Herausforderungen nur situativ der graphischen Oberfläche vorzuziehen ist, sollte ein bestehendes System mit herkömmlichen Interaktionsmöglichkeiten, um diesen Kommunikationskanal erweitert werden. Hierfür bietet sich die SAP Cloud for Customer als cloud basierte Plattform mit einer Schnittstelle für Datenzugriffe an.

Use Case Diagramm

 

Kostenloser Download der gesamten Masterarbeit

Standardisierung der JavaScript Architektur für SAP-Commerce-Cloud-Systeme

Je größer ein Projekt ist, desto wahrscheinlicher ist es auch darüber den Überblick zu verlieren. Ohne Überblick ist es wesentlich schwerer Fehler zu identifizieren und zu beheben, aber auch neue Inhalte sauber hinzuzufügen. Um ein Projekt übersichtlich zu halten, müssen seine Bestandteile gut strukturiert sein, so auch der JavaScript Code. Die Aufrechterhaltung von wohlstrukturiertem Code kostet viel Zeit, wenn es keine festen Vorgaben gibt. So muss der Entwickler bei jeder Änderung viel Zeit damit verbringen die Lösung für sein Problem sauber zu implementieren. Aus Zeitmangel wird jedoch vereinzelt nur so weit gearbeitet, bis die Funktionalität sichergestellt wurde. In vielen Fällen heißt das, dass auf Sauberkeit und Strukturiertheit des Codes wenig Wert gelegt wird.

Hier kommt eine Architektur ins Spiel. Durch eine feste Vorgabe, wie Probleme zu lösen sind, wird der Zeitaufwand eliminiert, der sonst in die Planung der Lösung fließen würde. Außerdem kann garantiert werden, dass der Code einheitlich strukturiert ist. So können auch bei möglichen Personalwechseln andere Entwickler ohne viel Einarbeitung den Code verstehen.

Da diese Architektur, nachdem sie einmal eingeführt ist, nur sehr unangenehm wieder zu ersetzen ist, sollte sie von Beginn an optimal ausgelegt sein. So ist es Ziel dieser Arbeit eine Architektur zu entwickeln, die in SAP-Commerce-Cloud Systemen optimal einsetzbar ist.

Schema des Observer Patterns
Schema des Observer Patterns

Kostenloser Download der gesamten Praxisarbeit

Implementierung und Auswertung einer bildbasierten Produktsuche im Shopsystem SAP Hybris Commerce

Das Ziel der vorliegenden Arbeit war die Implementierung und Auswertung einer bildbasierten Produktsuche im Shopsystem SAP Hybris Commerce. Die Verwendung der bildbasierten Suche im Bereich des E-Commerce ist einer der am häufigsten erwähnten Anwendungsfälle für diese Suchtechnologie. Dabei existieren bereits verschiedene Einbindungen dieser Art der Suche in Onlineshops, deren Einsatz allerdings noch sehr schwach verbreitet ist. Auf welchen Grundlagen Systeme dieser Art aufbauen, was für Probleme sie in sich bergen, die einer verbreiteten Verwendung eventuell im Weg stehen, und wie diese gelöst werden können, sollte in dieser Arbeit sowohl praktisch als auch theoretisch erläutert werden. Die Umsetzung dieses prototypischen Content-based Visual Information Retrieval Systems (CBVIR) wurde in Zusammenarbeit mit der Jenaer Digitalagentur dotSource GmbH durchgeführt. Dabei sollten sowohl die Chancen, Möglichkeiten und Probleme dieser Art der Suche, als auch die Grundlagen eines solchen Systems und dessen Erstellung erforscht und ausgewertet werden. Mit Hilfe des Shopsystems SAP Hybris Commerce, der integrierten Suchmaschine Apache Solr und dem zugehörigen Plugin lire-solr wurde eine funktionale Implementierung verwirklicht.

Die Auswertung erfolgte in einer quantitativen Art mit der Hilfe etablierter Auswertungsmetriken und dem DeepFashion Bilddatensatz für Kleidungsstücke. Als Resultat steht eine funktionstüchtige Umsetzung einer bildbasierten Produktsuche zur Verfügung, welche auf Grundlage der Auswertung und der flexiblen Struktur weiter verbessert werden kann. Der schriftliche Teil dieser Ausarbeitung bietet einen Überblick über die wichtigsten Grundlagen von Systemen dieser Art, dokumentiert und erklärt alle Entscheidungen und Vorgänge zu deren Erstellung und Auswertung und führt in verschiedene Problemstellungen, Lösungen und zukünftige Aspekte ein. Das Ergebnis dieser Arbeit ist in diesem Sinne die sowohl praktische als auch theoretische Beantwortung der Frage, wie ein System für eine bildbasierte Suche in einem Onlineshop implementiert, getestet und verbessert werden kann, wodurch sowohl eine Wissensgrundlage für künftige Projekte dieser Art als auch eine technologische Grundlage für eine einfache Einbindung dieser Suche in SAP Hybris Commerce geschaffen wurde.

Aufbau eines IR Systems
Aufbau eines IR Systems

Kostenloser Download der gesamten Bachelorarbeit