Roman Schacherl | softaware gmbh
@rschacherl

Asynchronität und Parallelisierung
in Businessanwendungen
Roman Schacherl

Gründer & Geschäftsführer
softaware gmbh
@rschacherl
roman.schacherl@softaware.at

softaware gmbh
office@...
zhandel Pharmasektor Personaldienstleister Moto
Schulbereich Therapie Erdölindustrie Rettungswe
anzsektor Musik Kantine Mu...
ows Azure C# Microsoft .NET SQL Server WPF S
NET Windows Store Apps C# Windows Phone Jav
crosoft PixelSense Typescript WCF...
async

Task

Services
TaskCompletionSource

Die Welt ist asynchron.
Cloud

await

Task Parallel Library
Auf allen Ebenen…
Agenda
• async / await
– Best Practice / Bad Practice

• Praxisbeispiele
– WPF / MVVM
– ASP.NET MVC
– Windows Azure
async / await
async / await
• async / await verwaltet die
Asynchronizität und erleichtert die
Verwendung.
• Es werden aber keine automat...
async void
async void
async void
async void
• async void ist fire-and-forget!
– Macht nur in Ausnahmefällen Sinn,
zB bei Eventhandlern
async & synchr. Methoden

Beispiel © Stephen Toub, „Async‘ing Your Way to a Successful App with .NET“, //build 2013
async & synchr. Methoden

Beispiel © Stephen Toub, „Async‘ing Your Way to a Successful App with .NET“, //build 2013
async & synchr. Methoden
• Synchrone (CPU-intensive) Methoden
(wenn möglich) nicht in einer AsyncMethode „verstecken“!
TaskCompletionSource
TaskCompletionSource
TaskCompletionSource
• TaskCompletionSource<T> ermöglicht
die Abbildung von Events auf Tasks
SZENARIO 1

WPF / MVVM-Anwendung
mit async / await-Unterstützung
WPF / MVVM
• Async / Await in EF 6
• CancellationToken in Async-Methoden
vorsehen, falls die Operation
abgebrochen werden ...
SZENARIO 2

ASP.NET MVC-Anwendung
mit async / await-Unterstützung
Async Actions
• Vermeiden von Skalierungsproblemen
 Ressourcen sparen
• Timeout mit CancellationToken
SZENARIO 3

ASP.NET MVC-Anwendung
mit vielen Requests eines Users
SessionState
• Falls eine Web-Anwendung Sessions
einsetzt, werden standardmäßig keine
Actions eines Users parallel ausgefü...
SZENARIO 4

Windows Azure Worker Role
Abarbeitung einer Queue
Worker + Queue
• Pattern für die Abarbeitung von
Arbeitspaketen
– z.B. Import aus externen Systemen

• Leichte (auch autom...
SZENARIO 5

Traffic Manager:
Parallelisierung im Großen
Auf allen Ebenen…
Global Windows
Azure Bootcamp
2014
Austria:

Linz
http://bit.ly/gwab_at
Germany: Bad Homburg
http://bit.ly/gwab_de

March ...
Roman Schacherl | softaware gmbh
@rschacherl
www.softaware.at
facebook.com/softawaregmbh
Asynchronität und Parallelisierungin Businessanwendungen
Asynchronität und Parallelisierungin Businessanwendungen
Asynchronität und Parallelisierungin Businessanwendungen
Nächste SlideShare
Wird geladen in …5
×

Asynchronität und Parallelisierung in Businessanwendungen

613 Aufrufe

Veröffentlicht am

Ich habe auf der BASTA! Spring 2014 einen Vortrag über asynchrone und parallele Programmierung gehalten - mit einem Fokus auf Businessanwendungen:

Ist Ihnen schon aufgefallen, dass alle Samples zum Thema Asynchronität und Parallelisierung Primzahlen berechnen? Viele Anwendungen haben aber ganz anders gelagerte Probleme – zum Beispiel datenorientierte Businessanwendungen. Roman Schacherl zeigt, wie asynchrone und parallele Programmierung Ihren Alltag verändern kann.

Veröffentlicht in: Technologie
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
613
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
281
Aktionen
Geteilt
0
Downloads
5
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Asynchronität und Parallelisierung in Businessanwendungen

  1. 1. Roman Schacherl | softaware gmbh @rschacherl Asynchronität und Parallelisierung in Businessanwendungen
  2. 2. Roman Schacherl Gründer & Geschäftsführer softaware gmbh @rschacherl roman.schacherl@softaware.at softaware gmbh office@softaware.at www.softaware.at
  3. 3. zhandel Pharmasektor Personaldienstleister Moto Schulbereich Therapie Erdölindustrie Rettungswe anzsektor Musik Kantine Musik Erdölindustrie The sonaldienstleister Holzhandel Pharmasektor Moto masektor Schulbereich Musik Personaldienstleiste Erdölindustrie Holzhandel Finanzsektor Holzhand masektor Personaldienstleister Motorsport Schul erapie Erdölindustrie Rettungswesen Finanzsektor tine Musik Erdölindustrie Therapie Personaldiens Holzhandel Pharmasektor Motorsport Pharma
  4. 4. ows Azure C# Microsoft .NET SQL Server WPF S NET Windows Store Apps C# Windows Phone Jav crosoft PixelSense Typescript WCF Webservices H verlight Windows Store Apps Windows Phone AS rosoft PixelSense Windows Azure WPF Webservi Typescript ASP .NET Azure HTML JavaScript Windo ows Azure C# Microsoft .NET SQL Server WPF S NET Windows Store Apps C# Windows Phone Jav crosoft PixelSense Typescript WCF Webservices H light Windows Store Apps WPF ASP .NET Window
  5. 5. async Task Services TaskCompletionSource Die Welt ist asynchron. Cloud await Task Parallel Library
  6. 6. Auf allen Ebenen…
  7. 7. Agenda • async / await – Best Practice / Bad Practice • Praxisbeispiele – WPF / MVVM – ASP.NET MVC – Windows Azure
  8. 8. async / await
  9. 9. async / await • async / await verwaltet die Asynchronizität und erleichtert die Verwendung. • Es werden aber keine automatischen Threads erzeugt!
  10. 10. async void
  11. 11. async void
  12. 12. async void
  13. 13. async void • async void ist fire-and-forget! – Macht nur in Ausnahmefällen Sinn, zB bei Eventhandlern
  14. 14. async & synchr. Methoden Beispiel © Stephen Toub, „Async‘ing Your Way to a Successful App with .NET“, //build 2013
  15. 15. async & synchr. Methoden Beispiel © Stephen Toub, „Async‘ing Your Way to a Successful App with .NET“, //build 2013
  16. 16. async & synchr. Methoden • Synchrone (CPU-intensive) Methoden (wenn möglich) nicht in einer AsyncMethode „verstecken“!
  17. 17. TaskCompletionSource
  18. 18. TaskCompletionSource
  19. 19. TaskCompletionSource • TaskCompletionSource<T> ermöglicht die Abbildung von Events auf Tasks
  20. 20. SZENARIO 1 WPF / MVVM-Anwendung mit async / await-Unterstützung
  21. 21. WPF / MVVM • Async / Await in EF 6 • CancellationToken in Async-Methoden vorsehen, falls die Operation abgebrochen werden kann
  22. 22. SZENARIO 2 ASP.NET MVC-Anwendung mit async / await-Unterstützung
  23. 23. Async Actions • Vermeiden von Skalierungsproblemen  Ressourcen sparen • Timeout mit CancellationToken
  24. 24. SZENARIO 3 ASP.NET MVC-Anwendung mit vielen Requests eines Users
  25. 25. SessionState • Falls eine Web-Anwendung Sessions einsetzt, werden standardmäßig keine Actions eines Users parallel ausgeführt • SessionState-Attribut schafft Abhilfe, falls Performance (und keine Session) benötigt wird
  26. 26. SZENARIO 4 Windows Azure Worker Role Abarbeitung einer Queue
  27. 27. Worker + Queue • Pattern für die Abarbeitung von Arbeitspaketen – z.B. Import aus externen Systemen • Leichte (auch automatisierte) Skalierbarkeit in Windows Azure • Standard-Features – Dequeue-Count, Try/Retry, etc.
  28. 28. SZENARIO 5 Traffic Manager: Parallelisierung im Großen
  29. 29. Auf allen Ebenen…
  30. 30. Global Windows Azure Bootcamp 2014 Austria: Linz http://bit.ly/gwab_at Germany: Bad Homburg http://bit.ly/gwab_de March 29th 2014
  31. 31. Roman Schacherl | softaware gmbh @rschacherl www.softaware.at facebook.com/softawaregmbh

×