Technisch

Hier finden Sie Beiträge rund um das Thema Technisch.
Kategoriesuche

Entwurf und prototypische Umsetzung eines decoupled Frontend für einen Onlineshop auf Basis von Salesforce B2B Commerce

In der heutigen digitalen Welt sind Online-Shops unverzichtbar für Unternehmen aller Größen und Branchen. Eine erfolgreiche Online-Präsenz erfordert eine leistungsstarke und benutzerfreundliche Benutzeroberfläche.

Entwickler stehen vor der Herausforderung, die beste Lösung für ihre Projekte aus einer Vielzahl von Möglichkeiten auszuwählen. Die Integration in andere Systeme gestaltet sich oft schwierig aufgrund der Vielfalt von Programmiersprachen und Plattformen.

Daher ist die Verwendung einer Schnittstelle für benötigte Daten oft die bessere Wahl, um die Unabhängigkeit von verschiedenen Plattformen zu gewährleisten. Ein Ansatz zur Erstellung eines unabhängigen Online-Shops ist die Nutzung eines decoupled Frontends.

Decoupled Frontends trennen die Benutzerinteraktion und -darstellung von der Verarbeitung von Anfragen und Daten. Dadurch wird die Anwendung flexibler und wartbarer gestaltet.

In dieser Arbeit wird der Entwurf und die prototypische Umsetzung eines decoupled Frontends für einen Online-Shop auf Basis von Salesforce B2B Commerce behandelt.

Konzept
Konzept

Kostenloser Download der gesamten Praxisarbeit

GraphQL in einer Microservice-Architektur

Die steigende Komplexität von Softwaresystemen erschwert das Design und die Integration von Schnittstellen, die traditionell auf REST basieren. Die zunehmende Beliebtheit von GraphQL als Alternative zu REST, insbesondere in komplexen Microservicearchitekturen, ermöglicht eine vereinfachte API-Entwicklung. Unternehmen unterschiedlicher Branchen setzen GraphQL ein, um komplexe Prozesse abzubilden und die Entwicklung zu erleichtern. Dennoch zeigt GraphQL in solchen Projekten verschiedene Schwächen auf.

Diese Arbeit untersucht die Integration externer GraphQL-APIs in eine eigene Microservicearchitektur unter Verwendung von Apollo Federation. Dabei wird auch das „N+1“-Problem betrachtet und eine Lösung im Rahmen verteilter Graphen angestrebt. Die Funktionsweise von GraphQL wird erläutert, gefolgt von einer Beschreibung des aktuellen Einsatzes von GraphQL in verschiedenen Unternehmen, um Forschungsfragen zu identifizieren. Anschließend wird eine Lösung in Form eines Microservices beschrieben und hinsichtlich Machbarkeit und Performance evaluiert. Diese Arbeit richtet sich an Systemarchitekten und Entwickler mit grundlegenden Kenntnissen in Software- und Systemarchitekturen.

Ist-Stand - Statische Query
Ist-Stand – Statische Query

Kostenloser Download der gesamten Bachelorarbeit

Der Weg zu performantem NodeJS –Do’s and Dont‘s

JavaScript ist in der heutigen Zeit eine der meistgenutzten Programmiersprachen. Mit dem Wachstum des Internets und der immer komplexeren Funktionalität von Webseiten ist JavaScript aus Sicht eines Webentwicklers nicht mehr wegzudenken. Im Jahr 2009 entwickelte Ryan Dahl NodeJS, um einen Webserver bereitzustellen, welcher viele parallele Anfragen gleichzeitig verarbeiten kann, da er mit der Performance von einem Apache-Webserver diesbezüglich unzufrieden war. Als Basis wählte er aufgrund des besonderen ereignisgetriebenen Systems JavaScript, um asynchron Anfragen abarbeiten zu können. Die damit einhergehenden technischen Anpassungen bringen nun auch einige Änderungen mit sich, die es zu beachten gilt, wenn man NodeJS anstelle von reinem JavaScript im Browser programmiert. Bei NodeJS handelt es sich nicht um eine Programmiersprache, sondern vielmehr um ein Framework, das es ermöglicht JavaScript oder eine JavaScript-Engine auf dem Desktop oder einem Server alleinstehend auszuführen.

Das Ziel der vorliegenden Arbeit ist es, den Aufbau von NodeJS zu analysieren und die wichtigsten Punkte bezüglich der Performance solcher Anwendungen herauszuarbeiten. Weiterhin sollen Möglichkeiten zur Optimierung von NodeJS-Anwendungen zusammengetragen und analysiert werden, um diese dann ggf. in einem Produktivsystem einzusetzen.

NodeJS Architektur - Übersicht
NodeJS Architektur – Übersicht

Kostenloser Download der gesamten Praxisarbeit

Mitarbeiter Skills – Applikation zur Erfassung von Mitarbeiterfähigkeiten

Für Unternehmen stellt die Erfassung und Aktualisierung von Mitarbeiterinformationen eine Herausforderung dar. Gespeichert werden unter anderem Name, Emailadresse und das Geburtsdatum der Mitarbeiter. Auch deren Zertifikate oder an welchen Projekten sie arbeiten soll abrufbar sein. Mittels einer Lösung durch Übersichtsseiten, Word-Dokumente oder Excel-Tabellen werden weitere Probleme erzeugt. Aufgelistete Daten veralten und müssen von Mitarbeitern selbst gepflegt werden. Auch ein effizientes Durchsuchen ist nicht möglich und die Maschinenlesbarkeit der Informationen ist nicht gewährleistet.

Nachfolgend werden die Konzeption und Umsetzung einer Applikation, welche Informationen zu Mitarbeitern eines Unternehmens erfasst, beschrieben. Es wird die Datenhaltung modelliert und die Bereitstellung der Daten über eine Benutzerschnittstelle realisiert. Der Fokus der Arbeit liegt auf der Modellierung der Schnittstelle und Datenbank. Die Erläuterung relevanter Grundlagen steht zu Beginn im Mittelpunkt. Dabei werden für das Verständnis der Arbeit notwendige Begriffe vorgestellt. Der Hauptteil beschreibt die Konzeption und Umsetzung der Applikation. Dafür wird die Entwicklung des Lösungsweges dargestellt und die Implementierung des Konzeptes erklärt. Das abschließende Fazit vergleicht die entstandene Lösung mit den gestellten Anforderungen und wirft einen kritischen Blick auf mögliche Erweiterungen sowie potenzielle Verbesserungen der Implementierung.

Mitarbeiter Skills
Mitarbeiter Skills

Kostenloser Download der gesamten Praxisarbeit

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

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