13. .NET User Group Paderborn

Details

Das 13. Treffen der .NET User Group Paderborn steht an!
Wir Treffen uns am[masked] ab 18:00 bei der dSPACE GmbH in Paderborn, um 18:30 beginnt das Programm. Für Getränke und belegte Brötchen ist gesorgt.

Dieses Mal erwarten uns folgende Vorträge:

1. WebAssemblys (Tjark Wilhelm Hoeck) / Lightning Talk
Mein erster Eindruck von WebAssemblys bestätigte so garnicht das, was ich mir darunter vorgestellt habe.
Eine Aufklärung über die Grundlagen und Funktionsweisen von WebAssemblys.

2. Chaos Engineering (Johannes Wiegard) / Lightning Talk
Das Ganze ist immer mehr als die Summe seiner Einzelteile! Verteilte Softwaresysteme haben besondere Anforderungen an Stabilität und Sicherheit des Systems. Mit steigender Komplexität wird es immer schwieriger durch geplante Tests die Qualität des Gesamtsystems zu erfassen. Selbst wenn alle Komponenten einzeln funktionieren, so kann durch das Zusammenspiel von vielen Komponenten zu unvorhersehbaren Ereignissen führen. Diese Eigenschaften, führen bei Fehlern in diesen Systemen zu einem chaotischem Zustand, der unvorhersehbare Folgen hat.

Beim Chaos Engineering geht es darum, dieses chaotische Verhalten unter Testbedingungen zu erzeugen, zu kontrollieren und dadurch Wissen über die Qualität des Gesamtsystems erlangen. Werkzeuge unterstützen dabei, das Chaos zu erzeugen und die Auswirkungen zu kontrollieren. Damit der Test und das daraus resultierende chaotische Verhalten des Gesamtsystems, keine gravierenden Auswirkungen auf das produktive Geschäft hat, beschäftigt sich das Chaos Engineering mit der Frage, wie man solche Tests sicher durchführen kann.

In diesem Vortrag werden die Prinzipien von Chaos Engineering, Werkzeuge die demonstrieren, wie man es programmiert und ein Beispiel aus der Praxis vorgestellt.

3. Migrating a legacy Windows application to Linux (Stefan Schukat & Carsten Igel)
Mit neuen Anforderungen von Kunden, Produkte nicht nur unter Windows sondern auch unter Linux ausführen zu können, mussten wir eine Weg für unsere Windows Applikationen finden, diese Anforderung zu erfüllen. Aus Performancegründen kam für unsere Applikation eine Ausführung in einem Emulator nicht in Betracht. Insofern mussten wir einen Weg finden den Legacy Code nativ für Linux zu portieren. Wie es sich für eine gute Legacy Windows Applikation gehört, hatten wir viele Arten von windowsspezifischen Technologien irgendwo in unserem Code vergraben, von so alten Schätzchen wie COM oder auch neueren wie WCF. Als Startpunkt hatten wir damit eine Menge an C++ und C# Code, den es dann zu durchforsten und zu analysieren galt. Dabei kam es uns zugute, dass die Produkte allesamt nichts mit UI zu tun hatten.

In der Session berichten wir über unseren Weg, wie wir die einzelnen Schritte der Portierung durchgeführt haben. Dabei zeigen wir für jeden Schritt, welche technischen Herausforderungen aufgetreten und wie wir diese angegangen sind. Da es nicht immer nur einen Weg zur Lösung gab, beschreiben wir die Sackgassen und Schnellstraßen aber auch unsere Kriterien für Portierbarkeit.