Daniel.Fisher@devcoach.biz
Massendaten auf dem
Client
ADO.NET, WCF & AJAX …und auf einmal
sind die Daten auf dem Client…
About me
Daniel Fisher CTO.
devcoach®
Mit-Gründer und Geschäftsführer von
devcoach®.
Mit-Gründer und Vorstand der
just com...
About us
Beratung & Projektunterstützung
• REST & SOA – Architektur
• BPM & FDD – Prozesse
• Sicherheit & Claims – Identit...
daniel.fisher@devcoach.biz
Agenda
• Meet Simon!
• Früher war alles besser?
• Was sich mit AJAX ändert?
Simon says…
Daniel.Fisher@devcoach.biz
Hatte ich mich schon
vorgestellt? Ich bin Simon
aus dem Marketing.
Simon says…
Daniel.Fisher@devcoach.biz
Wir haben ein ernstes
Problem. Unsere Kunden
beschweren sich, dass
unsere Anwendung...
Klassischer Datenzugriff
Daniel.Fisher@devcoach.biz
Klassischer Datenzugriff
• GetAll
– 1 Request, 1 Response
– 1 Datenzugriff
– Das kann dann auch mal etwas länger
dauern…
D...
Klassischer Datenzugriff #2
Daniel.Fisher@devcoach.biz
Klassischer Datenzugriff #2
• Paging
– 1 initialer Request/Response
– 1 Datenzugriff
– Je Seitenwechsel 1 Request/Response...
Zusammenfassung
• Paging hilft nicht beim ersten Request.
• Paging erhöht das transportierte Daten-
Volumen.
– Gefühlte Pe...
Simon says…
Daniel.Fisher@devcoach.biz
Kennen Sie dieses Persil?
Ach nein AJAX hieß es…
Damit können wir doch
bestimmt sch...
AJAX = MEHR
PERFORMANCE?
Daniel.Fisher@devcoach.biz
AJAX Datenzugriff
Daniel.Fisher@devcoach.biz
ASP.NET AJAX Light
• Das Update Panel
• == Klassischer Datenzugriff
• Etwas verringertes übertragenes Daten-
Volumen unter...
AJAX FÜR ECHTE MÄNNER
(UND TAFFE FRAUEN)
Es geht auch anders…
Daniel.Fisher@devcoach.biz
AJAX Datenzugriff
• Markup und Daten werden getrennt übertragen
– 1 initialer Request/Response (Markup)
– Je Seitenwechsel...
Mehr Requests + Mehr Datezugriffe !
= Mehr Performance
AJAX Milchmädchenrechnung
Daniel.Fisher@devcoach.biz
Probleme für den Entwickler
• JavaScript ist Parallel-Know-how
– Eine weitere Sprache…
• Untypisiert!
– Keine Kompilierung...
Developer Convenience
• Bewährte Konzepte anwenden um neue Aufgaben zu
vereinfachen.
– Technologie: ASP.NET AJAX
– Aufgabe...
ASP.NET AJAX ClientSide DataBinding
Daniel.Fisher@devcoach.biz
Aber wie kann uns AJAX helfen?
Daniel.Fisher@devcoach.biz
AJAX Datenzugriff #2
Daniel.Fisher@devcoach.biz
AJAX Datenzugriff #2
• Poor mans cache:
– Output Cache
• Hardware
– http://www.f5.com/solutions/acceleration/web-
accelera...
Introducing Marcus
Daniel.Fisher@devcoach.biz
Ich bin die Infrastruktur!
Wenn du hier was willst,
muss tu mit mir reden.
AJAX Datenzugriff #2
• Markup und Daten werden getrennt übertragen
und Serverseitig gecached
– 1 initialer Request/Respons...
Simon says…
Daniel.Fisher@devcoach.biz
Das sieht ja schon gut
aus! Ach… hatte ich schon
gesagt, dass die Daten
auch sortie...
AJAX Datenzugriff #3
Daniel.Fisher@devcoach.biz
Massendaten auf dem Client mit AJAX und WCF
Daniel.Fisher@devcoach.biz
AJAX Datenzugriff #3
• Markup und Daten werden getrennt übertragen
und Serverseitig gecached
– 1 initialer Request/Respons...
Thin-Client wird Fett…
• Von nichts kommt nichts…
– Das was auf dem Server „gespart“ wird muss
jemand anderes „bezahlen“:
...
Footprints im Internet Explorer
Datensätze (n) Speicherverbrauch (MB)
0 43
10 66
100 72
500 91
1000 114
2000 162
3000 259
...
Q & A
daniel.fisher@devcoach.biz
daniel fisher @devcoach®.biz
Nächste SlideShare
Wird geladen in …5
×

2008 - Basta!: Massendaten auf dem Client

333 Aufrufe

Veröffentlicht am

…und auf einmal sind die Daten auf dem Client…

Veröffentlicht in: Software
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
333
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
1
Aktionen
Geteilt
0
Downloads
1
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

2008 - Basta!: Massendaten auf dem Client

  1. 1. Daniel.Fisher@devcoach.biz Massendaten auf dem Client ADO.NET, WCF & AJAX …und auf einmal sind die Daten auf dem Client…
  2. 2. About me Daniel Fisher CTO. devcoach® Mit-Gründer und Geschäftsführer von devcoach®. Mit-Gründer und Vorstand der just community e.V. Leiter der .NET-Nieder-Rhein INETA User-Group. Mitglied im Microsoft Community Leader & Insider Program.
  3. 3. About us Beratung & Projektunterstützung • REST & SOA – Architektur • BPM & FDD – Prozesse • Sicherheit & Claims – Identity • DAL & ORM – Daten • RIA & AJAX – Web 2.0 Technologien • ASP.NET, WCF, WF & CardSpace – .NET Kunden • Versicherungen, Großhandel, Software – u.A. Microsoft
  4. 4. daniel.fisher@devcoach.biz Agenda • Meet Simon! • Früher war alles besser? • Was sich mit AJAX ändert?
  5. 5. Simon says… Daniel.Fisher@devcoach.biz Hatte ich mich schon vorgestellt? Ich bin Simon aus dem Marketing.
  6. 6. Simon says… Daniel.Fisher@devcoach.biz Wir haben ein ernstes Problem. Unsere Kunden beschweren sich, dass unsere Anwendung sooooo langsam ist…
  7. 7. Klassischer Datenzugriff Daniel.Fisher@devcoach.biz
  8. 8. Klassischer Datenzugriff • GetAll – 1 Request, 1 Response – 1 Datenzugriff – Das kann dann auch mal etwas länger dauern… Daniel.Fisher@devcoach.biz
  9. 9. Klassischer Datenzugriff #2 Daniel.Fisher@devcoach.biz
  10. 10. Klassischer Datenzugriff #2 • Paging – 1 initialer Request/Response – 1 Datenzugriff – Je Seitenwechsel 1 Request/Response – ViewState • PRO: Nur wenn Datenquelle sehr sehr sehr langsam und keine Snapshots oder Replikation möglich ist! • CON: Ping-pong on the wire  Daniel.Fisher@devcoach.biz
  11. 11. Zusammenfassung • Paging hilft nicht beim ersten Request. • Paging erhöht das transportierte Daten- Volumen. – Gefühlte Performance lässt nach … Daniel.Fisher@devcoach.biz
  12. 12. Simon says… Daniel.Fisher@devcoach.biz Kennen Sie dieses Persil? Ach nein AJAX hieß es… Damit können wir doch bestimmt schneller und besser und up to date …
  13. 13. AJAX = MEHR PERFORMANCE? Daniel.Fisher@devcoach.biz
  14. 14. AJAX Datenzugriff Daniel.Fisher@devcoach.biz
  15. 15. ASP.NET AJAX Light • Das Update Panel • == Klassischer Datenzugriff • Etwas verringertes übertragenes Daten- Volumen unter der Prämisse, das das UpdatePanel nicht die gesamte Seite einschließt! • Keine Lösung  Daniel.Fisher@devcoach.biz
  16. 16. AJAX FÜR ECHTE MÄNNER (UND TAFFE FRAUEN) Es geht auch anders… Daniel.Fisher@devcoach.biz
  17. 17. AJAX Datenzugriff • Markup und Daten werden getrennt übertragen – 1 initialer Request/Response (Markup) – Je Seitenwechsel 1 Request/Response (Daten) – Je Seitenwechsel 1 Datenzugriff – Optimierteres Daten-Volumen – Vermehrte Datenzugriffe – Vermehrte Requests Daniel.Fisher@devcoach.biz
  18. 18. Mehr Requests + Mehr Datezugriffe ! = Mehr Performance AJAX Milchmädchenrechnung Daniel.Fisher@devcoach.biz
  19. 19. Probleme für den Entwickler • JavaScript ist Parallel-Know-how – Eine weitere Sprache… • Untypisiert! – Keine Kompilierung… – Tool-Chain erst am Anfang… – Keine Controls für Massendaten… Daniel.Fisher@devcoach.biz
  20. 20. Developer Convenience • Bewährte Konzepte anwenden um neue Aufgaben zu vereinfachen. – Technologie: ASP.NET AJAX – Aufgabe: Datenbindung • Wir leihen uns mal ein paar Konzepte… – Technologie: ASP.NET – Aufgabe: Datenbindung Daniel.Fisher@devcoach.biz
  21. 21. ASP.NET AJAX ClientSide DataBinding Daniel.Fisher@devcoach.biz
  22. 22. Aber wie kann uns AJAX helfen? Daniel.Fisher@devcoach.biz
  23. 23. AJAX Datenzugriff #2 Daniel.Fisher@devcoach.biz
  24. 24. AJAX Datenzugriff #2 • Poor mans cache: – Output Cache • Hardware – http://www.f5.com/solutions/acceleration/web- acceleration/ Daniel.Fisher@devcoach.biz
  25. 25. Introducing Marcus Daniel.Fisher@devcoach.biz Ich bin die Infrastruktur! Wenn du hier was willst, muss tu mit mir reden.
  26. 26. AJAX Datenzugriff #2 • Markup und Daten werden getrennt übertragen und Serverseitig gecached – 1 initialer Request/Response (Markup) – Je Seitenwechsel 1 Request/Response (Daten) – Je Seite eines Seitenwechsel einmalig 1 Datenzugriff – Optimierteres Daten-Volumen – Veringerter Datenzugriff – Vermehrte Requests Daniel.Fisher@devcoach.biz
  27. 27. Simon says… Daniel.Fisher@devcoach.biz Das sieht ja schon gut aus! Ach… hatte ich schon gesagt, dass die Daten auch sortiert werden müssen.
  28. 28. AJAX Datenzugriff #3 Daniel.Fisher@devcoach.biz
  29. 29. Massendaten auf dem Client mit AJAX und WCF Daniel.Fisher@devcoach.biz
  30. 30. AJAX Datenzugriff #3 • Markup und Daten werden getrennt übertragen und Serverseitig gecached – 1 initialer Request/Response (Markup) – Je Seitenwechsel 1 Request/Response (Daten) – Je Seite eines Seitenwechsel einmalig 1 Datenzugriff – Je Seite eines Seitenwechsel einmalig 1 Request – Optimierteres Daten-Volumen – Veringerter Datenzugriff – Veringerte Requests Daniel.Fisher@devcoach.biz
  31. 31. Thin-Client wird Fett… • Von nichts kommt nichts… – Das was auf dem Server „gespart“ wird muss jemand anderes „bezahlen“: • Der Client Daniel.Fisher@devcoach.biz
  32. 32. Footprints im Internet Explorer Datensätze (n) Speicherverbrauch (MB) 0 43 10 66 100 72 500 91 1000 114 2000 162 3000 259 Daniel.Fisher@devcoach.biz
  33. 33. Q & A daniel.fisher@devcoach.biz
  34. 34. daniel fisher @devcoach®.biz

×