Wczoraj odbyło się kolejne spotkanie Śląskiej Regionalnej Grupy Microsoft. Spotkanie odbyło się w ramach Geeks on Tour (nowej inicjatywy Wroc.NET, ŚRGM i KGD.NET). We wtorek grupa z Wrocławia gościła prelegentów, wczoraj my, a dzisiaj będzie można posłuchać tematów w Krakowie.
Wstęp przygotował Daniel, w którym poinformował o przyszłorocznej, drugiej edycji Silesian Code Camp, a następnie scena należał do pierwszego gościa.
Dan Borkowski pracuje w Infusion, a temat jaki nam zaprezentował to „From Silgle Click to Milti Touch”, która dotyczyła przenoszenia i adaptowania kontrolek WPF na Microsoft Surface (a przy okazji na Silverlight i Windows Phone). Sesna składała się z dwóch części. Pierwsza część to szybki wstęp/powtórzenie zagadnień z WPF’a, oraz technologi Multi Touch. Druga część to demo, w którym Dan pokazywał co zrobić aby „ożywić” kontrolkę WPF aby reagowała na „palce” i umieścić ją w aplikacji na Microsoft Surface. Następnie zobaczyliśmy jak tworzy się zupełnie nową kontrolkę w WPF, jak zaimplementować Multi Touch, i ostatecznie co zrobić aby działała na pozostałych platformach (Surface, Windows 7 Touch, Silverlight, Windows Phone 7).
Drugim gościem był Pieter Joost van de Sande z Holandii. Pieter pracuje w firmie Atos Origin jako Principal Consultant, gdzie zajmuje się głównie architekturą i budowaniem aplikacji. W wolnym czasie prowadzi dwie deweloperskie grupy społecznościone (dotNot, Devnology). Za wklad w rozwój społeczności otrzymał trzykrotnie tytuł MVP. Jest też twórcą projektu NCQRS i właśnie o tym był temat prezentacji: „Wprowadzenie do CQRS”.
CQRS to architektura, która odbiega od klasycznego podejścia wielowarstwowego. CQRS zakłada, że mamy dwa modele. Pierwszy jest potrzebny do bardzo szybkich, prostych, możliwie efektywnych odczytów danych w celu prezentacji dla użytkownika. W tym modelu dane najlepiej gdy będą już odpowiednio skalkulowane, zagregowane, aby nie „tracić” czasu podczas odczytu. Dzięki temu otrzymujemy wysoką wydajność podczas generowania raportów, analiz itd. Drugi model odpowiada za modyfikacje danych i logikę, która z tym idzie oraz aktualizację/synchronizację danych do odczytu przez pierwszy model. Rozwiązanie na pewno nie przypadło wszystkim do gustu. Można powiedzieć, że jest dość kontrowersyjne, ale jestem przekonany, że są scenariusze, miejsca gdzie powinno być stosowane. Na pewno warto stosować tam, gdzie potrzebny jest bardzo szybki dostęp do danych, ale dane te nie muszą być super świeżę i aktualne oraz tam, gdzie interesuje nas powód (kontekst), dla którego dane były modyfikowane (a nie sam fakt, że zostały zmodyfikowane).
Generalnie obie sesje mi siepodobały, z przewagą tematu Pietera. Zmartwiła mnie natomiast frekfencja, ponieważ liczylem, że dla zagranicznych prelegentów pojawi się więcej osób.