Vorträge

RSS
Geändert am Fr, 27 Mai 2016 08:25 von Manuel Stelter Kategorisiert als Nicht kategorisiert

Implementieren von OpenID Connect und OAuth 2.0 mit IdentityServer

Dominick Baier

OpenID Connect und OAuth 2.0 ist der Security Stack für moderne Anwendungen. IdentityServer ist ein Open Source Framework, das die Implementierung dieser Protokolle sehr einfach macht. Dieser Vortrag soll den Einstieg in den Themenkomplex vereinfachen.

(Level 200)

How ReSharper is put together: architecting an enormous code base

Serge Baltic

JetBrains ReSharper code base is huge and multi-faceted: it is used to create 11 end-user products and provide support for 14 different programming languages. Dealing with code of this size and complexity without going nuts requires lots of discipline, and then some architecture. In this session, you'll learn how ReSharper is designed internally: how it's split into components and how dependencies are managed between them, how feature sets and entire products are drawn using something called "zones". You'll also find out how all this is built and deployed, how the Continuous Integration server runs a graph of 48 dependent builds, and how NuGet packages are used as first-class compilation units.

(Level 100, Vortrag in engl. Sprache)

Projekt Werner: Leben ermöglichen mit WPF und einer 3D Kamera

Gregor Biswanger

Mein schwerbehinderter Bruder Werner ist Spastiker. Er sitzt im Rollstuhl und hat keine Kontrolle über seine Arme und deutlich sprechen kann er auch nicht. Gefangen im eigenen Körper, ist es ihm nur extrem schwer möglich mit anderen Menschen zu kommunizieren. Inspiriert von der Software für Stephen Hawking, wurde die Open-Source Software "Projekt Werner" geboren. Dank dieser ist es schwerbehinderten Menschen möglich, mit Gesichtsgesten über den Computer zu kommunizieren. Der Vortrag geht zum einen auf technische Details zu 3D Kameras und Eye Tracking ein. Zum anderen stellt er die modulare WPF-Architektur der Software vor, dank der zahlreiche Entwickler daran mitwirken können, was auch für andere Projekte mit größeren Teams interessant sein kann. Der Vortrag ist ideal für alle, die mit ihrem Können etwas Gutes vollbringen wollen.

(Level 100)

Brieftaube 2.0: E-POST aus der Azure-Cloud

Gordon Breuer

Bereits die Babylonier schrieben Briefe in Form von Tontafeln und selbst heute, im digitalen Zeitalter, nimmt der schriftliche Brief – liebevoll „Snail Mail“ genannt – noch einen großen Stellenwert ein: Über 20 Milliarden Briefe werden jährlich alleine durch die Deutsche Post zugestellt. Doch statt Tontafel und Brieftaube steht einem heute die E-POST zur Verfügung.

In dieser Session demonstrieren wir, wie ein modernes Office365-Plugin für Word entwickelt wird, um E-Postbriefe direkt aus der Textverarbeitung heraus zu versenden. Als dynamisch skalierendes Backend kommen dabei verschiedene Dienste aus Microsoft Azure zum Einsatz. Die Projektplanung, Entwicklung und das Deployment werden durch die Visual Studio Team Services unterstützt. Wir demonstrieren, wie die unterschiedlichen Funktionen der TFS-Cloud-Lösung in der Praxis tatsächlich genutzt werden können, einschließlich der automatischen Veröffentlichung neuer Test- und Produktiv-Versionen auf Knopfdruck mit Hilfe des Release-Managements.

(Level 200)

C# + SQL = Big Data

Sascha Dittmann

Wer heutzutage in Big Data Projekten involviert ist, kommt an Hadoop-Tools, wie beispielsweise Hive, Spark oder Storm kaum noch vorbei. Doch wie sieht es mit den Microsoft Bordmittel, genauer gesagt Visual Studio, C# und T-SQL, aus? Dieser Frage geht Sascha Dittmann in dieser Session nach. Er zeigt anhand von Codebeispielen, und dem im April 2015 vorgestellten Dienst Azure Data Lake, wie eine Umsetzung auch mit reinen Microsoft Tools möglich ist.

(Level 200)

Protect your Code against Reverse Engineering

Günther Fischer

Wie schütze ich meine Software sicher gegen Raubkopien und vor Diebstahl meines geistigen Eigentums? Die Möglichkeiten dazu sind vielfältig und reichen von eigenentwickelten Methoden bis hin zur Integration eines professionellen Softwareschutzes. Um einen guten Schutz zu implementieren, sollte man wissen, wie Cracker vorgehen. In diesem Vortrag werden einige Methoden und Tools aufgezeigt, die Hacker heute nutzen, und welche Gegenmaßnahmen Sie ergreifen können.

(Level 100)

WPF XAML Performance Boost

Christian Giesswein

Mit XAML können wunderschöne Anwendungen mit WPF erstellt werden. Doch gerade komplexere Anwendungen haben meistens das Problem: die Performance! Mit komplexen Strukturen und Views geht die Performance in den Keller und die WPF Anwendung verhält sich alles andere als schnell. Zeit dies zu ändern, und das ist das Ziel in dieser Session: Mehr Performance! Mehr XAML! Bessere WPF Anwendungen.

(Level 300)


Datenbindung Deluxe – Deep Dive in das Binding von WPF

Christian Giesswein

Wer mit WPF arbeitet wird mit dem Syntax {Binding} sehr vertraut sein. Das gerade die typischen Bindings in WPF auch mal zickig sein können und nicht so funktionieren wie sie sollten, kennt auch jeder WPF Programmierer. Viel spannender ist aber doch die Frage: Wie funktioniert denn dieses Binding überhaupt? Wie schnell ist es? Und welche Vorteile kann man durch eine korrekte Implementierung erhalten? Wer geglaubt hat, er kennt alle Details über das Binding in WPF wird in dieser Session sein blaues Wunder erleben – Deep Dive in das Binding von WPF abseits von MVVM und XAML.

(Level 400)


Lunch Session: Visual Studio Code 1.0

Kay Giza | Holger Wendel

Der leistungsstarke, schnelle Code-Editor zum Entwickeln und Debuggen moderner Cloud- und Webanwendungen, steht seit 14. April als Versionen 1.0 für Linux, OS X und Windows kostenlos zur Verfügung. Der Open Source Code-Editor unterstützt u.a. JavaScript, TypeScript, C++, HTML, CSS, C#, Python, PHP, F#, Node.js, JSON, Go und viele weitere. In dieser Session erfahren Sie von Holger Wendel und Kay Giza eine Einführung zu Visual Studio Code, Tipps & Tricks sowie die ersten Schritte und natürlich – wie man #VisualStudioCodeInsider wird. Made in Switzerland!

(Level 100)


Entity Framework 7

Thomas Haug

Mit der Version 7 des Entity Frameworks will Microsoft dem in die Jahre gekommene Entity Framework einer Rundumerneuerung zuteil werden lassen. Alte Zöpfe werden abgeschnitten: der ObjectContext wird zugunsten des DBContexts aufgegeben und das Framework wird sich fortan stärker auf Code-First fokussieren. Dafür wartet das Framework mit einigen Neuerungen auf: neben Performance- und Ressourcen-Optimierungen wird das Entity Framework ab Version 7 auch andere Repositories als SQL Datenbanken unterstützen. In dieser Session werden diese Änderungen am Framework vorgestellt und gezeigt was sich für Entity Framework 6 Entwickler ändern wird.

(Level 200)

Event Storming

Marco Heimeshoff

Event Storming - das ist effektives und gemeinsames Modellieren von komplexen Geschäftsprozessen. Mit Post-Its, Stiften und viel freier Fläche entwerfen wir ein umsetzbares Domänenmodell. Dabei wird zunächst ein gemeinsames Verständnis der Domäne anhand von realen Schlüssel-Ereignissen (Events) gefunden, durch das Inkonsistenzen und Reibungspunkte zuverlässig entdeckt werden. Es folgt die Suche nach natürlichen Modellgrenzen und die Partitionierung des Domänenmodells. Das Ergebnis ist ein Softwareentwurf, der die fachlichen Erfordernisse vollständig berücksichtigt und die Zusammensetzung des Systems nach Domain Driven Design (DDD) vorgibt. Marco Heimeshoff zeigt ihnen in diesem Talk, wie sie mit Freude an Kollaboration und bunten Post-Its in kurzer Zeit zu implementierungsnahen Domänenmodellen kommen. Er spricht Verbindungen von Event Storming zu DDD, CQRS und Event Sourcing an und gibt Tipps für den Einsatz im eigenen Unternehmen.

(Level 200)

Functional Domain Driven Design

Marco Heimeshoff

Domain Driven Design (DDD) legt den Fokus der Entwickler auf das Verhalten des Business und auf Modellieren in einer gemeinsamen Sprache zwischen Kunden und Entwicklern. Klassisch werden dabei objektorientierte Domänenmodelle implementiert, aber DDD lässt einem bei der Wahl des Paradigmas vollkommene Freiheit. Statisch typisierte funktionale Sprachen wie F# eröffnen alternative Möglichkeiten mit Typen und Modellen die Domäne zu designen. Funktionale Typen erlauben eine natürlichere Modellierung als mit OO möglich wäre, und die entstehende Representation der Domäne ist dabei noch selbst-dokumentierend. Häufig lassen sich Businessregeln sogar so implementieren, das man mit ihnen gar kein inkorrektes Verhalten coden kann. Sozusagen ein automatischer Unittest durch den Compiler. Ich möchte mit euch gemeinsam erforschen, wie natürlich und elegant Domänen mit funktionalen Typen modelliert werden. Kein Vorwissen in DDD, F# oder funktionaler Programmierung erforderlich.

(Level 200)

TypeScript - Gut genug für große Anwendungen? Oder nur Brückentechnologie für Ihr nächstes Projekt?

Peter Hecker

TypeScript wurde 2012 von Microsoft vorgestellt. Obwohl TypeScript moderne OO-Sprachelemente wie Klassen, Interfaces, Vererbung, Module, anonyme Funktionen, Generics etc. enthält, war die erste Resonanz auf diese neue Programmiersprache verhalten, insbesondere weil es aus dem Hause Microsoft stammt. Aber nach der Ankündigung von Google die Version 2 von AngularJS in TypeScript zu implementieren, hat sich die Meinung über TypeScript geändert. Insbesondere bei großen Anwendungen soll TypeScript wegen seiner Eigenschaften vorteilhaft sein. Das sollte man untersuchen. In diesem Vortrag stellt Ihnen Peter Hecker TypeScript aus verschiedenen Perspektiven dar.

  • TypeScript - Die Sprache
  • TypeScript und Desktop und Mobile Anwendungen
  • TypeScript - Fazit und Ausblick

(Level 200)

Kryptografie oder warum Threema sicherer als WhatsApp und iMessage ist

Moukarram Kabbash

Die wichtigsten Erkenntnisse der NSA-Enthüllung, des Passwort-Lecks bei eBay, Adobe und 000webhost, des Einstellens von TrueCrypt und des Aufstiegs der verschlüsselten Messaging-Apps lautet "durchdachte, richtig implementierte Kryptografie ist wichtiger denn je". Ransomware, wie z.B. CryptoLocker, zeigt sogar, dass Kryptografie in den falschen Händen zur Waffe werden kann.

In diesem Vortrag werden die Grundbausteine der Kryptografie vorgestellt. U.A. werden Hashing-Algorithmen, symetrische und asymettrische Verschlüsselungsalgorithmen angesprochen. Es wird demonstriert, wie Kryptografie-Experten aus diesen einfachen Bausteinen komplexe kryptografische Protokolle und Systeme konstruieren.

(Level 200)


Automapper - Einführung und praktische Beispiele

Thorsten Kansy

Diese Session zeigt Ihnen wie sie diesen "Convention-based object-object mapper" in eigenen Projekten effektiv eingesetzt werden kann. Grundlagen und ein praktische Beispiele zeigen was geht und wie’s gemacht wird.

(Level 100)

SQL Server 2016 - Die spannenden Neuerungen

Thorsten Kansy

SQL Server 2016 ist die neuste Version von Microsofts Datenbanksystem. In dieser Session stellt Ihnen Thorsten Kansy die neue Funktion komprimiert und unterhaltsam vor und zeigt in ausführlichen Beispielen wie sie einfach eingesetzt werden können. Zu diesen Neuerungen gehören u.A. System Versioned Tables, Row Level Security, Dynamic Data Masking, JSON-Support, etc.

Erfahren Sie so, welche der neuen Features für Ihre nächstes Projekt, das richtige ist.

(Level 300)

Lunch Session: Hot and spicy!

Constantin Klein

Nach einer kurzen Pause im letzten Jahr möchte ich die Tradition fortsetzen und mit Euch zum Mittag über die Tops, Flops und Hypes der Branche diskutieren.

Ich freue mich auch in diesem Jahr auf eine hoffentlich kurzweilige und sehr interaktive Lunch-Session, in der ich meine persönliche Liste an heißen Themen aus den Vorjahren wieder aufgreife und, ergänzt um einige neue Trends, mit Euch reflektiere. Und natürlich werde ich darstellen welche dieser Themen ich für wirklich relevant halte und warum.

Ich freue mich zur Lunchtime auf Euch!

(Lunch Session, Level 100)

Database Lifecycle Management – Next Level Database Development

Constantin Klein

Ein Großteil des existierenden .NET-Codes steht unter Quellcodeverwaltung, und bereits heute verwenden viele Anwendungsentwickler irgendeine Art von Continuous Integration. Application Lifecycle Management, Continuous Delivery und DevOps sind inzwischen unter Anwendungsentwicklern viel beachtete und diskutierte Themen. Die Datenbankentwickler hinken an dieser Stelle leider ein wenig hinterher. Dabei sind gerade die Daten das Herzstück einer Anwendung und Änderungen an Datenbankstrukturen daher besonders komplex. Der erste Schritt, um eine Verbesserung herbeizuführen ist es, die Datenbank ebenfalls unter Quellcodeverwaltung zu stellen. Das erleichtert die Zusammenarbeit mit anderen Teammitgliedern und ermöglicht ein einfacheres Deployment. Es bildet aber auch die Grundlage für Continuous Integration sowie für automatisiertes Testing. In dieser Session werden Sie sehen, wie Sie diesen ersten Schritt gehen können, was Sie dabei beachten müssen und welche Möglichkeiten Visual Studio mit den SQL Server Data Tools (SSDT) für Sie bereithält.

(Level 300)

Die deutsche Cloud by Microsoft

Raphael Köllner

Am 11.11.2015 kündigte Satya Nadella eine deutsche Microsoft Cloud an und wir kommen dem prognostizieren Releasetermin immer näher. Was steckt hinter der deutschen Cloud von Microsoft und wie können wir als Entwickler diese nutzen, diese und weitere brennende Fragen werden in dieser Session geklärt. Wir blicken gemeinsam hinter die Kulissen der deutschen Microsoft Cloud.

(Level 200)

Entity Framework 6 hinter den Kulissen - das macht es wirklich

André Krämer

Viele Entwickler nutzen das Entity Framework als Blackbox. In diesem Vortrag wollen wir das Entity Framework entzaubern und einen Blick in die Blackbox werfen. Dabei werden wir darüber sprechen, was bei der Initialisierung des Entity Frameworks geschieht, wie der Status von Entitäten verwaltet wird und auch diskutieren, ob Sie auf dem Kontext tatsächlich Dispose() aufrufen müssen. Wenn Sie also wissen möchten, was das Entity Framework wirklich mit Ihrer Datenbank macht, dann sollten Sie diesen Vortrag besuchen.

(Level 300)

Cross-Plattform-App-Entwicklung mit Visual Studio 2015: Xamarin und Cordova

André Krämer

Visual Studio 2015 bietet eine umfangreiche Unterstützung für die Entwicklung hybrider Apps auf der Basis von Apache Cordova. Außerdem ist es einfacher als je zuvor, ein neues Xamarin-Projekt aus Visual Studio zu starten. Dieser Vortrag zeigt Ihnen, wie die Entwicklung von Cross-Plattform-Apps unter Visual Studio 2015 sowohl mit Xamarin als auch mit Cordova funktioniert.

(Level 200)

Was bieten die Azure App Services für meine Anwendungen

Malte Lantin

Im Bereich Platform-as-a-Service hat Microsoft mit den App Services eine Sammlung von Diensten veröffentlicht, die einige etablierte Funktionen auf eine gemeinsame technologische Basis stellt und durch weitere Entwicklerdienste ergänzt. Doch wie unterstützen die App Services die Bereitstellung eigener Webservices und -sites? Warum sollte gerade bei der Integration bestehender SaaS-Angeboten und Services mit der eigenen Anwendung über die Nutzung der App Services nachgedacht werden? Die Antworten auf diese Fragen sowie eine Einordnung in die große Sammlung von Azure Entwicklerdiensten liefert diese Session.

(Level 200)


Neue Technologien für das moderne Web

Malte Lantin

Rund um das Thema Web gab es in den letzten 12 Monaten viel Neues von Microsoft. Malte Lantin wird einen kompakten Überblick über die wichtigsten Themen und Neuerungen in diesem Bereich geben. Mit dabei ist eine Einführung in ASP.Net Core 1.0, das neue Microsoft Web Tooling, ein paar Hintergründe zu Microsoft Edge, neue Services in Microsoft Azure, ein Blick in die Hosted Web Apps sowie neue intelligente Services für die eignen Anwendungen.

(Level 100)


Team Foundation Server 2015 – Perfekt für Teams mit wenig Zeit

Neno Loje

Mit der neuesten Generation seiner ALM-Plattform, dem TFS 2015, bringt Microsoft nicht nur einige lang vermisste Features und eine Reihe von Verbesserungen, sondern versetzt Entwicklungsteams in die Lage den kompletten „DevOps-Lifecycle“ abzubilden.

Erfahren Sie in diesem Vortrag wie man den Prozess von der Anforderung, über Implementierung und Test bis hin zur Auslieferung effizient und mit einem hohen Automatisierungsgrad abbilden kann.

Egal ob Sie den TFS schon nutzen, oder nutzen wollen – den Vortrag sollten Sie auf keinen Fall missen.

(Level 300)

Async/Await. Die Würfel sind gefallen!

Daniel Marbach

Microsoft und die Community haben entschieden. Alle SDKs für Azure bieten nur noch asynchrone APIs an. Der HttpClient im .NET Framework, ebenfalls nur noch asynchron. Weitere Sprachen wie JavaScript mit ECMAScript 7 und Google’s Dart adaptieren die Schlüsselwörter async/await. Die Würfel sind gefallen! Ihre Geschäfts- und Infrastrukturlogik wird immer mehr mit asynchronem Code in Berührung kommen. Um Ressourcenverschwendung, ungewollter nebenläufiger Zugriff auf schützenswerte Ressourcen oder sogar Deadlocks vorzubeugen, müssen wir unseren Code auf diesen Paradigmenwechsel vorbereiten. Es ist Zeit vermeidlich Altbekanntes wieder neu zu lernen. Erkunden Sie mit mir die Welt der asynchronen Continuations, den Unterschied zwischen CPU vs. IO-Bound, versteckte Stolperfallen wie Async Void oder Context Capturing und lernen Sie wie asynchrone Operationen in die Task Parallel Library integriert werden. Mit diesem Praxiswissen würfeln Sie für Ihre Projekte ein 6er-Pasch.

(Level 300)


Funktionale und asynchrone Pipelines mit C#

Daniel Marbach

Hier packen wir die „Puppen“ aus. Das Russian Doll Pattern wurde im Jahre 2004 in der JavaScript Community sehr berühmt durch seinen Pionier Robert Cornford. Das Pattern ermöglicht durch funktionale Komposition, Verhalten zur Laufzeit zu beeinflussen. In der Objektorientierten Programmierung kennt man ein ähnliches Konzept unter dem Namen Chain of Responsiblity. Dieses Pattern in .NET / C# wird am Beispiel einer Messagepump als Basis für eine fiktive Service Bus Bibliothek gezeigt und mit Async / Await kombiniert. Dadurch erhält man eine funktionale und gleichzeitig asynchrone Pipeline. Komm vorbei! Lass hier die Puppen tanzen.

(Level 300)


What every developer must know about threat analysis and writing secure code

Gad J. Meir

Today's world is full of security threats and incidents. Every security venerability is an open door for a potential hacker to break into your (or your customer's) systems. In today's environment every software project must consider security from the design phase and in all the other stages of the development process, including testing, deploying and day to day operations. Failing to do so might result direct and indirect financial damages and expose you to liability sues. In this talk we will introduce the modern world of cybercrime, its risks and its influence on the modern software usage and development process life cycle. Then we will discuss basic security practices and the methodology and guidelines of the Security Development Lifecycle (SDL) and how to implement it in different stages of the software development life cycle. Analyzing and thread modeling tools will be introduced and demoed. Security starts with awareness and with minimal effort you can make it much harder for an hacker to break your software system.

(Level 200, Vortrag in engl. Sprache)


Modern production time debugging

Gad J. Meir

In the field and at customers' site Visual Studio is not installed and you can't install it on production systems. Microsoft give you many tools that you can use in such environments that enable you to collect debugging and performance data without intervening with the IT operations. In this practical and demo based talk we will introduce and demo Debugging tools for windows, Dump analysis, Windows performance toolkit and many other tools and methods you can use to handle bugs and issues in customer's sites and test environments.

(Level 300, Vortrag in engl. Sprache)


Release Management - Deep Dive

Nico Orschel

Release Management vNext ist einer der Schlagwörter wenn es um TFS in der Cloud (VSTS) geht. Seit Update 2 ist es auch für den TFS 2015 verfügbar. Genau die richtige Zeit um sich mit der Plattform genauer auseinanderzusetzen. Im Vortrag berichtet Nico über die Erfahrungen der letzten Monaten mit Release Management in VSTS sowie den dazugehörigen Do's and Don’ts. Besondere Aufmerksamkeit genießen dabei typische hybride Kundenszenarien bei denen man einen bunten Mix aus Cloud- & On-Premise Infrastruktur vorfindet. Abgerundet wird der Vortrag mit Tipps und Tricks um die eigenen Prozesse als auch Software fit für Release Management zu machen

(Level 300)


Mit Machine Learning (nicht nur) gegen Stimmungsschwankungen

Patrick Schidler

Der Frühling ist eine wunderbare Zeit, sich mit seinen Gefühlen zu beschäftigen; also warum nicht das Angenehme mit dem Praktischen verbinden und sich einfach mal mit fühlenden und lernenden Maschinen auseinandersetzen? Diese Session beschäftigt sich daher mit AzureML, den Cognitive Services und PowerBI Embedded. Dabei wird ein besonderes Augenmerk auf die technische Integration dieser Dienste in bestehende Anwendungen und Prozesse gelegt. Außerdem werden kurz die Grundlagen des maschinellen Lernens, sowie des Datenschutzes und der Datenethik angesprochen. Getreu dem Motto: bei der Entwicklung lieber Schmetterlinge statt Bugs im Bauch.

(Level 300)

Entity Framework-Performance aus der Projektpraxis

Holger Schwichtenberg

Das Dataset stirbt aus und Entity Framework setzt sich damit als Datenzugriffsframework immer weiter durch. Doch immer wieder wird Entity Framework falsch eingesetzt und es kommt daher zu einem schlechten Leistungsverhalten. Dr. Holger Schwichtenberg setzt Entity Framework seit vielen Jahren in der Praxis ein – auch in "Big Data"-Projekten mit sehr vielen Datensätzen. Er zeigt in diesem Vortrag die typischen Herausforderungen und Stolperfallen beim Einsatz von Entity Framework. Der Vortrag berücksichtigt die Version 4.0 bis 7.0.

(Level 400)


Die Windows PowerShell in der Praxis

Holger Schwichtenberg

Die Windows PowerShell lässt sich heute für viele Alltagsaufgaben sowohl für einen Administrator als auch einen Softwareentwickler einsetzen. In diesem Vortrag erhalten Sie einen Überblick, was mit der PowerShell möglich ist, zum Beispiel: PCs und Testsysteme konfigurieren, Dateien automatisch organisieren, Berechtigungen übertragen, Backups erstellen, Netzwerkeinstellungen automatisieren, Active Directories zusammenführen, Software verteilen, virtuelle Maschinen steuern, Websites anlegen und vieles, vieles mehr. Zu Beginn gibt es einen kurzen Einstieg in die Features der PowerShell.

(Level 200)


Was bringt AngularJS 2.0?

Manfred Steyer

Als Nachfolger des populären und weit verbreiteten Frameworks AngularJS 1.x möchte Google mit Angular 2.0 eine neue Ära der Web-Entwicklung einläuten. In dieser Session lernen Sie dieses Framework „für das Web von morgen“ kennen. Dabei werden die grundlegenden Konzepte hinter der Architektur genauso beleuchtet, wie die modernen Web-Standards, auf denen Angular 2 basierte. Dazu zählen EcmaScript 6 (2015), Dekoratoren, TypeScript und Komponenten. Zusätzlich wird gezeigt, warum Google mit manchen Konzepten aus der Vorgängerversion brechen musste und wie sich mögliche Migrationspfade gestalten. Zur Abrundung wird der neue Rendering-Mechanismus, der neben einem Rendering in Web-Worker zur Steigerung der Performance auch ein serverseitiges Rendering im Zusammenspiel mit NodeJS und ASP.NET erlaubt, betrachtet.

(Level 100)


Web APIs mit ASP.NET Core MVC 1.0 - Deep Dive

Manfred Steyer

Als Nachfolger von MVC 5 und Web API 2 ist ASP.NET Core MVC 1.0 unter anderem das Framework für Web-APIs auf der .NET-Plattform. Diese Session zeigt anhand eines durchgängigen Beispiels, wie Sie damit in Ihren Projekten moderne und plattformübergreifende Services erstellen können. Dazu geht sie auf die vorherrschenden Konzepte aber auch auf die Unterschiede gegenüber ASP.NET Web API ein. Zur Abrundung wird gezeigt, wie Sie für Ihre auf ASP.NET Core MVC 1.0 basierenden Web APIs eine formale Beschreibung im Swagger-Format erstellen und daraus Proxies für den Client generieren lassen können.

(Level 400)


Docker - eine Einführung für Softwareentwickler

Rainer Stropek

Docker war in den Medien in den letzten Monaten eines der heißesten Themen. Spätestens seit Microsoft Docker in Azure unterstützt und Docker auch für Windows angekündigt wurde, haben sich viele Entwickler auf dieser Plattform gefragt, ob die Containertechnologie für sie relevant ist. Rainer Stropek (Azure MVP) möchte in dieser Session zeigen, warum das der Fall ist. Er erläutert kurz die Grundlagen von Docker und demonstriert danach die Funktionsweise an einem durchgehenden Beispiel. Wir arbeiten uns bis zum Betrieb von ASP.NET-vNext-Anwendungen in Docker-Containern vor. Anhand des Beispiel lernen Sie Docker kennen und können danach einschätzen, welche Auswirkungen Docker-Container auf ihre zukünftige Arbeit haben werden.

(Level 300)

Webhooks, REST und Azure Functions – Klebstoff für die Microservices

Rainer Stropek

Microservices schön und gut, aber Kunden wollen funktionierende Gesamtsysteme. Wenn ein Bug in VSTS angelegt wird, muss eine Message in Slack erscheinen und ein Task in der Zeiterfassung eingetragen werden. Wenn das Web-UI eine neue Bestellung meldet, muss jemand im SaaS-ERP den Produktionsauftrag generieren. Bis vor kurzem übernahmen Worker-Prozesse/Container/Jobs diese Aufgabe. Jetzt lernt Azure neue Tricks: Azure Functions erlauben es, kleine Code-Stücke in der Cloud zu hosten, die durch Events wie HTTP-Requests, Queue-Einträge etc. gestartet werden. In Verbindung mit Webhooks und RESTful Web APIs wird die Integration verschiedener SaaS-Lösungen zu einem Gesamtsystem wesentlich erleichtert. In der Session stellt Rainer Stropek, langjähriger Azure MVP und MS Regional Director, Azure Functions vor, zeigt sie anhand einiger Demos und erklärt das Betriebs- und Preismodell

(Level 200)

Node.js, NPM, Gulp & Co – Visual Studio lernt neue Tricks für Webentwicklung

Rainer Stropek

Für Webentwicklung auf der Microsoft-Platform gibt es im Moment sehr viel Neues zu lernen. Nicht nur, dass ASP.NET 5 und die CoreCLR einige grundlegende Änderungen bringen, die gesamte Toolsammlung für Webentwicklung ist nicht mehr wiederzuerkennen. Microsoft wendet sich verstärkt bestehenden, plattformunabhängigen Tools aus der Open Source Welt zu und integriert diese in die kommende Visual Studio Version. Das Ergebnis ist eine Vielzahl an neuen Werkzeugen, die auf den ersten Blick verwirrend wirkt. In dieser Session bringt Rainer Stropek Ordnung ins Chaos indem er drei der Tools vorstellt, die für Visual Studio Webentwicklung neu sind: Node.js, Gulp und NPM.

(Level 300)

Quo vadis Windows Bridge for iOS? Wo stehen wir, was soll das Ganze?

Robin-Manuel Thiel

Mit der "Windows Bridge for iOS" bietet Microsoft eine Open-Source Lösung an, um bestehende iPhone und iPad Apps auf Windows 10 zur portieren und dort nativ auszuführen. Eine ideale Möglichkeit für iOS-Entwickler, ihre Zielgruppe zu erweitern! In dieser Session wird ein Blick auf den aktuellen Stand der Entwicklung geworfen und gezeigt, was funktioniert und was nicht. Dabei wird das ganze Projekt kritisch unter die Lupe genommen und gemeinsam diskutiert.

(Level 100)

Lunch Session: User Experience Design und Usability Brandstifter

David C. Thömmes

Von User Experience Design und Usability hat gefühlt jeder schon einmal etwas gehört, aber nur die wenigsten scheinen Software zu entwickeln, die auch nachhaltig auf den Nutzer ausgerichtet ist. Gerade heute wird ein positives Nutzererlebnis immer stärker zum Erfolgsfaktor digitaler Produkte und stellt nachweislich ein ernstzunehmendes Kaufkriterium für viele Unternehmen dar. Dabei gilt es bestmöglich auf die Bedürfnisse der Nutzer einzugehen und die passende Balance zwischen Gebrauchstauglichkeit, Ästhetik und Funktionalität zu schaffen. In seinem Lunch-Vortrag gibt Ihnen David einen spannenden Einblick in einen nutzerzentrierten Designprozess. Mit anschaulichen Beispielen werden die wichtigsten Phasen, Begriffe und UX-Methoden vorgestellt. Lassen Sie sich inspirieren und erhalten Sie neue Impulse!

(Lunch Session, Level 100)

Beyond XAML and HTML

David C. Thömmes

Mit der Einführung von WPF und der deklarativen Programmierung mit XAML hat Microsoft einen wahren Meilenstein des modernen User Interface Engineering abgeliefert! Gleichzeitig entwickelt sich das Web mit HTML5 und Co. in einem rasanten Tempo kontinuierlich fort. Dazu immer wieder neue Geräte mit innovativen Interaktionsparadigmen, wie beispielsweise die HoloLens, Leap Motion oder die Apple Watch. Wirft man dann noch einen Blick in die nicht all zu ferne Zukunft, winken uns bereits die humanoiden Roboter zu. Doch was bedeutet der technologische Fortschritt eigentlich für die alltägliche Arbeit in der Softwareentwicklung? Sind wir wirklich schon am Ende des User Interface Engineering angekommen? Was werden künftige UI Frameworks bieten und wie lassen sie sich programmieren? In seinem Vortrag möchte David einmal zeigen, was Ihn schon immer an XAML, Blend, HTML5 usw. störte, und wie eine Alternative aussehen könnte! Dabei stellt David Ihnen ein Framework und Tools vor, die vielleicht in einigen Facetten schon die nächste Stufe des User Interface Engineering einleiten.

(Level 200)

Cortana und Co - Chatbot bring mir Pizza

Holger Wendel

Im Bereich Personal Assistant hat Microsoft mit Cortana eine lernfähige persönliche Assistentin geschaffen, doch wie kann Cortana sowohl Nutzer von Windows also auch die Bereitstellung eigener Services für Anwendungen unterstützten? Weiter ist Cortana nicht nur als persönliche Assistentin bekannt denn unter dem Begriff Cortana Intelligence Suite gibt es eine vollständig verwaltete Suite für Big Data-Verwaltung, Analysen und Visualisierung. Wenn es am Schluss in die Nutzer Kommunikation geht gab es Zuwachs unter dem Begriff Bot Framework und somit eine Unterstützung in der automatischen Nutzer Kommunikation. Wir haben also vielfältige Möglichkeiten Nutzer zu unterstützen, mit ihnen in Kontakt zu treten und einfache Analysen und Visualisierungen von übermittelten Daten zu erstellen. In dieser Session wird an vielen Beispielen gezeigt, was es für neue Möglichkeiten in dieser neuen Welt gibt.

(Level 200)

SQL Server|Azure Datensicherheit

Christoph Wille

Bei der Datenverschlüsselung in SQL Server bzw Azure SQL Database war man bis vor kurzem auf sich alleine gestellt. Jeder, der das bereits selbst gemacht hat, bekommt bei der Erwähnung von "key rollover" sofort Bauchschmerzen. Wir sehen uns Always Encrypted sowie Azure KeyVault genauer an, wie viel beziehungsweise wie wenig Aufwand jetzt notwendig sind um es richtig zu machen. RLS (Row level security) und TDE (Transparent data encryption) verdienen natürlich auch eine Erwähnung im Kontext der Datensicherheit.

(Level 300)

Cross-Platform Desktop Applikationen mit Electron

Christoph Wille

Visual Studio Code oder der Azure Storage Explorer machen es vor - cross-platform Applikationen mit Electron sind nicht mehr nur auf die Vorzeigeanwendung Atom beschränkt. Wie bringe ich meine Anwendung an den Start, und wann macht es Sinn? Oder sind Eto beziehungsweise Perspex bessere Alternativen.

(Level 300)

Microservices – Design, Develop, Deploy!

Michael Willers

Cloud-Computing, Dev-Ops, IOT, eine Verbindung zum Datentresor { wahlweise Oracle, SAP, o.ä.} oder ein einfacher Zugriff auf externe Webdienste. Ein Mehr an Komplexität – Keep it simple oft Wunsch statt Realität. Was also tun? Es sind einmal mehr die unscheinbaren Themen, die einen nachhaltigen Projekterfolg ausmachen.
  • Architektur – Aufteilen von Funktionalität in beherrschbare Module
  • Skalierung – Zuverlässigkeit bei Lastspitzen und unter hoher Last
  • Tracing – Zielführende Diagnose abseits von Log4Net und Co
  • Monitoring – Schnelles Erkennen von Störungen im Betrieb
  • Security – Angriffe schon beim Design berücksichtigen
  • Verteilung – Nervenschonend installieren auch für Administratoren
  • Robustheit – Umgang mit Verbindungsabbrüchen und Ausfällen von Drittsystemen

Michael Willers zeigt die praktische Umsetzung von Design, Entwicklung und Deployment. Microservices direkt live aus dem Projektalltag!

(Level 300)

Lunch Session: Secure Continous Delivery - Signing Software in 20 Minutes

Michael Willers

Der zurückliegende Angriff auf Adobe hat es an den Tag gebracht: Auch der Buildserver als Herzschlag Ihrer Entwicklungsabteilung ist vor nichts sicher. Im Gegenteil: Schadsoftware wird mit korrekt digital signierten Komponenten ausgeliefert. Oder anders gesagt: Identitätsdiebstahl vollautomatisiert mit gravierenden Folgen. Wie aber kann man sich dagegen schützen? Michael Willers unternimmt einen Ausflug in die Welt der digitalen Signaturen und Smartcards. Anregungen in C# Code inklusive!

(Level 300)

Building mobile apps with NativeScript

Sebastian Witalec

NativeScript is a free and open source JavaScript framework for building native iOS, Android, and (soon) Windows Universal apps. But I know what you’re thinking: another way of building apps? What makes NativeScript special? Here are a few cool things:

  • Direct access to native APIs—no plugins required. Want to create a file on Android? Run new java.io.File()—in JavaScript!
  • Completely native performance through the use of a JavaScript bridge natively available on all three mobile platforms.
  • Cross-platform libraries for common use cases. Need to call a JSON API? Run http.getJSON()
  • Style native apps using CSS. Yep, that’s actually a thing.
  • Integrated with Visual Studio Code with full support for TypeScript

Curious about how it all works? Come learn! Architectures will be explained; apps will be built; and fun will be had by all.

(Level 100, Vortrag in engl. Sprache)


(Änderungen vorbehalten)

dotnet Cologne - die Community-Konferenz der .NET User Groups aus Bonn und Köln

!! | -- | ++ | ^^