IT

Hier finden Sie Beiträge rund um das Thema IT.
Kategoriesuche
Verwandte Themen

Evaluation und Einführung einer ISMS-Softwarelösung am Beispiel der dotSource GmbH

bestandteile_isms_dotsource_labs
Bestandteile eines ISMS

Die Arbeit beschäftigt sich mit der zunehmenden Bedeutung der Informationssicherheit in Unternehmen und der Notwendigkeit eines Informationssicherheitsmanagementsystems (ISMS), um diese zu gewährleisten und nachzuweisen. Sie untersucht, ob bestehende Standards und Richtlinien wie ISO/IEC 27001 und VdS 10000 Verbesserungspotenzial bieten. Das Ziel besteht darin, ein überarbeitetes ISMS konzeptionell zu entwickeln und kritisch zu bewerten. Dabei werden die etablierten Normen als Ausgangspunkt genutzt und durch Verbesserungsvorschläge erweitert. Die praktische Umsetzung des überarbeiteten ISMS erfolgt mithilfe verschiedener Softwarelösungen, wobei ein ausgewählter Ansatz für die Praxisrealisierung verwendet wird. Die Arbeit liefert eine kritische Analyse der etablierten Normen, das überarbeitete ISMS, eine Praxisumsetzung mittels Atlassian Jira und Confluence sowie einen reflektierten Umsetzungsbericht.

 

Die Ausgangssituation zeigt, dass trotz vorhandener Standards unterschiedliche Umsetzungen von ISMS existieren, was die Frage nach der Praxistauglichkeit der Standards aufwirft. Diese Frage wird anhand eines Fallbeispiels, der Digital-Agentur dotSource GmbH, untersucht. Die Firma benötigt ein ISMS, um die Anforderungen ihrer Kunden zu erfüllen und neue Geschäftsmöglichkeiten zu erschließen.

 

Das überarbeitete ISMS basiert auf ISO/IEC 27001, BSI Standard 200-1 und VdS 10000 und wird durch Verbesserungsvorschläge ergänzt. Die Auswahl und Umsetzung einer geeigneten Software für das ISMS sowie die Evaluierung verschiedener Lösungsansätze sind Teil des Projekts. Die Arbeit gliedert sich in Einleitung, theoretische Grundlagen, Konzeption, Umsetzung und Fazit und liefert einen kritischen Blick auf etablierte Standards und Verbesserungsvorschläge für das ISMS.

Kostenloser Download der gesamten Masterarbeit

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

Reduzierung der Laufzeit eines Salesforce Deployment Pipeline

In einer sich immer mehr digitalisierenden Gesellschaft ist es vor Allem für IT-Unternehmen wichtig, sich stetig weiterzuentwickeln, um mit der wachsenden Konkurrenz mithalten zu können und kompetitiv zu bleiben.
Entwicklungsprozesse müssen also effizienter gestaltet werden, um Software mit hoher Qualität regelmäßig bereitstellen zu können. Entwicklungsteams sollen neue Methoden der Zusammenarbeit lernen, um Kundenprojekte koordiniert und systematisch umsetzen. Das stetige Lernen und Weiterbilden ist Alltag eines modernen Entwicklers.

Da ein Entwicklungsprozess viele verschiedene Teilaspekte von der Konzeptionierung bis zum fertig ausgelieferten Produkt besitzt, kann ein solcher Prozess auch an vielen Stellen optimiert und effizienter gestaltet werden. Methoden der agilen Softwareentwicklung beschleunigen den Implementierungsprozess, Modelle und Prototypen unterstützen die Anschaulichkeit von Konzepten, um direkte Rückmeldung vom Kunden bekommen zu können. Doch auch der Prozess der Bereitstellung von Änderungen und neuen Features kann in vielen Punkten durch Automatisierung und  weitere  Methoden  verbessert  werden. Dazu dienen DevOps, CI (Continuous Integration) und CD (Continuous Delivery und Continuous Deployment). 

Entwurf der neuen Pipeline
Entwurf der neuen Pipeline

Kostenloser Download der gesamten Praxisarbeit

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

Integration einer Lösung für die individuelle Anpassung von Produkten mit dem ZAKEKE Produktkonfigurator in Salesforce Commerce

In der modernen Zeit gibt es immer mehr einzigartige und branchenspezifische Arten, Softwarelösungen zu entwickeln. Ein Programmierer hat viele unterschiedliche Möglichkeiten, eine Problemstellung anzugehen und es ist an ihm zu wählen, welche Lösung die Beste für den gegebenen Fall ist. Daraus entstehen immer effizientere und kundenfreundlichere Lösungen für spezielle Anwendungsfälle. Jedoch ist es durch diese große Varianz an Programmiersprachen, Plattformen und Programmierarten nicht immer einfach, zwei bestehende Systeme funktional zusammenzuführen. Deswegen müssen Softwareentwickler heutzutage immer häufiger Schnittstellen zwischen zwei auf verschiedenen Techniken basierenden Anwendungen entwickeln, um einen reibungslosen Datenaustausch zwischen ihnen zu ermöglichen.

Diese wissenschaftliche Arbeit beschäftigt sich mit der Implementierung einer neuen Funktionalität in ein bestehendes Webshopsystem. Dabei wird ein möglicher Lösungsansatz für die Implementierung als Konzept entstehen und technisch umgesetzt werden. Der Durchführung soll eine ausführliche Analyse unterliegen, aus welcher Schlüsse und Erkenntnisse für weitere Projekte im gegebenen Sachzusammenhang gewonnen werden sollen.

Konfiguratorenseite nach der Implementierung
Konfiguratorenseite nach der Implementierung

Kostenloser Download der gesamten Praxisarbeit

Fehlerbehandlung in einer Mikroservicearchitektur – Ein Ansatz aus der funktionales Programmierung

In größeren Programmarchitekturen ist ein gutes Konzept zum Umgang mit Fehlern unabdingbar. In einer produktiven Umgebung eines Kunden sollen die Anwendungen im Falle eines Fehlers nicht den Betrieb der Plattform beeinflussen, indem sie abstürzen oder sogar andere Teile der gesamten Plattform zum Absturz bringen. Im besten Fall gibt die Anwendung eine Fehlermeldung aus, um sie in einem Log zu speichern und arbeitet, ggf. nach einem Neustart, wie gewohnt weiter.

Speziell in Microservicearchitekturen ist es wichtig, dass jede der vielen kleinen Anwendungen stets bereit ist Anfragen zu bearbeiten, da zwischen den Anwendungen sehr viel Kommunikation stattfindet und sie deshalb abhängig voneinander sind. Es ist wichtig, dass über alle Microservices hinweg eine einheitliche Programmstruktur herrscht, die dabei hilft Fehler gänzlich zu vermeiden oder diese elegant zu behandeln.

Bei der Entwicklung solcher Architekturen werden Fehler häufig auf unterschiedliche Art und Weise behandelt. Dabei werden Fehler meistens geworfen, um sie später an anderer Stelle zu behandeln. Das macht es schwer die bestehende Codebasis zu erweitern, Fehler zu finden oder kann zu inkonsistentem Logging führen. Ein Ansatz aus der funktionalen Programmierung soll dabei helfen die Programmlogik noch klarer von den Fehlern zu trennen und eine robustere Codebasis schaffen. Dadurch wird das Logging verbessert und Fehler können effizienter gesucht und behoben werden.

Umsetzung der Hauptfunktion - funktionaler Ansatz
Umsetzung der Hauptfunktion – funktionaler Ansatz

Kostenloser Download der gesamten Praxisarbeit

Evaluation und Umsetzung von Performance-Tests mit Hilfe von CodeceptJS

Das Internet entwickelt sich seit seiner Erfindung unaufhaltsam fort. Jährlich nimmt die Anzahl von Internetanschlüssen und Nutzern weltweit stark zu. Aufgrund der rasant steigenden Verfügbarkeit von schnellen Breitbandverbindungen tolerieren immer weniger Internetnutzer langsam arbeitende Webseiten. Dazu zeigen Studien, dass Absprungraten von Webseitennutzern mit der Dauer von Ladezeiten ansteigen. Dies kann einen potenziellen Umsatzverlust für den Seitenbetreiber bedeuten. Ladezeiten können durch unterschiedliche Faktoren beeinflusst werden. Ein relevanter Faktor bei Onlineshops kann dabei die Anzahl der zeitgleich eintretenden Kunden sein. Zu viele Nutzer können zu einer Überlast des Webservers und somit zu höheren Antwortzeiten führen.

Um solche Probleme frühzeitig zu erkennen, werden Lasttests an Servern durchgeführt, um die Auswirkungen von hohen Nutzerzahlen auf Seitenladezeiten zu messen. Diese Arbeit beschäftigt sich daher mit der Konzeption, Entwicklung und Durchführung von Lasttests unter der Verwendung des Frontend-Testing Frameworks CodeceptJS.

Jedoch war es bislang unbekannt, ob und inwiefern sich Lasttests mit Hilfe dieses Tools umsetzen lassen. Um dieses Ziel zu erreichen, wurde ein Testkonzept aufgestellt, welches alle benötigten Testabläufe definiert. Anschließend wurden Testskripte erstellt, welche anhand eines Benutzermodells Webseitenbesucher simulieren und deren Auswirkungen auf einem Testserver messen. Dieser Versuch konnte aufzeigen, dass es durchaus möglich ist, Lasttests mit CodeceptJS aufzusetzen. Jedoch benötigt es einen hohen Aufwand, alle Funktionalitäten von XLT nachzubilden.

Auslastung des Testsystems bei unterschiedlicher Anzahl von virtuellen Nutzern
Auslastung des Testsystems bei unterschiedlicher Anzahl von virtuellen Nutzern

Kostenloser Download der gesamten Bachelorarbeit

Optimierung und Evaluierung einer Erweiterung zur Integration von ClickThrough-Daten im Apache SOLR Scoring-Algorithmus

Der Umsatz im Online-Handel steigt, weshalb es für Unternehmen notwendig ist, ihre Geschäftsprozesse auf digitale Strategien auszuweiten. Viele Firmen befassen sich mit der Bedeutung des E-Commerce und setzen auf Webshops. Im Vergleich zum stationären Handel bringen diese Vorteile wie Einsparungen von Personalkosten sowie eine höhere Reichweite und Verfügbarkeit für den Kunden.

Bei der Umsetzung dieser Online-Präsenzen sind verschiedene Komponenten zu beachten. Dazu gehören ein Warenkorb, Produktdetailseiten oder die Produktsuche. Letztere hat mit einer Beteiligung an 80 Prozent der Online-Käufe einen entscheidenden Einfluss auf den Erfolg der Webshops. Sie dient der gezielten Navigation des Kunden zu einem Ergebnis. Das Ziel ist es, möglichst passende Elemente zu einer Suchanfrage zu liefern. Um die Qualität der Suchergebnisse zu verbessern, gibt es verschiedene Möglichkeiten. Dazu gehört u. a. das Click-Through-Scoring. Das Click-Through-Ranking bezeichnet die Fähigkeit eines Suchalgorithmus, in der Vergangenheit häufig geklickte Treffer präsenter anzuzeigen. Das wird zum Beispiel mittels Anzeigen des Produktes auf einer vorderen Position im Suchergebnis erreicht.

Unternehmen haben die Möglichkeit, Drittanbietersoftware für ihre Produktsuche zu verwenden. Vor allem bei Lösungen, die frei zur Verfügung stehen, ist es aber möglich, dass diese kein Click-Through-Scoring beinhalten. Ein Beispiel dafür ist die Suchmaschine SOLR, die von der E-Commerce Plattform SAP Commerce verwendet wird. Es ist möglich, die bestehende Implementierung um diese Funktionalität zu erweitern. Ziel dieser Arbeit ist deshalb die Umsetzung einer Software zur Erweiterung des SOLR um einen Click-Through-Scoring Algorithmus. Dies erfolgt auf Basis eines bestehenden Prototyps. Weiterhin soll diese Software auf die Einhaltung funktionaler und nichtfunktionaler Anforderungen geprüft werden, um einen erfolgreichen Einsatz in einem Produktivsystem zu gewährleisten.

Beteiligte Komponenten beim Click-Through-Scoring
Beteiligte Komponenten beim Click-Through-Scoring

Kostenloser Download der gesamten Bachelorarbeit

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