Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
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

382 Aufrufe

Veröffentlicht am

…und auf einmal sind die Daten auf dem Client…

Veröffentlicht in: Software
  • Als Erste(r) kommentieren

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

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

×