Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Service Oriented Architecture

Podobne prezentacje


Prezentacja na temat: "Service Oriented Architecture"— Zapis prezentacji:

1 Service Oriented Architecture
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 Typowe problemy 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 b Application c Application logic

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

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

13 Główne punkty SOA (1) Ludzie Procesy Informacje
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 Ponowne użycie
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 cache’owanie 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
Data Access Messages Communications Logic Presentation

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 XML’u 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 Clemens’a Vasters’a Blog Don’a Box’a

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 "Service Oriented Architecture"

Podobne prezentacje


Reklamy Google