1 PRZYKŁAD IMPLEMENTACJI WS PÓŁBIEŻNY SYSTEM USŁUGOWY W ARCHITEKTURZE WYMIANY KOMUNIKATÓW.

1 1 PRZYKŁAD IMPLEMENTACJI WS PÓŁBIEŻNY SYSTEM USŁUGOWY W...
Author: Iwona Kulwicki
0 downloads 2 Views

1 1 PRZYKŁAD IMPLEMENTACJI WS PÓŁBIEŻNY SYSTEM USŁUGOWY W ARCHITEKTURZE WYMIANY KOMUNIKATÓW

2 2 WPROWADZENIE Peer 2 Peer Systems jest brytyjskim inwestorem na łódzkim rynku, działającym w branży IT. Projektujemy oraz budujemy wielowarstwowe systemy rozproszone dla instytucji rynków finansowych (banki, domy maklerskie, fundusze inwestycyjne, firmy ubezpieczeniowe).

3 3 ZESPÓŁ Peer 2 Peer to międzynarodowy zespół specjalistów, których wiedza i kreatywność gwarantują innowacyjność i niezawodność produktów. IT ADMIN JAVA C# C++ AS3 TEAM TS HR

4 4 TECHNOLOGIE.Net 2.0/3.5 Framework Flex Framework 2/3 Języki programowania: C#, C++, Java, ActionScript 3 Bazy danych: SQL Server 2005, Oracle Messaging Solutions: Tibco Rendezvous Zarządzanie procesami: Agile Scrum, RUP

5 5 PRZYKŁAD IMPLEMENTACJI WSPÓŁBIEŻNY SYSTEM USŁUGOWY W ARCHITEKTURZE WYMIANY KOMUNIKATÓW

6 6 Wzruszająca opowieść o zbłąkanych komunikatach które odnajdują w końcu swojego Brokera drukiem w 19 slajdach nakładem Peer2Peer Polska Motto na dziś: "Nikt całkiem normalny nie zostaje developerem IT w czasach zapotrzebowania na branżę budowlaną" - Autor na sali ;) Przymrużamy oczy i czytamy slajdy między wierszami zwiększając próg tolerancji... Witamy

7 7 Baza wieczorową porą Bazy danych są super (MSSQL, ORACLE, POSTGRESQL, inne cuda) Bliższe kontakty przez pośrednika (ADO.NET, OLEDB, ODBC) Mnogości środowiskowe (Studia przeróżne, skrypty i wypas dla rzeszy speców od SQL) Bo do tanga trzeba dwojga, czyli słowo o małżeństwie klient-serwer Dlaczego skoro jest super, nie jest tak bosko: Klasterek i Replikant

8 8 Baza wieczorową porą cd. Klient bez bazy jest jak ryba bez wody (głowa bez ciała?) Dostępność bazy danych == dostępność usług Większość logiki zakodowana po stronie klienta Zalety: Działa Wady: Nie wystawisz tego w internecie. Albo wystawisz dwa razy: pierwszy i ostatni.

9 9 Wszystko co chcielibyście zrobić bez bazy danych..... ale wstydzicie się zapytać: Życie bez bazy danych (gdzież się podzieją Nasze-Dane?) Czy można zerwać z nałogiem? (Zmiana pokoleniowa? Za moich czasów były sobie fajne bazy plikowe...) Bazy danych w defensywie i za kołem podbiegunowym (czyli gdzie ?) Koła wsparcia ver 1: The ADO.NET Entity Framework, NHibernate Koła wsparcia ver 2: Bazy rozproszone - MS Azure, GAE

10 10 Wszystko co chcielibyście zrobić bez bazy danych... cd. Wnioski: Baza danych żyje ! Zmiana warstwy BD w architekturze Systemu (Z drugiej pozycji w szeregu krok wstecz). Znam taką piątą warstwę... Koniec bajki "Wieczna miłość logiki z SQL-em."

11 11 Czas dotrzymać słowa: Przykładowa Implementacja Obiecuję: Współbieżność Usługowość Komunikaty w kolejce i rozgłaszaniu Czyli o rzeczy właściwej słów kilka (funkcjonalność przykładu)

12 12 Na odwyku : Substytuty Sztywnych Struktur Tabele, relacje, procedury – kod spa(dk/dz)iowy Komunikat opoką systemu, przepływu danych i całej reszty Wersjonowanie i (De)Serializacja Testy serializacji - mała rzecz a cieszy (dziedziczenie testów) Budowa komunikatów w kontekście serializacji Wniosek : Nie wstydźmy się tego: Jesteśmy komunikatywni

13 13 Slajd nr 13 Pomijam

14 14 Transport, czyli konkurencja na rynku Kolejka i Topic - z czym to się je Produkty: - TIBCO Rendezvous - 29West - Microsoft MQ - Apache ActiveMQ Abstrakcja dostępu: Apache NMS Abstrakcja dostępu: Wieloplatformowość

15 15 Zagadnienie implementacyjne I: Rozmowy w toku Wymiany komunikatów klient - (u)sługa Nawał tatarskiej hordy, czyli współbieżne odbieranie i przetwarzanie komunikatów Daj, ać ja pobruszę, a ty poczywaj! Wątku wracaj po komunikaty... cichy robotnik na poboczu. Szeptem na uszko, czyli prywatne odpowiedzi

16 16 Zagadnienie implementacyjne II: Jeden GUI - Jeden Wątek Podążaj drogą jednego wątku młody Padawanie Chwyty poniżej kodu w aktualizacji interfejsu WinForms

17 17 Parę drobiazgów o których jeszcze nie wspomniałem Poddajemy pod rozwagę i do samodzielnych badań: Traksakcyjność działań biznesowych Problem kolejności przetwarzania działań (workflow) Bezpieczeństwo wywołań (uprawnienia do wykonywania operacji) Hostowania aplikacji usługowej (serwisy) Logowanie informacji diagnostycznych (Trace, log4net) Badanie wydajności systemu przez mechanizmy monitorujące (np. liczniki wydajności, profilery)

18 18 Demonstracja To może choć słowo o... zastosowaniach praktycznych :) czyli gwóźdź programu Load balanced - redukowanie obciążenia serwisów Wygaszanie węzłów (kierowanie logiki przetwarzania na inne węzły) Awaria pojedynczego węzła nie zatrzymuje działania systemu Praca klienta offline DEMO Wniosek : Zloadbalansuj się już dziś! Pan Gąbka nie śpi!

19 19 Pytania i być może odpowiedzi Jakieś pytania nie daj Boże ? ;) Zapraszamy do dyskusji !!!

20 20 Zapytajmy się o... W którym roku została oficjalnie wydana wersja 1.0.Net Framework?

21 21 Odpowiedź to oczywiście... 2002

22 22 Zapytajmy się o... Podaj sumę cyfr numerów wersji i podwersji frameworków.Net opublikowanych dla Windows XP Wskazówka: Zaczynamy sumować od wersji 1.0

23 23 Odpowiedź to oczywiście... 16! Ponieważ: 1.0 1.1 2.0 3.0 3.5 1+1+1+2+3+3+5 = 16

24 24 Zapytajmy się o... Ile metod publicznych posiada instancja typu Object? Wymienisz je?

25 25 Odpowiedź to oczywiście... 1.Equal 2.GetHashCode 3.ToString 4.GetType