Abmeldung Informationsanlass

Bist du sicher, dass du dich für den Infoanlass abmelden möchtest?

Besten Dank für dein Interesse

Klicke auf die Schaltfläche unten, um dein gewünschtes PDF-Dokument herunterzuladen.

DOWNLOAD STARTEN
Dipl. Informatiker/in HF Fachrichtung Applikation

Dependency Scan

Webapplikation zum Auslesen eines Abhängigkeitsgraphen

Ein Softwarepaket basiert auf etlichen Abhängigkeiten zu Softwareartefakten. Visualisiert bilden all diese aufeinander abhängigen Artefakte einen Graphen. Skaliert man diesen in einem grossen Umfeld, wird der Graph unüberschaubar gross. Der Graph wächst indem jedes der Artefakte inkrementell eine neue Version erhält, was zu einem neuen Knoten im Graphen führt.

In der Firma Ypsomed bestand der Wunsch, solch einen Graphen auslesen zu können. Die Hauptschwierigkeit liegt darin, von einem gegebenen Softwareartefakt alle Abhängigkeiten auszulesen. Dies hat zwei Richtungen:
• gegen unten – Abhängigkeiten dieses Artefaktes
• gegen oben – in welchen Softwarepaketen dieses Artefakt abhängig ist
Gegen jede Seite hat es eine unbestimmte Anzahl n-Ebenen an Abhängigkeiten, welche ausgelesen werden sollen.

15. November 2020
Michael Erb

Ausgangslage

Die Ypsomed Holding AG ist ein Schweizer Medizinal Technologie Unternehmen mit rund 1600 Mitarbeitenden. Die Ypsomed ist auf die Entwicklung und Herstellung von Kundenspezifischen Injektions- und Infusionssystemen für die Selbstmedikation spezialisiert. 

Von einem einst mehrheitlich, mechanischen Unternehmen verändert sich durch die Digitalisierung einen Grossteil der herkömmlichen Produktepalette. Etablierte Systeme müssen neu durchdacht werden. Medizinprodukte sind in der Lage Therapiedaten zu sammeln oder durch eine App gesteuert zu werden. In diesem Zusammenhang verändert sich das Unternehmen laufend in ein mehr softwaregestütztes Unternehmen mit grossem Wachstum im Bereich Software.

In der Embedded Softareentwicklung wurde ein Projekt gestartet, mit dem Ziel eine State-of-the-Art Infrastruktur zur Implementation von Software aufzubauen. Neu werden Softwareartefakte zentral auf einem lokalen Server gehostet. Serverseitig kommt dazu JFrog Artifactory als Repository Manager zum Hosten von vorkompillierten Softwareartefakten zum Einsatz. Clientseitig wird Conan Package Manager zum Erstellen und Verteilen von Binärdateien verwendet. Conan schreibt dabei «Rezepte» mit allen Abhängigkeiten der verschiedenen Softwarepakete. 


Zielsetzung

Mit Conan lässt sich das "Rezept" eines Softwarepakets auslesen. Dies beinhaltet jedoch nur die "Zutaten" (Abhängigkeiten) für das jeweilige Softwarepaket. Im Graph sind das alle Abhängigkeiten gegen unten, vom jeweiligen Softwarepaket aus gesehen.

In der Ypsomed kam der Wunsch auf, eine Webapplikation zu entwickeln, die Abhängigkeiten im Graphen gegen unten, und auch gegen oben auszulesen. Das heisst, welche Abhängigkeiten hat ein Artefakt (gegen unten im Graph), und in welchen Softwarepaketen ist dieses Paket abhängig (gegen oben im Graph). Zusätzlich soll die Applikation mit weiteren Funktionalitäten ausgestattet werden.

Beispiel Graph
1/5 Beispiel Graph
Artefakt suchen
2/5 Artefakt suchen
Artefakt Details
3/5 Artefakt Details
Artefakt Abhängigkeiten
4/5 Artefakt Abhängigkeiten
Artefakt Verwendungen
5/5 Artefakt Verwendungen
Beispiel Graph
Artefakt suchen
Artefakt Details
Artefakt Abhängigkeiten
Artefakt Verwendungen

Weg zum Ziel

In den Anfangsphasen wurde das Projekt geplant und konzeptioniert. Dabei wurden drei Technologien zur Umsetzung evaluiert - für das Backend wird das Framework Spring Boot verwendet, für das Frontend Angular und Neo4j wird als Datenbank eingesetzt.

Neo4j ist eine Graphdatenbank, die das Rückgrat der Applikation bildet. Eine Graphdatenbank nutzt die mathematische Graphentheorie um Daten zu speichern. Dadurch lassen sich stark vernetzte Informationen speichern und komplexe Abfragen performant ausführen.


Besondere Herausforderungen

Eine der grössten Herausforderungen war das Konzept und die Implementation eines automatisierten Speicherungsprozess der Softwareartefakte in die Datenbank. Dabei wird während einer automatisierten Build-Pipeline ein Prozess ausgelöst, der die Information eines Softwarepakets an das Backend sendet. Diese Informationen sind nur als einzelne, unbestimmte Anzahl n-"Puzzlestücke" vorhanden, und werden im Backend zu einem Graphen zusammengesetzt, und anschliessend im vorhandenen Graphen in der Datenbank integriert. 


Docker

Die ganze Applikation wird in Docker Containern entwickelt, gebuildet, getestet und schlussendlich ausgeführt. Dies bildet für jeden Anwendungsfall die gleiche isolierte Umgebung.

Dafür wurden jeweils drei Docker Compose Umgebungen gebaut - eines für die lokale Backend Entwicklung, eines für die lokale Frontend Entwicklung, und eines für das produktive System in welchem alle drei Container integriert sind (Frontend, Backend, Datenbank).


Retrospektive

Bis anhin habe ich noch nie eine komplette Applikation in dieser Grösse Entwickelt. Die Diplomarbeit ist für mich wie ein Puzzle, in dem die gelernten Module des Studiums zu einem Bild zusammengesetzt wurden. Die Arbeit war für mich dementsprechend enorm lehrreich und eine gute Erfahrung für die Zukunft. 

Auch habe ich negative Seiten erfahren und kam in gewissen Phasen der Arbeit mit dem Ausmass des Projektes an meine Grenzen.

Rückblickend bin ich jedoch stolz auf mich selbst, diese Applikation umgesetzt zu haben. Sie bildet eine gute Basis auf der weiterhin aufgebaut werden kann. Die Applikation bringt der Firma einen grossen Mehrwert.

Michael Erb DevOps Engineer bei Ypsomed Holding AG
Dokumente Hier können Sie den Lebenslauf von mir herunterladen. CV_MichaelErb_y.pdf (PDF)

Weiterbildung neben Beruf und Freizeit

Gratis E-Book mit 10 Tipps zur Work-Life-Learn-Balance

Download E-Book

Aktuelles Studienprogramm

Alles Wissenswerte zur Weiterbildung in einem PDF zusammengefasst.

Download PDF

Weiterbildung neben Beruf und Freizeit – schaffe ich das?

10 Tipps zur Work-Life-Learn-Balance
Eine Weiterbildung beansprucht Zeit. Deshalb auf Freunde, Familie und Hobbies zu verzichten, wäre falsch.

In diesem E-Book erfährst du:

  • wie du deine Zeit effizienter nutzt
  • wie du dich trotz Weiterbildung genügend Freizeit bewahrst
  • wie sich Beruf, Weiterbildung und Freizeit gegenseitig ergänzen statt konkurrenzieren können
Basel
Bern
Luzern
Olten
Zürich
Technik
Wirtschaft
Bildungsgänge HF Technik
Dipl. Maschinenbautechniker/in HF
Dipl. Elektrotechniker/in HF
Dipl. Systemtechniker/in HF
Dipl. Gebäudeautomatiker/in HF
Dipl. Informatiker/in HF Fachrichtung Applikation
Dipl. Informatiker/in HF Fachrichtung Systemtechnik
Dipl. Techniker/in HF Bauplanung Architektur
Dipl. Techniker/in HF Bauplanung Ingenieurbau
Dipl. Prozesstechniker/in HF
Dipl. Flugzeugtechniker/in HF
Dipl. Energie- und Umwelttechniker/in HF
Nachdiplomstudien NDS HF Technik
NDS HF Energie und Umwelt
NDS HF Informatik Applikationsentwicklung
NDS HF Informatik Cyber Security & Privacy
NDS HF Informatik Systemtechnik
NDS HF Informatik Game Design
NDS HF Informatik Data Science
NDS HF Informatik IT-Projektleitung
Seminare
Seminar Projektmanagement
Seminar KI-Tools im Berufsalltag
Seminar Cyber Security
Seminar Game Design
Seminar Data Science
Bildungsgänge HF Wirtschaft
Dipl. Wirtschaftsinformatiker/in HF
Dipl. Betriebswirtschafter/in HF
Dipl. Betriebswirtschafter/in HF für Technische Kaufleute
Dipl. Marketingmanager/in HF
Vorbereitungskurse eidg. Berufsprüfungen
Technische Kaufleute mit eidg. Fachausweis
Technische Kaufleute mit eidg. Fachausweis
Führungsfachleute mit eidg. Fachausweis
HR-Assistent/in mit Zertifikat
HR-Assistent/in mit Zertifikat Intensiv
HR-Fachmann/HR-Fachfrau mit eidg. Fachausweis
Fachmann/Fachfrau Finanz- und Rechnungswesen mit eidg. Fachausweis
Nachdiplomstudien NDS HF Betriebswirtschaft
Dipl. Betriebswirtschafter/in NDS HF Management
Dipl. Betriebswirtschafter/in NDS HF Strategische Unternehmensführung
Kaufmännische Bildungsgänge
Dipl. Kauffrau, Kaufmann VSH
Dipl. Wirtschaftsfachleute VSK

Tipps aus dem Inhalt

  • TIPP 1: Gestalte deine Arbeit so flexibel wie möglich!
  • TIPP 2: Beziehe Arbeitgeber sowie Kollegen und Kolleginnen in deine Weiterbildungspläne mit ein!
  • TIPP 3: Arbeite effizienter und effektiver mit Zielorientierung!
  • TIPP 4: Entwickle deinen idealen Lernrhythmus!
  • TIPP 5: Lerne mit System und festen Strukturen!
  • TIPP 6: Schaffe genug Ausgleich und Entspannung!
  • TIPP 7: Binde deine/n Partner/in, deine Familie und externe Hilfen in deine Planung ein!
  • TIPP 8: Belohne dich für deine Erfolge!
  • TIPP 9: Mach eine Zeitinventur!
  • TIPP 10: Erstelle eine Zeitplanung aller drei Bereiche!

Studienprogramm  herunterladen

Alles Wissenswerte zu deiner Weiterbildung in einem PDF zusammengefasst

  • Detaillierter Lehrplan zu allen Studiengängen
  • Alle wichtigen Hintergrundinfos zu Ausbildungszielen, Teilnehmerkreisen, Aufnahmebedingungen und weiterführenden Studiengängen
Basel
Bern
Luzern
Olten
Zürich
Technik
Wirtschaft
Bildungsgänge HF Technik
Dipl. Maschinenbautechniker/in HF
Dipl. Elektrotechniker/in HF
Dipl. Systemtechniker/in HF
Dipl. Gebäudeautomatiker/in HF
Dipl. Informatiker/in HF Fachrichtung Applikation
Dipl. Informatiker/in HF Fachrichtung Systemtechnik
Dipl. Techniker/in HF Bauplanung Architektur
Dipl. Techniker/in HF Bauplanung Ingenieurbau
Dipl. Prozesstechniker/in HF
Dipl. Flugzeugtechniker/in HF
Dipl. Energie- und Umwelttechniker/in HF
Nachdiplomstudien NDS HF Technik
NDS HF Energie und Umwelt
NDS HF Informatik Applikationsentwicklung
NDS HF Informatik Cyber Security & Privacy
NDS HF Informatik Systemtechnik
NDS HF Informatik Game Design
NDS HF Informatik Data Science
NDS HF Informatik IT-Projektleitung
Seminare
Seminar Projektmanagement
Seminar KI-Tools im Berufsalltag
Seminar Cyber Security
Seminar Game Design
Seminar Data Science
Bildungsgänge HF Wirtschaft
Dipl. Wirtschaftsinformatiker/in HF
Dipl. Betriebswirtschafter/in HF
Dipl. Betriebswirtschafter/in HF für Technische Kaufleute
Dipl. Marketingmanager/in HF
Vorbereitungskurse eidg. Berufsprüfungen
Technische Kaufleute mit eidg. Fachausweis
Technische Kaufleute mit eidg. Fachausweis
Führungsfachleute mit eidg. Fachausweis
HR-Assistent/in mit Zertifikat
HR-Assistent/in mit Zertifikat Intensiv
HR-Fachmann/HR-Fachfrau mit eidg. Fachausweis
Fachmann/Fachfrau Finanz- und Rechnungswesen mit eidg. Fachausweis
Nachdiplomstudien NDS HF Betriebswirtschaft
Dipl. Betriebswirtschafter/in NDS HF Management
Dipl. Betriebswirtschafter/in NDS HF Strategische Unternehmensführung
Kaufmännische Bildungsgänge
Dipl. Kauffrau, Kaufmann VSH
Dipl. Wirtschaftsfachleute VSK