Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

SOA Service Oriented Architecture AGH, Informatyka, Studia niestacjonarne, III rok, Mariusz Czarnecki.

Podobne prezentacje


Prezentacja na temat: "SOA Service Oriented Architecture AGH, Informatyka, Studia niestacjonarne, III rok, Mariusz Czarnecki."— Zapis prezentacji:

1 SOA Service Oriented Architecture AGH, Informatyka, Studia niestacjonarne, III rok, Mariusz Czarnecki

2 Wstęp Biznes i informatyka –Zrozumienie biznesu –Wsparcie biznesu –Wspólny cel –Wspólny sukces

3 Wstęp Typowe cele biznesowe –Optymalizacja kosztów –Elastyczność w obsłudze klienta –Szybka adaptacja do zmian ekonomicznych Typowe problemy biznesowe –Adaptacja istniejących rozwiązań informatycznych do zmian –Integracja systemów –Przepływ i wymiana informacji –Wysokie koszty obsługi

4 Typowa architektura oprogramowania przedsiębiorstwa

5 Wstęp Typowe problemy informatyczne –Obsługa zmian w aplikacji –Hermetyczność rozwiązań –Ograniczone możliwości wymiany i przepływu informacji –Integracja wielu systemów –Złożona infrastruktura

6 SOA Czym jest SOA? –Odpowiedź informatyki na potrzeby biznesu w zakresie: Wykorzystania posiadanych atutów/zasobów/środków Stworzenia nowych możliwości Łatwej adaptacji i wsparcia zmian biznesowych

7 SOA Nadrzędny cel architektury SOA Łatwe i szybkie tworzenie i rozszerzanie systemów informatycznych precyzyjnie wspierających osiąganie celów biznesowych przez przedsiębiorstwo w zmiennych warunkach ekonomicznych

8 Model referencyjny

9 SOA Podział architektury –Warstwa biznesowa Bezpośrednio wspierająca działania biznesowe poprzez interakcję z użytkownikami, systemami, urządzeniami, itd. –Warstwa instalacyjna/robocza Zaplecze dla warstwy biznesowej

10 Skupienie na procesach i biznesie Business logic Application a Application c Application b Application logic

11 Skupienie na procesach i biznesie Application layer Services interface layer Business process layer Application-oriented services Business-oriented services.NET J2EELegacy

12 Skupienie na procesach i biznesie Application layer Services interface layer Business process layer.NET orchestration service layer business service layer application service layer

13 Główne punkty SOA (1) Ludzie –Interakcja i współpraca Procesy –Narzędzia i usługi dla zwiększenia wydajności w zarządzaniu procesami biznesowymi Informacje –Dostęp do kompleksowej i różnorodnej informacji

14 Główne punkty SOA (2) Połączenie –Połączenie ludzi, procesów i informacji w biznesie Ponowne użycie –Zwiększenie wartości posiadanych już zasobów i środków inwestycyjnych

15 Cechy SOA Wyłącznie dla aplikacji biznesowych Architektura komponentowa czarnych skrzynek Luźno połączone komponenty Komponenty są połączone w celu uzyskania pożądanej funkcjonalności i efektywności procesu

16 Ponowne wykorzystanie Wiele różnych firm Wiele różnych procesów Podobieństwa na różnym poziomie procesów Komponent jako usługodawca świadczący usługi niezależnie od innych komponentów

17 Jakość usług Bezpieczeństwo Dokładne dopasowanie do oczekiwań Przewidywalność

18 Główne składniki SOA

19 Architektura SOA (IBM)

20 Enterprise Service Bus Współpraca pomiędzy usługami Wymiana komunikatów Wymagania w stosunku do obsługi komunikatów –Szybkość –Pewność doręczenia (lack of service)

21 ESB IBM

22 SOA Register Katalog usług Połączenie dla –Środowiska operacyjnego Service broker – połączenie komponentów poprzez reguły związane z każdym z nich –Środowiska programistycznego i analityków biznesowych Wybór i tworzenie aplikacji z komponentów

23 SOA Register Centralny punkt referencyjny dla całej architektury –Metadata –Definicja domeny architektury –Publikacja komponentów – Web serwisów

24 Zarządzanie procesami Zmiany w biznesie –Stały przedmiot biznesu –Zmiana sposobu realizacji biznesu Sposób opisu biznesu –BPM – Business Process Management –BPMN – Busines Process Management Notation –BPEL – Business Proces Execution Language

25 Enkapsulacja logiki

26 Współpraca pomiędzy usługami Usługa A ma dostęp do opisu usługi B –Nazwa usługi –Parametry oczekiwane –Parametry zwracane –Podobieństwo do innych rozwiązań (np. CORBA, RMI, COM, DCOM)

27 Szablony wiadomości Jednokierunkowa. Adresat otrzymuje wiadomość. Żądanie odpowiedzi. Adresat otrzymuje wiadomość i wysyła wiadomość - odpowiedź. Odpowiedź-prośba. Adresat wiadomości wysyła odpowiedź-pytanie i sam też otrzymuje odpowiedź. Powiadomienie. Nadawca wysyła wiadomość.

28 Wiadomości w SOA Identyfikacja komunikatu Unikalny klucz ID Częścią klucza może być wersja Niezmienne dane Dane przypisane do danego klucza ID nie mogą być zmienione! Łatwe cacheowanie Niezmienne dane zawsze pozostaną w tej samej postaci Stabline komunikaty Każda ze stron rozumie wysłane dane w ten sam sposób

29 Projektowanie usług

30 Zasady tworzenia usług (1) Luźne powiązanie z minimalizacją zależności ograniczoną do świadomości istnienia innych usług Umowa serwisowa w zakresie uzgodnień komunikacji z innymi usługami i zgodnie z odpowiednią dokumentacją

31 Zasady tworzenia usług (2) Autonomia serwisu polegająca na samodzielnej kontroli logiki w nim zawartej Abstrakcja ukrywa logikę wewnętrzną udostępniając wyłącznie to co wynika z opisu usługi Ponowne użycie poprzez podział logiki na usługi

32 Zasady tworzenia usług (3) Zdolność do tworzenia złożonych i skoordynowanych usług kompozytowych Bezpaństwowość w celu ograniczenia przechowywanych informacji do specyficznych dla działania usługi Wyszukiwalność zapewniona zewnętrznym opisem w celu umożliwienia znalezienia usługi poprzez dostępne mechanizmy wyszukiwania

33 Budowa serwisów 20 lat terminu service-oriented Web Services a SOA –SOA to nie Web Services –Najlepiej przystosowana obecnie technologia do wykorzystania w architekturze SOA –Otwarty Standard opisujący interfejs usług (http://www.w3.org/TR/wsdl)

34 Narzędzia dla SOA SOAP przez HTTP (Simple Object Access Protocol) –Lekki protokół dla Web Serwisów –Wspierany przez Visual Studio i IIS –Pracuje z wieloma protokołami komunikacyjnym, np. NNTP, ale prawie zawsze wykorzystywany jest w połączeniu z HTTP –Niezależny od języka i systemu operacyjnego SW-* Rozszerzenie (opcjonalnie) –Zestaw rozszerzeń dla Web Serwisów

35 Ogólna charakterystyka SOA Stanowi podstawę platform zorientowanych na usługi Zwiększa jakość usług Z założenia autonomiczna Oparta na otwartych standardach Wspiera różnorodność dostawców Wspiera nierozerwalnie współpracę

36 Ogólna charakterystyka SOA Wspiera wyszukiwanie Wspiera powiązania Wspiera architekturę kompozytową Zapewnia nierozerwalnie ponowne użycie Kładzie nacisk na rozszerzalność Wspiera założenie modelowania biznesowego poprzez uslugi

37 Ogólna charakterystyka SOA Implementuje poziomy abstrakcji Wspiera luźne powiązania w ramach przedsiębiorstwa Wspiera elastyczność przedsiębiorstwa Jest elementem konstrukcyjnym Jest ewolucją rozwiązań Rozwija się Jest dążeniem do idealnego rozwiązania

38 Inne definicje SOA Architektura Platforma Fundacja, organizacja (IBM) Nowoczesna platforma SOA reprezentuje architekturę, która promuje zorientowanie na usługi poprzez użycie Web serwisów

39 Podniesienie jakości usług Bezpieczeństwo realizacji zadań, ochrona zawartości komunikatów, dostęp do poszczególnych usług Gwarancja dostarczenia komunikatu lub powiadomienia o braku doręczenia Zapewnienie wydajności przetwarzania zadań niezależnie od technologii przetwarzania komunikatów (narzuty SOAP, XML) Zapewnienie transakcyjności w celu ochrony integralności działań biznesowych włącznie z generowaniem wyjątków

40 Autonomiczność usług Wymagania niezależności i samowystarczalności usług w ramach realizowanej logiki Wykorzystanie komunikatów do zapewnienia niezależności

41 Otwarte standardy w SOA Wykorzystanie otwartych standardów w Web serwisach dla celów wymiany komunikatów Ograniczenie roli technologii w implementacji i utrzymaniu logiki aplikacji zawartej w usługach

42 Dywersyfikacja dostawców usług Umożliwienie wyboru najlepszego z dostępnych rozwiązań niezależnie od technologii

43 Klient SOA Wymagania Porównanie do serwisów SOA Zakleszczenia Architektura Przepływ wiadomości Struktura rozwiązania

44 Wymagania klienta SOA Klient może być aktualizowany z różnych źródeł włączając użytkownika Żadna akcja nie powinna wstrzymywać innej akcji Wybór pozycji menu przez użytkownika nie oznacza, że przyjęcie komunikatu obniżającego cenę powinno zostać opóźnione Wszystko musi być logowane Jeśli coś pójdzie nie tak musimy wiedzieć jak do tego doszło Niektóre gałęzie przemysłu wymagają pozostawienia informacji z wykonania akcji dla celów audytu

45 Klient vs. Serwis SOA Serwisy SOA powinny być bezstanowe Klient musi zachowywać stan Serwisy nie muszą być wielowątkowe, mogą przetwarzać jedną wiadomość w czasie Klienta musi być wielowątkowy – musi odpowiadać na akcje użytkownika równocześnie obsługując wiadomości Jak zapobiegać zakleszczeniom klienta?

46 Zakleszczenia klienta Są możliwe trzy poziomy obsługi/zapobiegania zakleszczeniom: –Architektura –Projekt –Kod

47 Zakleszczenia - kod Obsługa zakleszczeń w kodzie: –Mutex –Monitor –ReaderWriterLock –ManualResetEvent / AutoResetEvent –Interlocked –WaitHandle Jeśli w kodzie pojawiają się powyższe obiekty to oznacza to problemy…

48 Obsługa zakleszczeń klienta Obsługa zakleszczeń poprzez odpowiednie projektowanie: –Używaj synchronization domains (SD) do rozdzielenia zachowania systemu w czasie pracy –Wszystkie klasy klasy używane w wielu wątkach należy dziedziczyć z ContextBoundObject –Umieść atrybut [Synchronization] we wszystkich tych klasach Zalety: Zapewnienie dostępu tylko jednego wątku do grupy obiektów w tym samym czasie bez zakleszczeń Wady: Zły podział/wybór SD może prowadzić do słabej wydajności negując wymagania

49 Obsługa zakleszczeń klienta Obsługa zakleszczeń poprzez architekturę – Micro SOA: –Wymaga minimalnej ilości specyficznego kodu wielowątkowego –Używa kolejek w celu separowania wątków i komunikacji –Wszystkie obiekty (za wyjątkiem kolejek) są dostępne wyłącznie dla jednego obiektu Wyjątek: wątek interaktywny i wątek aktualizujący UI współdzielą obiekty –Następstwa: Wszystkie wątki potrzebują ich własnych kopii danych Zapis do bazy i zapis logów powinien odbywać się z wykorzystaniem własnych wątków Wysyłanie wiadomości z dużą szybkością obciąża system – oddzielne wątki

50 Architektura klienta Kolejka prezentacji Kolejka logiki Kolejka komunikacji Serwis prezentacji Serwis logiki Serwis komunikacyjny Wątek prezentacji Wątek logiki Wątek komunikacji Wątek interaktywny Kolejka dostępu do danych Serwis dostępu do danych Wątek dostępu do danych Żółte linie oznaczają operacje DeQueue, czerwone operacje EnQueue, Białe to bezpośrednie wywołania. Małe kółka reprezentują obiekty w pamięci. DB Tutaj należy użyć synchronizacji domen

51 Klient SOA – przepływ wiadomości Communications Data Access Logic Presentation Messages

52 Korzyści SOA Sukces poprzez cele biznesowe Zbliżenie biznesu i informatyki Modelowanie procesów narzędziami informatycznymi Skupienie na celu biznesowym w miejsce działającej aplikacji

53 Typowe błędy wdrożenia SOA Brak oparcia SOA na standardach Brak planu przejścia do SOA Brak solidnego planu architektury opartej na XMLu i brak umiejętności Niezrozumienie wymagań wydajnościowych SOA Niezrozumienie zasad bezpieczeństwa Web Serwisów

54 Czym nie jest SOA Magiczną sztuczką Czarodziejską różdżką Receptą na wszystkie problemy przedsiębiorstwa Gotowym szablonem dla wszystkich

55 Teraźniejszość SOA (IBM) 7 z 10 największych banków światowych Każdy z 10 największych producentów samochodów 2/3 z 25 największych firm telekomunikacyjnych Połowa z 50 największych firm elektronicznych 6 z 10 największych światowych ubezpieczycieli 80% największych producentów medycznych USA Połowa z 10 największych światowych sieci detalicznych Ponad 2500 partnerów biznesowych SOA

56 Literatura SOA for Dummies – Limited edition by IBM SOA – Concepts, Technology and Design – Thomas Erl MSDN SOA Resources MSDN Architecture Centre The ServerSide for.NET Blog Clemensa Vastersa Blog Dona Boxa

57 Pytania Czym jest SOA? Dla kogo jest SOA a dla kogo nie? Jakie są główne elementy SOA? Czym jest usługa? Jakie są korzyści z SOA?


Pobierz ppt "SOA Service Oriented Architecture AGH, Informatyka, Studia niestacjonarne, III rok, Mariusz Czarnecki."

Podobne prezentacje


Reklamy Google