{"id":349,"date":"2013-11-06T19:00:35","date_gmt":"2013-11-06T18:00:35","guid":{"rendered":"https:\/\/dotnet-usergroup-hamburg.de\/?p=349"},"modified":"2013-11-06T19:00:35","modified_gmt":"2013-11-06T18:00:35","slug":"net-user-group-treffen-dezember-2013-cqrs-und-event-sourcing","status":"publish","type":"post","link":"https:\/\/dotnet-usergroup-hamburg.de\/?p=349","title":{"rendered":".NET User Group Treffen Dezember 2013 &#8211; CQRS und Event Sourcing"},"content":{"rendered":"<p>Im Dezember werden J\u00f6rg Egretzberger und Sebastian Burgstaller aus Wien bei uns zu Gast sein mit dem folgenden Thema:<\/p>\n<p>CQRS und Event Sourcing<\/p>\n<p>Abstract:<\/p>\n<p>Wie schreibe ich bessere Applikationen, die Mehrwert f\u00fcr das Business bei gleichen (oder sogar weniger?) Kosten bieten und dabei einfacher zu entwickeln sind!?<\/p>\n<p>Das Thema ist aus meiner Sicht ein Muss f\u00fcr jeden Entwickler um einen riesen Sprung nach vorne zu machen.<\/p>\n<p>J\u00f6rg und Sebastian stellen euch CQRS (Command and Query Responsibility Segregation) vor bei dem Schreib- und Leseseite architekturell getrennt werden um entkoppelte, skalierbare L\u00f6sungen zu bauen. Sie stellen CQRS mit Event Sourcing als Softwarearchitektur f\u00fcr DDD (Domain Driven Design) Projekte vor und zeigen anhand von Beispielcode dessen Umsetzung.<\/p>\n<p>CQRS &amp; Event Sourcing:<\/p>\n<p>1) Was erwartet sich der Benutzer von einem Programm \/ wie will er arbeiten?<\/p>\n<p>2) Commands &#8211; Aktionen aus dem UI<\/p>\n<p>3) Queries &#8211; Anzeige von Daten<\/p>\n<p>performante Abfragen einfacher erstellen<\/p>\n<p>4) Warum ist es mit CQRS wesentlich einfacher Daten zu speichern?<\/p>\n<p>5) Warum brauche ich Dom\u00e4nenobjekte?<\/p>\n<p>6) Event Sourcing &#8211; Dom\u00e4nenevents und deren gro\u00dfen, kostenlosen Mehrwert f\u00fcr das Business<\/p>\n<p>7) Daten \u00fcberschreiben (SQL Update) vs. Dom\u00e4nenevents speichern &#8211; warum es pl\u00f6tzlich m\u00f6glich ist,<\/p>\n<p>eine &#8220;Zeitreise&#8221; durch den Gesch\u00e4ftsalltag zu machen und daraus Berichte zu generieren + NoSQL<\/p>\n<p>8) Team &amp; Rollenverteilung<\/p>\n<p>9) Ein Task based UI gemeinsam designen<\/p>\n<p>Wie immer werden wir im Anschlu\u00df &#8211; wer mag &#8211; noch zusammen essen und trinken gehen. Weiterhin haben wir noch einige Lizenzen f\u00fcr Softwareentwickler zu verlosen.<\/p>\n<p>Die Treffen der User Group sind wie immer kostenlos und eine Mitgliedschaft in der User Group ist nicht notwendig. Allgemeines Ziel der Treffen sind soziales Networking und direkter Austausch. Kollegen und Interessierte sind herzlich willkommen.<\/p>\n<p>Treffpunkt: 13.12.2013 17:00 Uhr<\/p>\n<p>Acando GmbH<br \/>\nMillerntorplatz 1<br \/>\n20359 Hamburg<br \/>\nDeutschland<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Im Dezember werden J\u00f6rg Egretzberger und Sebastian Burgstaller aus Wien bei uns zu Gast sein mit dem folgenden Thema: CQRS und Event Sourcing Abstract: Wie schreibe ich bessere Applikationen, die Mehrwert f\u00fcr das Business bei gleichen (oder sogar weniger?) Kosten &hellip; <a href=\"https:\/\/dotnet-usergroup-hamburg.de\/?p=349\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[],"class_list":["post-349","post","type-post","status-publish","format-standard","hentry","category-termine"],"_links":{"self":[{"href":"https:\/\/dotnet-usergroup-hamburg.de\/index.php?rest_route=\/wp\/v2\/posts\/349","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dotnet-usergroup-hamburg.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dotnet-usergroup-hamburg.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dotnet-usergroup-hamburg.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dotnet-usergroup-hamburg.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=349"}],"version-history":[{"count":0,"href":"https:\/\/dotnet-usergroup-hamburg.de\/index.php?rest_route=\/wp\/v2\/posts\/349\/revisions"}],"wp:attachment":[{"href":"https:\/\/dotnet-usergroup-hamburg.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=349"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dotnet-usergroup-hamburg.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=349"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dotnet-usergroup-hamburg.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=349"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}