ݺߣ

ݺߣShare a Scribd company logo
Architektura SOA
²ę
Andrzej Chmielarski
Agenda
• ²ę.
• Czym jest SOA a czym nie jest.
• Konkurencja dla SOA.
• Podstawowa terminologia i koncepcja.
• Cykl życia ܲłܲ.
• Od czego zacząd? – Częśd praktyczna
• Pułapki w adaptacji SOA
• Role w organizacji związane z SOA.
• Certyfikaty
• Podsumowanie
²ę
Czym jest architektura?
Architektura
Elementy
(komponenty)
Standardy
Relacje
Architektura - cechy
• Architektura pojawia się na wczesnym etapie
• Architektura jest cechą każdego systemu
• Architektura dzieli system na komponenty i wytycza granice
• Architektura dotyczy interakcji komponentów oraz relacji
• Architektura wyjaśnia przesłanki wyborów
• Żadna pojedyncza struktura nie jest architekturą
• Wspomaga świadomie zarządzad ryzykiem i wyjątkami w standardach
* Za „Wzorce SOA. Najlepsze podejście do wytwarzania oprogramowania” Arnon Rotem-Gal-Oz
Czym jest SOA a czym nie
jest
SOA – Co się pod tym kryje
Akronim SOA (ang. Service Oriented Architecture)
– Architektura Zorientowana na Usługi
Termin użyty po raz pierwszy w 1996 r. przez
Roy’a Schulte i Yeffim’a V. Natiz z firmy Gartner.
W roku 2005 po raz pierwszy zostało opublikowanych 8 pryncypiów
dla tworzenia usług w architekturze SOA.
Thomas Erl
SOA – Definicja*
Jest stylem tworzenia systemów opartych na interakcjach luźno
powiązanych, gruboziarnistych i autonomicznych komponentów zwanych
usługami. Każda usługa ujawnia określone procesy i zachowania poprzez
kontrakty, które składają się z komunikatów w wykrywalnych adresach
zwanych punktami koocowymi. Zachowanie ܲłܲ wynika z regulacji
(ang. policies), które są zewnętrzne w stosunku do samej ܲłܲ. Kontrakty
i komunikaty są wykorzystywane przez zewnętrzne komponenty zwane
konsumentami usług.
* Za „Wzorce SOA. Najlepsze podejście do wytwarzania oprogramowania” Arnon Rotem-Gal-Oz
SOA – Manifest*
Wartośd biznesowa nad strategią techniczną
Cele strategiczne nad korzyści projektowe
Interoperacyjnośd nad niestandardową integracją
Udostępniane ܲłܲ nad specyficzną integracją
Elastycznośd nad optymalizacją
Ewolucyjne udoskonalenie nad dążenie do początkowej doskonałości
* http://www.soa-manifesto.org/
Najważniejsze cechy SOA
• Bazuje na otwartych standardach
• Jest komponowalna architektonicznie
• Jest zdolna sprostad powszechnym wymaganiom jakości usług
SOA – Czym nie jest
1.Zestawem technologii.
2.Strategią ponownego, wielokrotnego wykorzystania elementów.
3.Rozwiązaniem dla każdej organizacji.
Inne podejścia do architektury
• Klient-serwer
• Architektura zdarzeniowa (ang. Event-driven architecture )
• Peer-to-peer
• Mikro ܲłܲ
• Architektura „spaghetti”
• inne
Podstawowa terminologia
i koncepcja
SOACP Master Symbol Legend
http://www.arcitura.com/notation
Usługa
* „SOA. Koncepcje, technologie i projektowanie” Thomas Erl
Etap
procesu
Podproces
Proces
Usługa
Usługa
Usługa
Pryncypia
1. Wystandaryzowany kontrakt ܲłܲ
2. Minimalizacja zależności pomiędzy usługami
3. Abstrakcja ܲłܲ
4. Re-używalnośd ܲłܲ
5. Autonomia usług
6. Bezstanowośd usług
7. Wykrywalnośd usług
8. Kompatybilnośd usług
* http://www.soa-manifesto.org/
Wspólne kwestie projektowania usług
• Granularnośd
• Utworzenie kontraktu
• Bezpieczeostwo
• Zarządzanie
Kontrakt ܲłܲ
Składa się z jednego lub kilku publicznych dokumentów zawierających
meta dane o usłudze oraz inne dokumenty opisujące warunki użytkowania tej ܲłܲ.
SLA
(Service Level Agreement)
Kontrakt ܲłܲ
* „SOA Governance” Thomas Erl
Rejestr usług (prywatny, publiczny)
Produkt, system lub aplikacja
Człowiek
Repozytorium usług
Usługi
Spotykane technologie w SOA
• XML
• XSD
• Web service
• Web 2.0 & mashups
• ESB
• Siatka usług
• Wirtualizacja usług
• Chmura obliczeniowa
• Pozostałe
Enterprise Service Bus
• Wspólny punkt zarządzania usługami
• Umożliwia integrację z różnymi technologiami
• Pozwala zastosowad koncepcję SOA
Wzorce architektoniczne
http://soapatterns.org/
Cykl życia ܲłܲ
Planowanie wdrożenia
SOA
Analiza istniejących
usług
Analiza zorientowana
na ܲłܲ
(Modelowanie ܲłܲ)
Projektowanie
zorientowane
na ܲłܲ
(Kontrakt ܲłܲ)
Projektowanie logiki
ܲłܲ
Wytwarzanie ܲłܲ Testowanie ܲłܲ
Wdrożenie
i utrzymanie ܲłܲ
Używanie
i monitorowanie
ܲłܲ
Wersjonowanie
i wycofanie ܲłܲ
Rozgłoszenie ܲłܲ
Od czego zacząć?
Częśd praktyczna
Pułapki w adaptacji SOA
Lista najważniejszych pułapek w
adaptacji SOA
1.Architektura budowana na wzór tradycyjnej.
2.Brak standaryzacji.
3.Brak planu transformacji.
4.Początki bez XML.
5.Ignorowanie wymagao wydajnościowych SOA.
6.Niedocenienie bezpieczeostwa usług sieciowych.
7.Niedotrzymywanie kroku nowoczesnym platformom i standardom.
Role w organizacji związane z
SOA
Architekt Korporacyjny
Projektowanie
zorientowane
na ܲłܲ
(Kontrakt ܲłܲ)
Planowanie wdrożenia
SOA
Analiza istniejących
usług
Analiza zorientowana
na ܲłܲ
(Modelowanie ܲłܲ)
Projektowanie logiki
ܲłܲ
Wytwarzanie ܲłܲ
Testowanie ܲłܲ
Wdrożenie
i utrzymanie ܲłܲ
Używanie
i monitorowanie
ܲłܲ
Analityk Usług
Analiza istniejących
usług
Analiza zorientowana
na ܲłܲ
(Modelowanie ܲłܲ)
2
3
Architekt Usług
Analiza zorientowana
na ܲłܲ
(Modelowanie ܲłܲ)
43
Projektowanie
zorientowane
na ܲłܲ
(Kontrakt ܲłܲ)
Projektowanie logiki
ܲłܲ
5
Używanie
i monitorowanie
ܲłܲ
9
Opiekun Usług
9
10
Używanie
i monitorowanie
ܲłܲ
8
Wdrożenie
i utrzymanie ܲłܲ
Rozgłoszenie ܲłܲ
Deweloper Usług
6
Wytwarzanie usług
Administrator Usług
7
Testowanie ܲłܲ
Wdrożenie
i utrzymanie ܲłܲ
Używanie
i monitorowanie
ܲłܲ
Wersjonowanie
I wycofanie ܲłܲ
8
9 11
Administrator Zasobów
Chmury
7
Testowanie ܲłܲ
Wdrożenie
i utrzymanie ܲłܲ
Używanie
i monitorowanie
ܲłܲ
Wersjonowanie
I wycofanie ܲłܲ
8
9 11
Opiekun Schematu
11
Projektowanie
zorientowane
na ܲłܲ
(Kontrakt ܲłܲ)
Wersjonowanie
I wycofanie ܲłܲ
4
Opiekun Polityki
11
Projektowanie
zorientowane
na ܲłܲ
(Kontrakt ܲłܲ)
Wersjonowanie
I wycofanie ܲłܲ
4
Specjalista Komunikacji
Technicznej
9
Projektowanie
zorientowane
na ܲłܲ
(Kontrakt ܲłܲ)
4
Używanie
i monitorowanie
ܲłܲ
Opiekun Zarządzania
Standardami
w Korporacji
11
Projektowanie
zorientowane
na ܲłܲ
(Kontrakt ܲłܲ)
5
Analiza istniejących
usług
Analiza zorientowana
na ܲłܲ
(Modelowanie ܲłܲ)
Projektowanie logiki
ܲłܲ
Wytwarzanie ܲłܲ
6
4
32
Wersjonowanie
i wycofanie ܲłܲ
Opiekun Rejestru Usług
10
Rozgłoszenie ܲłܲ
Specjalista
Bezpieczeostwa SOA
8
Projektowanie
zorientowane
na ܲłܲ
(Kontrakt ܲłܲ)
5
Projektowanie logiki
ܲłܲ
7
4
Testowanie ܲłܲ
Wdrożenie
i utrzymanie ܲłܲ
Używanie
i monitorowanie
ܲłܲ
9
Specjalista Jakości SOA
7
Testowanie ܲłܲ
Wdrożenie
i utrzymanie ܲłܲ
8
Specjalista Zarządzania SOA
Projektowanie
zorientowane
na ܲłܲ
(Kontrakt ܲłܲ)
Planowanie wdrożenia
SOA
Analiza istniejących
usług
Analiza zorientowana
na ܲłܲ
(Modelowanie ܲłܲ)
Projektowanie logiki
ܲłܲ
Wytwarzanie ܲłܲ
Testowanie ܲłܲ
Wdrożenie
i utrzymanie ܲłܲ
Używanie
i monitorowanie
ܲłܲ
Wersjonowanie
i wycofanie ܲłܲ
Rozgłoszenie ܲłܲ
Certyfikacja
Certyfikaty i egzaminy
Exam
Certified
SOA
Consultant
Certified
SOA
Analyst
Certified
SOA
Architect
S90.01 – Fundamental SOA & Service-Oriented Computing X X X
S90.02 – SOA Technology Concepts X X
S90.03 – SOA Design & Architecture X X X
S90.04 – SOA Project Delivery & Methodology X X
S90.05 – SOA Technology Lab X
S90.06 – Advanced SOA Analysis & Modeling X
S90.07 – SOA Analysis & Modeling Lab X
S90.08 – Advanced SOA Design & Architecture X
S90.09 – SOA Design & Architecture LAB X
Certyfikaty i egzaminy
Exam
Certified
SOA Java
Developer
Certified
SOA .NET
Developer
S90.01 – Fundamental SOA & Service-Oriented Computing X X
S90.02 – SOA Technology Concepts X X
S90.03 – SOA Design & Architecture X X
S90.04 – SOA Project Delivery & Methodology
S90.05 – SOA Technology Lab X X
S90.10 – Advanced Web-Based Service Technology X
S90.11 – Service Development with Java X
S90.12 – Service Development Lab with Java X
S90.13 – Service Development with .NET & Windows Azure X
S90.14 – Service Development Lab with .NET & Windows Azure X
Certyfikaty i egzaminy
Exam
Certified
SOA Governance
Specialist
Certified
SOA Securit
Specialist
S90.01 – Fundamental SOA & Service-Oriented Computing X X
S90.02 – SOA Technology Concepts X
S90.03 – SOA Design & Architecture X X
S90.04 – SOA Project Delivery & Methodology X
S90.15 – Fundamental SOA Governance X
S90.16 – Advanced SOA Governance X
S90.17 – SOA Governance Lab X
S90.18 – Fundamental SOA Security X
S90.19 – Advanced SOA Security X
S90.20 – SOA Security Lab X
Certyfikaty i egzaminy
Exam
Certified
SOA Quality
Assurance
Specialist
S90.01 – Fundamental SOA & Service-Oriented Computing X
S90.03 – SOA Design & Architecture X
S90.21 – Fundamental SOA Quality Assurance X
S90.22 – Advanced SOA Quality Assurance X
S90.23 – SOA Quality Assurance Lab X
Centrum egzaminacyjne i materiały do
nauki
Zysk z architektury SOA
• Zmniejsza obciążenie IT
• Zwiększa zwinnośd organizacji
• Zwiększa ROI
• Zwiększa możliwośd dywersyfikacji dostawców
• Zbliża biznes i IT
• Zwiększa federacyjnośd organizacji
• Zwiększa wewnętrzną możliwośd organizacji do integracji
Podsumowanie
Pytania
Kontakt
Andrzej Chmielarski
E-mail: a.chmielarski@gmail.com
•Zapoznaj się z ofertą szkoleniową
Chcesz wiedzieć więcej?
Podczas naszych szkoleń:
• pracujemy w grupach 4-8 osobowych
• program może być dostosowany do oczekiwań grupy
• rozwiązujemy i odpowiadamy na indywidualne pytania uczestników
• mamy dużo więcej czasu :)
•I odbierz na nie zniżkę w wysokości
Wybierz jedno szkolenie z poniższych
35%
Wprowadzenie do SOA
Korporacyjna Magistrala Usług na przykładzie Mule ESB
Architektura systemów w chmurze na przykładzie Amazon Web
Services
Partnerzy

More Related Content

Architektura SOA - wstęp