Workshoptag Montag 29. November

  • .NET 6 und C#10 Neuerungen im Überblick

    .NET 6 bringt eine Reihe von interessanten Neuerungen mit. Dieser Workshop umfasst einen praxisorientierten Überblick sowohl über neue Features und Tools für Base Class Libraries, als auch für ASP.NET Core, Blazor, Entity Framework Core und WPF sowie WinForms. Ein Blick auf .NET MAUI soll auch gestattet sein. Einher geht dies mit den interessanten Neuerungen von C#10, welche die Arbeit bei der Programmierung an der einen oder anderen Stelle um einiges vereinfachen und richtig gehend elegant machen.
    Ein kleiner Mini-Auszug:
    • C#10: File Scoped Namespace, Implicit Namespace Imports, …
    • .NET: PriorityQueue, Open Telemetry (Meter), …
    • ASP.NET Core: Minimal API, HTTP/3, …
    • Blazor: PageTitle, Error Boundaries, …
    • Entity Framework Core 6.0: Temporal Table, Pre-convention model configuration, …
    Dieser Workshop mit Thorsten Kansy hat also alles was Sie benötigen, um mit der neuen .NET Version so richtig loslegen zu können- schließlich ist dies ab 09.11.2021 die aktuelle Version und wird die nächsten drei Jahre von Microsoft supportet.
    Voraussetzungen: Grundkenntnisse mit .NET (Core) und C# sind auf jeden Fall empfehlenswert. Zum Einsatz kommt Visual Studio 2022 in seiner neuesten Version.
    Thorsten Kansy
    Dieser Workshop findet nur virtuell statt!

  • Konferenztag Dienstag 30. November

  • Keynote: Microsoft Datacenter Region in Österreich - Was bedeutet das und wie können Sie davon profitieren? (Raum 1)

    Lassen Sie uns über die angekündigte Microsoft Datacenter Region Austria East sprechen.
    - Was bedeutet die Ankündigung wirklich aus technischer Sicht?
    - Wie sieht ein Microsoft Datacenter in der Praxis aus?
    - Welche physische Infrastruktur können Sie in der österreichischen Region erwarten?
    - Welche Dienste wird es dort geben?
    - Wie können Sie von der Region Österreich profitieren?
    - Wie können Sie die Gestaltung der österreichischen Datacenter-Region beeinflussen?
    Thomas Vater
  • Einführung in Azure DevOps (Raum 1)

    Grundlagen und kleine Einführung in Azure DevOps.
    André Ruland
  • Einsatz der Hololens in der Neurologie (Raum 2)

    Holografie wird eigentlich immer nur mit Gaming oder coolen Show Cases in Verbindung gebracht. Die Präsentationen für die Hololens, Microsofts Mixed Reality (MR) Device, sind beeindruckend, nur leider sehen die Wenigsten einen wirklichen Anwendungsfall dafür. Das Gleiche gilt für die Augmented Reality (AR). Außer ein paar Apps, wie Pokemon Go oder dem virtuellen Maßband ist nicht viel praktisches damit entstanden. Ist die Zeit doch noch nicht reif oder wurden die Möglichkeiten nur noch nicht entdeckt? Ich hatte die Möglichkeit mit Hilfe dieser Technologien wirklich nützliche Dinge zu entwickeln. Ob nun für die Hololens (Version 1) oder das Mobiltelefon. Nützlich, weil die Möglichkeiten allein auf dem Gebiet der Medizin (Neurologie) schier endlos erscheinen. Ich möchte in dieser Session ganz praktisch zeigen wie die Hololens als Hilfsmittel in der Therapie eingesetzt wird, wie das Mobiltelefon "wegweisend" sein kann und warum es großartig ist, mal über den ERP/CRM/CMS-Enterprise-Tellerrand hinauszuschauen.
    Jan Fellien
  • Design Patterns vs. Performance (Raum 3)

    Die SOLID-Prinzipien sowie viele Design Patterns und Best Practices prägen die Gestaltung von LOB-Apps und gelten für viele Entwickler als Fundament bei der Implementierung von fachlichen Anforderungen. Doch in den letzten Jahren bekam Performance-Optimierung einen ganz neuen Stellenwert in der Entwicklung, nicht nur weil viele Cloud Apps nach Speicherverbrauch und Rechenzeit abgerechnet werden. Microsoft selbst legt mit .NET Core und jetzt .NET 5 ebenfalls viel Wert auf gute Performance by Default. In diesem Talk stellen wir die Erkenntnisse aus der Performance-Optimierung den Vorgaben der Design Prinzipien und Patterns gegenüber und diskutieren, welche Schlussfolgerungen wir ziehen müssen, damit wir testbaren, leicht wartbaren Code erzeugen, der standardmäßig gut skaliert. Dabei besprechen wir v.a. asynchrones Programmieren und Speicherabbilder im Kontext von gängigen Prinzipien und Muster.
    Kenny Pflug
  • Kickstart Dein erstes IoT Projekt – mit Azure und deinem Smartphone (Raum 1)

    Mit Azure IoT Central kann man schnell Daten von IoT Geräten in die Cloud bringen und dann zügig zu einer ersten Idee kommen. So erhält man schnell einen Überblick, wie sich die erste Idee darstellt und kann schnell Ergebnisse erzielen. In dieser Session möchte Ich Euch zeigen, wie man Azure IoT Central nutzen kann um z.B. das Smartphone als IoT Device verwenden kann. Wir streifen dabei die meisten Feature von Azure IoT Central und werden die ersten Daten live in der Cloud anschauen. Am Ende kannst Du dann mit Azure IoT Central starten und Dein Projekt einem ersten Test unterziehen.
    Ralf Richter
  • Amazon Web Services in Action - Let's go serverless! (Raum 2)

    Wie schnell lässt sich eine hoch verfügbare und skalierbare APP bereitstellen? Dieser Frage gehen wir auf den Grund und zwar durch den Einsatz von verschiedenen Services aus AWS (Amazon Web Services). Wir wenden das ganze praktisch an und erstellen eine kleine aber feine TODO App. Hierfür werden wir folgende Services aus AWS kennenlernen: API Gateway, Lambda Functions (mit .NET Core / C#), DynamoDB, IAM (Identity Access Management).
    Alexander Eiswirth
  • Geht's auch ein bisschen weniger komplex? (Raum 3)

    Komplexität begegnet uns jeden Tag in der Softwareentwicklungs-Branche. Ein Teil davon ist probleminhärent und muss durch die Softwarelösung abgebildet werden. Oft sind aber auch erhebliche Teile der Komplexität bedingt durch die Lösung an sich, was es nicht nur aus Gründen der Entwicklungseffizienz zu vermeiden gilt. Unklarer Code, unpassende Architekturentscheidungen oder Limitierungen in den zugrundeliegenden Technologien können Ursachen überbordender Komplexität sein. Der Vortrag zeigt auf, was mit Komplexität eigentlich gemeint ist, wie man sie erkennt und gibt ein paar Tipps zur Vermeidung unnötiger Komplexität.
    Michael Brunner
  • Azure Static Web Apps mit Blazor - von a - z (Raum 1)

    In dieser Session steht die Azure Static Web App im Fokus mit Blazor als Web Assembly. Die Static Web Apps (SWA) bieten sich für moderne Anwendungen an, da sie schon viel mit bringen. Die Features der SWA, was es zu beachten gibt und wie man mit Blazor eine SWA erstellen kann zeige Ich in dieser Session. Dabei streifen wir die meisten wichtigen Themen, die es bei der Entwicklung mit SWA zu beachten oder bedenken gibt. Damit solltest Du selber schnell einen Einstieg finden in die Welt der SWA.
    Ralf Richter
  • Web-enabling für Windows Forms-Projekte (Raum 2)

    Nachdem viele Jahre mit C# und VB.NET auf Basis Windows Forms für den Windows-Desktop entwickelt wurde, sind diese Lösungen plötzlich "out". Alle wollen ins Web! Die guten alten Geschäftsanwendungen sollen im Browser laufen. Doch das lässt sich nicht mal einfach so umstellen. Müssen viele Personenjahre an Entwicklung erneut investiert werden? Gibt es keinen leichtgewichtigen Weg ins Web? Im Rahmen des Vortrags stellen wir mögliche Ansätze für ein Web-enabling vor und demonstrieren mithilfe von Wisej, wie aus einer Windows Forms-Anwendung eine Single-Page-Application wird. Am Ende der Session sind wir im Web und die Lösung läuft im Browser... versprochen!
    Jens Eidinger
  • Securing ASP.NET Web APIs With Azure Active Directory (Raum 3)

    Securing a web API is a common talk. It shouldn't be complicated. Luckily, it isn't if you can use an existing Azure Active Directory infrastructure. In this session, Rainer Stropek demonstrates how to secure ASP.NET web APIs with Microsoft's latest version of its Identity Platform. He introduces you to key API-related AAD terms, shows how to automate the necessary AAD- and Azure-configuration, demonstrates how to secure a given ASP.NET 5 web API with the corresponding packages, and closes by connecting an AAD-protected SPA (Angular).
    Rainer Stropek
  • Azure Percept und die Lehren aus dem IoT-Boom (Raum 1)

    Durch den Industrial IoT-Boom der letzten Jahre haben immer mehr Unternehmen begonnen Services in diesem Bereich anzubieten und noch mehr, diese aktiv zu nutzen um schneller und einfacher Sensordaten zu sammeln und auszuwerten. Dabei wurde unter anderem deutlich, dass vor allem die oft versprochene schnelle Integration der IoT-Lösung in den Betrieb mehr Wunsch als Realität war. Von der Beschaffung industrietauglicher Sensor-Hardware über die Frage, wie die Geräte gegen unautorisierten Zugriff geschützt werden können bis zur nicht unbedingt trivialen Möglichkeit Softwareupdates auf die Geräte zu bringen. Mit Azure Percept hat Microsoft versucht, eine ganzheitliche Antwort auf diese Fragen zu finden. Das aus zusammen mit Intel entwickelten VPU-gestützten Kamera, „microphone array" und companion board bestehende Percept baut auf dem von Microsoft Research entwickelten DICE (Device Identifier Composition Engine) Konzept auf, das besonderen Schutz der Daten gewährt. In diesem Talk blicken wir detaillierter hinter die Kulissen des Geräts und sehen uns live anhand eines vor Ort befindlichen Azure Percept an, wie Daten gesammelt, diese „on the edge" direkt am Gerät ausgewertet und – bei Bedarf – aggregierte Teile weiter in die Cloud gesendet werden können.
    Christian Vorhemus
  • Clean Architecture im Web (Raum 2)

    Was ist eigentlich "Clean Architecture"? Dabei handelt es sich um einen Softwarearchitekturstil, der ursprünglich von Robert C. Martin (Uncle Bob), dem Autor von Clean Code, entwickelt wurde. Eine gute Architektur ist wesentlich für den Aufbau einer skalierbaren, modularen und wartbaren Anwendung. Unterschiedliche Softwarearchitekturen, können sich in den Details der Implementierung unterscheiden – aber verfolgen alle das gleiche Ziel: Separation of Concerns – Aufteilung der unterschiedlichen Funktionalitäten in mehrere Schichten. Das Hauptziel von "Clean Architecture" ist es jedenfalls, den Code unter Kontrolle zu halten. Im Rahmen dieses Vortrags sehen wir anhand einer Webanwendung, wie dies in der Praxis einfach umgesetzt werden kann.
    Konstantin Kletzander
  • .NET 6 Neuerungen im Überblick (Raum 3)

    .NET 6 bringt eine Reihe von interessanten Neuerungen mit. Diese Session gibt Ihnen eine Übersicht was es Neues für Base Class Libraries, als auch für ASP.NET Core, Blazor, Entity Framework Core, sowie .NET MAUI, WPF und WinForms gibt. Erfahren Sie von Thorsten Kansy kurz und kompakt was es Neues gibt.
    Thorsten Kansy
  • Formularerkennung mit Azure (Raum 1)

    KI-basierte Dokumentextraktion, die Ihre Formulare wirklich versteht. Zusätzlich zur bekannten Texterkennung werden die Informationen, teilweise automatisch, Datenfelder zugeordnet. In dieser Session zeigt André Ruland was heute möglich ist, was es kostet und welche Probleme es immer noch gibt. Mit konkreten Beispielen und praxisorientierten Lösungen.
    André Ruland
  • Azure Functions in .NET 6 (Raum 3)

    It took a while until serverless Azure Functions could be developed using the latest and greatest version of .NET. In this session, Rainer Stropek demonstrates how you use .NET 6 to develop Azure Functions. As you will see, they are different in many ways from what you might already know from .NET Framework or .NET Core 3.1. Rainer assumes that you have good C# and .NET skills and at least basic knowledge about Azure. You do not need to be an Azure Functions expert for this session.
    Rainer Stropek
  • Paneldiskussion - Wie gut ist .NET 6? (Raum 1)

    ADC Referenten

  • Konferenztag Mittwoch 1. Dezember

  • Modern Serverless Applications with Azure Durable Functions, ACI and Docker (Raum 1)

    In the modern world of digital transformation and the increasing popularity of cloud technology, almost every single application becomes part of a more complex distributed system. With the help of Serverless services, some parts of applications can be implemented more easily and efficiently. In this session, you will learn how to implement and operate long-running applications using Azure Functions. You will learn about developing and monitoring long-running applications useful for integration scenarios. This deep-dive session demonstrates how durable functions can be used to deploy and monitor long-running processes composed in Docker containers and operated in the Azure Container registry. This session focuses on software architects and developers with the goal of designing and implementing modern enterprise applications. Demos in this session will include lessons learned and best practices from real enterprise customer projects.
    Damir Dobric
  • Wie erreiche ich eine sichere Public Cloud (Raum 2)

    Dieser Frage stellt sich Christian und erklärt seine Lösung in dieser Session.
    Christian Waha
  • Visual Studio 2019/2022 IDE - Tipps and Tricks for .NET Developers (Raum 3)

    In dieser Demo-Session erwarten euch wieder neue Tipps und Tricks für die aktuelle Version Visual Studio 2019 und interessante Erweiterungen, um euch bei der Software-Entwicklung zu helfen. Zusätzlich erhält ihr einen kurzen Überblick über Visual Studio 2022.
    Nina Pollak
  • Power BI für Entwickler (Raum 1)

    Dieser Vortrag zeigt die Möglichkeiten und Funktionen auf, mit Power BI Embedded Analytics Power BI-Inhalte wie Berichte, Dashboards und Kacheln in Webanwendung oder Website einbetten. Auch Runden die Grundlagen Power BI und die notwendigen Technologien und Kenntnisse für Power BI Developer den Vortrag ab.
    Klaus Blessing
  • Rapid Web Development mit Wisej (Raum 2)

    Wer ins Web will hat die Qual der Wahl: Nehme ich Angular, Blazor oder lieber ein anderes Framework? Welche Technologie ist mittelfristig für mein Projekt geeignet? Mit Rapid Web Development lassen sich die Vorzüge klassischer Entwicklungsansätze mit der Geschwindigkeit des Rapid Prototypings verbinden, um webbasierte Lösungen in C# mit Visual Studio zu realisieren. Dank der Wisej-Technologie entstehen so komplexeste Unternehmenslösungen. Das probieren wir gemeinsam aus und bauen in nur einer Stunde eine Web-Anwendung mit Datenbank-Anbindung, verschiedenen Erweiterungen und nutzen den WYSIWYG-Designer in Visual Studio, um auf das Pixel genau die Oberflächen zu gestalten.
    Thomas Althammer
  • Architecting for Quality: Qualität methodisch herbeiführen (Raum 3)

    „Wir können auch ohne Qualität". Aus voller Überzeugung. Haben Sie das schon einmal gelesen? Nein? Ich auch nicht. Auch wenn es manchmal ehrlicher wäre. Stattdessen: „Nur die beste Qualität". „Das Jahr der Qualität". „Qualität ist unser Markenzeichen".
    Qualität ist ein Muss - das zeigen die unzähligen Initiativen und Werbeslogans der Firmen, die schon aus Prinzip nicht schlechter dastehen können als die Konkurrenz (zumindest dem Anschein nach). Und das sind so ziemlich alle. Die Softwareentwicklung macht da selbstverständlich keine Ausnahme. Doch was Software-Qualität nun wirklich genau heißt, wie man sie misst und wie man sie erreicht – da wird es meist dann schon ziemlich dünn. Und manchmal ist eine ernsthafte Auseinandersetzung mit dem Thema auch gar nicht erwünscht.
    Also: was ist nun „Qualität"? Gute Wartbarkeit? Eine hübsche UI? Oder doch lieber Performance? Die Entwicklungsabteilung hat häufig eine ganz andere Vorstellung von Qualität als ein Produktmanager oder ein Usability Experte. Dabei hat sind all diese Aspekte mögliche Qualitäten, wie dies beispielsweise die ISO 25010 beschreibt. Die Frage ist nur, welche Qualitätsattribute für ein spezielles Softwaresystem wirklich relevant sind und wie wir sie herbeiführen können – so dass der Satz „unser System hat eine hohe Qualität" keine Floskel bleibt sondern eine belegbare Aussage wird.
    Architecting for Quality - das bedeutet Qualität explizit zu machen und als treibenden Faktor der Architekturarbeit zu begreifen.
    Dieser Vortrag erläutert, wie Qualität – begonnen bei der Anforderungsanalyse, über den Entwurf bis hin zu Implementierung und Test - methodisch herbeigeführt werden kann. Eine zentrale Rolle nimmt die Einflussfaktorenanalyse ein, welche neben funktionalen Anforderungen und Randbedingungen ganz besonders die Qualitätsanforderungen an das System betrachtet. Dabei sind Qualitätsszenarien ein wichtiges Werkzeug, mit dem kritische Faktoren präzisiert und messbar gemacht werden. Weiterhin werden die Faktoren hinsichtlich Flexibilität, Veränderlichkeit und Einfluss analysiert, um sie anschließend zu priorisieren und passende Entwurfsstrategien ableiten zu können. Anhand der Implementierung kann schließlich überprüft werden, ob die vorher definierten Qualitätsziele erreicht wurden.
    Lutz Marquardt
  • Umstellung Xamarin auf MAUI (Raum 1)

    tba
    Hannes Preishuber
  • Quantum Computing Basics (Raum 2)

    Grundlegende Informationen rund ums Thema „Quanten Computing".
    Christian Waha
  • Moderne Desktop-Apps mit WinUI 3 (Raum 3)

    Mit WinUI 3 entsteht gerade der neueste Vertreter von GUI-Technologien für Windows. Technisch werden die XAML-Controls und die XAML-Runtime der Universal Windows Platform (UWP) aus dem Betriebssystem entkoppelt und als NuGet-Paket bereitgestellt. Anders als vorher können nun auch klassische Desktop-Applikationen nach dem Win32-Modell mit diesem Framework entwickelt werden. Andere Eigenschaften wie etwa die Unterstützung für C++ Applikationen bleiben erhalten. In Summe hat WinUI das Potential, die Basis für moderne Windows-Desktopentwicklung zu werden.
    Roland König
  • Überblick: ASP.NET Core Blazor (Raum 1)

    tba
    Hannes Preishuber
  • Monolith als Design Pattern (Raum 3)

    Ich gebe zu: Ich liebe Monolithen. Ja, das entspricht zwar vielleicht nicht dem Hype und ist nicht cool. Aber es gab eine Zeit, da haben wir noch Software entwickelt. Ist es wirklich besser, schlechten Code auf viele Microservices zu verteilen? Dieser Vortrag nimmt Sie mit auf eine kontroverse Reise durch das Tal der Monolithen.
    Stephan Hüwe
  • Postnote: Technical Deep Dive into AI and Machine Learning Architecture for .NET Developers (Raum 1)

    The session is about evaluation of options that are available in Machine Learning designs for .NET developers. We are going to cover ready-to-use Machine Learning algorithms in .Net and learn how to leverage your custom models directly in your .Net applications, as well as we will deep dive into architectural designs and understand how AutoML, AzureML, Databricks, Kubernetes, Redis and other components are fit into what kind of E2E scenarios. There is also a part of applying a quick ML scenario in .Net Core with hands-on implementation.
    The session will be held in English.
    Gülden Bilgütay
  • Paneldiskussion - Wie sieht die Zukunft von .NET und C# aus? (Raum 1)

    ADC Referenten