Komponentowe i rozproszone Kompozycja gui Cap theorem Wydajne Systemy Rozproszone CQRS.

Slides:



Advertisements
Podobne prezentacje
Temat 2: Podstawy programowania Algorytmy – 1 z 2 _________________________________________________________________________________________________________________.
Advertisements

Struktura kanałów marketingowych. Definicje kanału dystrybucji Podejście podmiotowe Podejście funkcjonalne zbiór wzajemnie zależnych od siebie organizacji.
Powiatowy Urząd Pracy w Śremie Powiatowy Urząd Pracy w Śremie SFINANSUJEMY NOWE MIEJSCA PRACY Śrem, 4 listopada 2010 roku.
Rozwój infrastruktury sportowej w Gminie Wyszków Analiza wariantowa.
Systemy oceny jakości Akredytacja w ochronie zdrowia vs ISO 9000 Jerzy Hennig Andrzej Warunek.
0 OFERTA DLA PRACOWNIKÓW Dorota Wałuszko tel Kierownik ds. Sprzedaży i Obsługi Klienta Białystok 15kwietnia 2016 r. Komendy Wojewódzkiej Policji.
Modele biznesowe. Podręcznik Model biznesowy to w pewnym sensie szkic strategii, która ma zostać wdrożona w ramach struktur, procesów i systemów organizacji.
OBOWIĄZKI INFORMACYJNE BENEFICJENTA Zintegrowane Inwestycje Terytorialne Aglomeracji Wałbrzyskiej.
Zasady udzielania zamówień Wydział Kontroli Projektów.
Jak złożyć wniosek ? (GWA) Regionalny Program Operacyjny Województwa Pomorskiego na lata
Przewodnik po raportach rozliczeniowych w Condico Clearing Station (Rynek finansowy)
Dr Anna M. Zarzycka Katedra Biznesu Międzynarodowego A.M. Zarzycka.
Tworzenie odwołania zewnętrznego (łącza) do zakresu komórek w innym skoroszycie Możliwości efektywnego stosowania odwołań zewnętrznych Odwołania zewnętrzne.
GRUPY I ZESPOŁY © dr E.Kuczmera-Ludwiczyńska, mgr D.Ludwiczyński.
„e-Gdańsk – europejska metropolia on-line” Projekt Współfinansowany przez Unię Europejską z Europejskiego Funduszu Rozwoju Regionalnego.
PRACA Z APLIKACJAMI SYSTEM PRZEMIESZCZANIA oraz NADZORU WYROBÓW AKCYZOWYCH EMCS PL 1.
Portale społecznościowe. Serwis społecznościowy  to serwis internetowy, który istnieje w oparciu o zgromadzoną wokół niego społeczność. Tworzy tak zwane.
KIM JESTEŚMY? Serwis KurJerzy.pl został uruchomiony na początku 2010 roku jako alternatywa dla kosztownych usług kurierskich w Polsce. Firma działa jako.
„Program dofinansowania zakupu i montażu odnawialnych źródeł energii ze środków Wojewódzkiego Funduszu Ochrony Środowiska i Gospodarki Wodnej w Opolu”
Rozliczanie kosztów działalności pomocniczej
Grupa: urzędnicy JST (operatorzy przyjmujący wnioski w urzędach)
Harmonogram działań KANDYDATA do samorządowego gimnazjum w ramach elektronicznej rekrutacji na rok szkolny 2016/2017 Szkolenie dla Rodziców uczniów Szkoła.
Finansowanie wybranych działań w parkach narodowych przy udziale środków funduszu leśnego - zakres finansowy Warszawa, 06 kwietnia 2016r.
ING BANK Faktoring –Jednostkom organizacyjnym Lasów Państwowych oferujemy faktoring krajowy z przejęciem ryzyka wypłacalności odbiorcy (bez regresu, pełny).
Poczta elektroniczna – e- mail Gmail zakładanie konta. Wysyłanie wiadomości.
AS-QUAL Szkolenia Doradztwo Audity Usprawnienia zarządzania organizacjami (normy zarzadzania) Grażyna.
Projekt Regulaminu Działania Komitetu Monitorującego Regionalny Program Operacyjny Województwa Pomorskiego na lata
Usługi socjalne dla osób starszych w Helsinkach Päivi Riikonen Satu Vihersaari-Virtanen
ZABRZAŃSKI RYNEK PRACY – FORMY AKTYWIZACJI OSÓB BEZROBOTNYCH I POSZUKUJĄCYCH PRACY Zabrze, Powiatowy Urząd Pracy w Zabrzu.
20/09/ Model warstwowy OSI. Model warstwowy OSI (Open Systems Interconnection ) – standard wprowadzony przez organizację ISO (International Organization.
EWALUACJA JAKO ISTOTNY ELEMENT PROJEKTÓW SYSTEMOWYCH Sonia Rzeczkowska.
Solphy GlassNexus System Elektronicznej Wymiany Danych Dla Producentów Szyb Zespolonych.
Wyniki badania - Infolinia jako kanał komunikacji z klientem Aby zobaczyć prezentację badania należy wybrać przycisk F5. Poruszanie się pomiędzy.
Prawdy oczywiste Kiedy zarejestrować działalność? - Księgowość bez tajemnic! INFOLINIA: |
Audyt rachunkowości w jsfp (podsumowanie) oraz audyt projektów UE Ministerstwo Finansów 25 czerwca 2015 r. 1.
Coaching w poradnictwie zawodowym i edukacji. PLAN Definicja, proces - zmiana Możliwość wykorzystania coachingu w poradnictwie zawodowym i edukacji Model.
Kontrakty terminowe na indeks mWIG40 Prezentacja dla inwestorów Giełda Papierów Wartościowych w Warszawie S.A. Dział Notowań GPW kwiecień 2005.
Porównywarki cen leków w Polsce i na świecie. Porównywarki w Polsce.
WYNIKI ANKIETY INTERNETOWEJ Opracowanie wyników: Dr Jarosław Załęcki Mgr Maciej Brosz „Współtwórz swoje miasto. Wysokościowce w Gdańsku”
Klub Młodych Profesjonalistów Warsztaty Opracował: Marcin Adamczyk.
Wyższa Szkoła Informatyki i Zarządzania w Bielsku-Białej Wydział Informatyki Kierunek: Informatyka Specjalność: Systemy Informatyczne PRACA DYPLOMOWA INŻYNIERSKA.
FIRMA MASZ DOŚĆ NUDY W ZESZYCIE? NIE WIESZ JAK WYRAZIĆ SIEBIE? NIE WIESZ JAK WYRAZIĆ SIEBIE? A MOŻE CHCESZ ZAREKLAMOWAC WŁASNĄ DZIAŁALNOŚĆ? MAMY NAKLEJKI.
Model Przejść Międzyoperatorskich (na podstawie uwag i rekomendacji izb oraz operatorów) Warszawa, 16 czerwca 2008 r.
 Moduł walidacji płatności z systemem e-CARD  Moduł aktualizacji listy komorników sądowych EPU-EEKS  Automatyczne przesyłanie wniosków o weryfikację.
Model warstwowy OSI Model OSI (Open Systems Interconnection) opisuje sposób przepływu informacji między aplikacjami programowymi w jednej stacji sieciowej.
Komunikatory Zespół Szkół Zawodowych Nr 3 im. Adama Kocura w Katowicach - Janowie.
Instalacja nienadzorowana windows xp Jakub klafta.
„Technologie w słuzbie elastycznego pracownika” Marek Ryński Sybase Polska Dyrektor Zarządzający DRB.
Analiza, projekt i implementacja zintegrowanego systemu zarządzania i promocji dla branży gastronomicznej Krzysztof Grabalski 5921.
Optymalna wielkość produkcji przedsiębiorstwa działającego w doskonałej konkurencji (analiza krótkookresowa) Przypomnijmy założenia modelu doskonałej.
Podsumowanie wdrażania części Osi „Przedsiębiorczość” RPO Warmia i Mazury 2007–2013 w 2008 roku.
Komponentowe systemy rozproszone Pub/sub, Broker vs. ESB.
Co zrobić aby dobrze zrealizować i rozliczyć projekt? konkurs 2016.
Systemy oceny jakości Akredytacja w ochronie zdrowia ISO 9000 Jerzy Hennig Andrzej Warunek.
Informacja na temat projektu informatycznego „Centralizacja przetwarzania danych” V Krajowa Konferencja System Informacji Przestrzennej w Lasach Państwowych.
POP i SIR POK1 i POK2.
DZIEŃ BEZPIECZNEGO INTERNETU. S PIS TREŚCI 1. INTERNET INTERNET 2. DZIEŃ BEZPIECZNEGO INTERNETUDZIEŃ BEZPIECZNEGO INTERNETU 3.RAZEM TWORZYMY LEPSZY INTERNETRAZEM.
Ustalenia z misji audytowych przeprowadzonych przez Europejski Trybunał Obrachunkowy w ramach PROW w obszarze zamówień publicznych.
Magdalena Garlińska Generator wniosków o dofinansowanie Program INNOCHEM.
Apteka Oliwna Jak poprawnie złożyć zamówienie
Wprowadzenie do baz danych. Terminologia Specyfika baz danych (1) 1.Trwałość danych –Długi czas życia – kilka, kilkadziesiąt, kilkaset lat –Niezależność.
Kluczowe elementy skutecznej strategii analizy danych internetowych
Model ISO/OSI Wykład 4.
Quick Tips Tutorial Jak uzyskać dostęp do raportów EBSCOhost i EBSCO Discovery Service w EBSCOadmin support.ebsco.com.
PROGRAMY DO KONTROLI RODZICIELSKIEJ
Multicast Visualization Tool
SYSTEM KONTROLI FREKWENCJI
Partnerstwo publiczno-prywatne
Ludzie – Technologia - Organizacja
KONCEPCJA PROPONOWANYCH DZIAŁAŃ
Zapis prezentacji:

Komponentowe i rozproszone Kompozycja gui Cap theorem Wydajne Systemy Rozproszone CQRS

Czym serwis nie jest Serwis, który dostarcza tylko funkcjonalność a nie posiada stanu jest funkcją  Np walidacja Serwis, który tylko posiada i udostępnia dane jest bazą danych  CRUD

Co to jest serwis? Serwis jest techniczną realizacją pewnych biznesowych możliwości. Serwis powinien być niezależny. Czy to znaczy, że musi przechowywać (niekoniecznie być właścicielem) wszystkie dane i reguły niezbędne mu do działania Jakie powinny być "granice serwisu"?

Przykład Subscribe to Customer Status Updated Publish Customer Status Updated Save status locally Subscribe to Product Pricing Updated Publish Product Pricing Updated Save pricing locally Place Order Publish Order Accepted Sales Marketing Customer Care

Zdarzenia w przykładowym systemie Otrzymanie zamówienia Wystawienie faktury Wysyłka towaru Uzupełnienie magazynu Zmiana Ceny

Jaki serwis jest właścicielem strony?

Żaden

Kompozycja strony (w przeglądarce) Gateway/Firewall+LB Katalog Koszyk Licytacja Cross Sell Spedycja Zdjęcia/Media Server Server Server Server

Kompozycja strony (na serwerze) Server Katalog Koszyk Licytacja Cross Sell Spedycja Zdjęcia/Media

Proces sprzedaży Jaki serwis jest właścicielem procesu sprzedaży? Żaden

Posadowienie serwisów Jeden komputer może gościć wiele serwisów Jedna aplikacja może obejmować wiele serwisów Pojedynczy workflow może angażować wiele serwisów Pojedyncza strona może łączyć dane z wielu serwisów

Proces sprzedaży

Który serwis odpowiada za proces?

Żaden

Składowe workflow-u Spedycja Rachunkowość Spedycja Rachunko wość Sprzedaż Sprzedaż

CAP theorem Nie można zbudować systemu, który spełni jednoczesnie 3 postulaty: Spójność (Consistency) Dostępnośc (Availiability) Odporność na podziały (Partition tolerance)

CAP theorem Mozna wybrać 2 CA – Brak podziałów oznacza monolit CP – Spójny, ale pot. niedostępny w przypadku problemu z wewn. transmisjami AP – Dostępny, ale potencjalnie lokalnie niespójny – Eventual Consistency

AP – przykład 1: Request/Response Sprzedaz Uprawnienia Zarządzanie klientami Ostatnia ver. upr. Cache

AP – przykład 2 : Pub/Sub SprzedazMarketing Zaakceptowana transakcja klienta X wolumen zaku- pów klienta X Kod zniżkowy na przesyłkę dla stałych klientów spedycja Zaakceptowana transakcja klienta X

Współpraca wielu użytkowników Pobranie danych Zmiana danych Użytkownik widzi stare dane

Cache = efektywność+problemy DB Cache

Zapytania Cache = efektywność+problemy

Dane zmieniają się często Dane poprawne 10 minut temu Lista klientów Można to pokazać ex-plicite: Twitter, Facebook

Zapytania powinny być proste Normalizacja implikuje zapytania oparte na wielu tabelach Widoki kosztują Persistent View Model UIUI Query only

Command Query Responsibility Segregation

CQRS Komendy są przetwarzane oddzielnie od zapytań Wynik aktualizacji danych jest replikowany do widoku zapytań (cache) Możliwe jest w przechowywanie tylko listy komend i bieżącego stanu w cache CQRS – to nie jest wzorzec wysokopoziomowy

Ale co zrobić z nieaktualnymi danymi w cache-u Co jeżeli do generowana update-u użyte zostaną niektualne dane Orders CancelCancelSaveSave OrderTotalPaymentShippedCustomerConfirmed IDAmountReceivedDateID 321$ Yes 322$ No 323$ Yes 324$ Yes

Nowoczesny interfejs Może wcale nie trzeba korzystać z nieaktualnych danych lub nie trzeba ich pokazywać Ważne jest uchwycenie intencji Można troche “oszukać”  Wysyłka może pójść na adres, który był aktualny kilka minut wcześniej  Nie można oczekiwać, że zawsze uda sie rezygnacja z wysyłki w ciagu kilku sekund  Właściwy zakup udbywa sie przy potwierdzeniu a nie kliknieciu "kup teraz"

System rezerwacji

Tradycyjne podejście Checkbox-y Problemem mogą wyścigi jesli kilka osób spróbuje zarezerwowac nakładające sie obszary Po co użytkownikowi kilka miejsc? Bo chce zarezerwowac miejsca obok siebie dla rodziny/przyjaciół

Uchwycenie intencji użytkownika Rezerwacja grupowa:  Mała grupa – siedzi razem  Duża grupa – kilka małych grup Podaj liczbę miejsc Podaj typ miejsc – określa koszt Propozycja z czasowym ograniczeniem – wymaga potwierdzenia/płatności

System rezerwacji

Drobne optymalizacje i oszustwa Walidacja przed wysłaniem Odgadywanie zmian Bezpośrednia aktualizacja widoku na podstawiwie komendy przed wprowadzeniem i przetworzeniem zmian przez BackEnd)

Komenda vs. encja Łatwiej walidować komendę  z mała iloscią danych  bardziej konkretną  Chodzi o potencjalną poprawność (wynik walidacji nie jest ostateczny) Walidacja dużych encji jest trudna