SlideShare une entreprise Scribd logo
1  sur  55
Télécharger pour lire hors ligne
Architektura SOA
Wstęp
Andrzej Chmielarski
Agenda
• Wstęp.
• Czym jest SOA a czym nie jest.
• Konkurencja dla SOA.
• Podstawowa terminologia i koncepcja.
• Cykl życia usługi.
• Od czego zacząd? – Częśd praktyczna
• Pułapki w adaptacji SOA
• Role w organizacji związane z SOA.
• Certyfikaty
• Podsumowanie
Wstęp
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 usługi wynika z regulacji
(ang. policies), które są zewnętrzne w stosunku do samej usługi. 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 usługi 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 usługi
• 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 usługi
2. Minimalizacja zależności pomiędzy usługami
3. Abstrakcja usługi
4. Re-używalnośd usługi
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 usługi
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 usługi.
SLA
(Service Level Agreement)
Kontrakt usługi
* „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 usługi
Planowanie wdrożenia
SOA
Analiza istniejących
usług
Analiza zorientowana
na usługi
(Modelowanie usługi)
Projektowanie
zorientowane
na usługi
(Kontrakt usługi)
Projektowanie logiki
usługi
Wytwarzanie usługi Testowanie usługi
Wdrożenie
i utrzymanie usługi
Używanie
i monitorowanie
usługi
Wersjonowanie
i wycofanie usługi
Rozgłoszenie usługi
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 usługi
(Kontrakt usługi)
Planowanie wdrożenia
SOA
Analiza istniejących
usług
Analiza zorientowana
na usługi
(Modelowanie usługi)
Projektowanie logiki
usługi
Wytwarzanie usługi
Testowanie usługi
Wdrożenie
i utrzymanie usługi
Używanie
i monitorowanie
usługi
Analityk Usług
Analiza istniejących
usług
Analiza zorientowana
na usługi
(Modelowanie usługi)
2
3
Architekt Usług
Analiza zorientowana
na usługi
(Modelowanie usługi)
43
Projektowanie
zorientowane
na usługi
(Kontrakt usługi)
Projektowanie logiki
usługi
5
Używanie
i monitorowanie
usługi
9
Opiekun Usług
9
10
Używanie
i monitorowanie
usługi
8
Wdrożenie
i utrzymanie usługi
Rozgłoszenie usługi
Deweloper Usług
6
Wytwarzanie usług
Administrator Usług
7
Testowanie usługi
Wdrożenie
i utrzymanie usługi
Używanie
i monitorowanie
usługi
Wersjonowanie
I wycofanie usługi
8
9 11
Administrator Zasobów
Chmury
7
Testowanie usługi
Wdrożenie
i utrzymanie usługi
Używanie
i monitorowanie
usługi
Wersjonowanie
I wycofanie usługi
8
9 11
Opiekun Schematu
11
Projektowanie
zorientowane
na usługi
(Kontrakt usługi)
Wersjonowanie
I wycofanie usługi
4
Opiekun Polityki
11
Projektowanie
zorientowane
na usługi
(Kontrakt usługi)
Wersjonowanie
I wycofanie usługi
4
Specjalista Komunikacji
Technicznej
9
Projektowanie
zorientowane
na usługi
(Kontrakt usługi)
4
Używanie
i monitorowanie
usługi
Opiekun Zarządzania
Standardami
w Korporacji
11
Projektowanie
zorientowane
na usługi
(Kontrakt usługi)
5
Analiza istniejących
usług
Analiza zorientowana
na usługi
(Modelowanie usługi)
Projektowanie logiki
usługi
Wytwarzanie usługi
6
4
32
Wersjonowanie
i wycofanie usługi
Opiekun Rejestru Usług
10
Rozgłoszenie usługi
Specjalista
Bezpieczeostwa SOA
8
Projektowanie
zorientowane
na usługi
(Kontrakt usługi)
5
Projektowanie logiki
usługi
7
4
Testowanie usługi
Wdrożenie
i utrzymanie usługi
Używanie
i monitorowanie
usługi
9
Specjalista Jakości SOA
7
Testowanie usługi
Wdrożenie
i utrzymanie usługi
8
Specjalista Zarządzania SOA
Projektowanie
zorientowane
na usługi
(Kontrakt usługi)
Planowanie wdrożenia
SOA
Analiza istniejących
usług
Analiza zorientowana
na usługi
(Modelowanie usługi)
Projektowanie logiki
usługi
Wytwarzanie usługi
Testowanie usługi
Wdrożenie
i utrzymanie usługi
Używanie
i monitorowanie
usługi
Wersjonowanie
i wycofanie usługi
Rozgłoszenie usługi
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

Contenu connexe

Similaire à Architektura SOA - wstęp

Koprowski t certyfikacja_a_kariera_it_infomeet
Koprowski t certyfikacja_a_kariera_it_infomeetKoprowski t certyfikacja_a_kariera_it_infomeet
Koprowski t certyfikacja_a_kariera_it_infomeet
magda3695
 
Case study - Wdrożenie eCommerce w TIM SA
Case study - Wdrożenie eCommerce w TIM SACase study - Wdrożenie eCommerce w TIM SA
Case study - Wdrożenie eCommerce w TIM SA
Tomasz Karwatka
 
Case Study - eCommerce w TIM SA
Case Study - eCommerce w TIM SACase Study - eCommerce w TIM SA
Case Study - eCommerce w TIM SA
Divante
 
Poland- Smart Client Technology - MTS 2005
Poland- Smart Client Technology - MTS 2005Poland- Smart Client Technology - MTS 2005
Poland- Smart Client Technology - MTS 2005
Tomasz Cieplak
 

Similaire à Architektura SOA - wstęp (20)

JDD2015: DDD w praktyce, czyli jak wdrażamy i uczymy się DDD w Allegro - Krzy...
JDD2015: DDD w praktyce, czyli jak wdrażamy i uczymy się DDD w Allegro - Krzy...JDD2015: DDD w praktyce, czyli jak wdrażamy i uczymy się DDD w Allegro - Krzy...
JDD2015: DDD w praktyce, czyli jak wdrażamy i uczymy się DDD w Allegro - Krzy...
 
[PL] Zarządzanie procesami biznesowymi z wykorzystaniem platformy SharePoint
[PL] Zarządzanie procesami biznesowymi z wykorzystaniem platformy SharePoint[PL] Zarządzanie procesami biznesowymi z wykorzystaniem platformy SharePoint
[PL] Zarządzanie procesami biznesowymi z wykorzystaniem platformy SharePoint
 
Aplikacje Oracle w WĘGLOKOKS SA
Aplikacje Oracle  w WĘGLOKOKS  SAAplikacje Oracle  w WĘGLOKOKS  SA
Aplikacje Oracle w WĘGLOKOKS SA
 
Koprowski t certyfikacja_a_kariera_it_infomeet
Koprowski t certyfikacja_a_kariera_it_infomeetKoprowski t certyfikacja_a_kariera_it_infomeet
Koprowski t certyfikacja_a_kariera_it_infomeet
 
Manifest SOA nieoficjalne tłumaczenie na j.polski
Manifest SOA  nieoficjalne tłumaczenie na j.polskiManifest SOA  nieoficjalne tłumaczenie na j.polski
Manifest SOA nieoficjalne tłumaczenie na j.polski
 
Case study - Wdrożenie eCommerce w TIM SA
Case study - Wdrożenie eCommerce w TIM SACase study - Wdrożenie eCommerce w TIM SA
Case study - Wdrożenie eCommerce w TIM SA
 
Case Study - eCommerce w TIM SA
Case Study - eCommerce w TIM SACase Study - eCommerce w TIM SA
Case Study - eCommerce w TIM SA
 
Marek Sokołowski @ "Usługi PaaS oraz IaaS - przegląd dostępnego osprzętu i am...
Marek Sokołowski @ "Usługi PaaS oraz IaaS - przegląd dostępnego osprzętu i am...Marek Sokołowski @ "Usługi PaaS oraz IaaS - przegląd dostępnego osprzętu i am...
Marek Sokołowski @ "Usługi PaaS oraz IaaS - przegląd dostępnego osprzętu i am...
 
BizDevOps – prezentacja koncepcji
BizDevOps – prezentacja koncepcjiBizDevOps – prezentacja koncepcji
BizDevOps – prezentacja koncepcji
 
[PL] Bez trudu i ryzyka! Jak tworzyć przepływy pracy w SharePoint?
[PL] Bez trudu i ryzyka! Jak tworzyć przepływy pracy w SharePoint?[PL] Bez trudu i ryzyka! Jak tworzyć przepływy pracy w SharePoint?
[PL] Bez trudu i ryzyka! Jak tworzyć przepływy pracy w SharePoint?
 
WF w zastosowaniach Web
WF w zastosowaniach WebWF w zastosowaniach Web
WF w zastosowaniach Web
 
PLNOG16: Microsoft Azure dla Inżynierów Sieciowych, Mirosław Burnejko
PLNOG16: Microsoft Azure dla Inżynierów Sieciowych, Mirosław BurnejkoPLNOG16: Microsoft Azure dla Inżynierów Sieciowych, Mirosław Burnejko
PLNOG16: Microsoft Azure dla Inżynierów Sieciowych, Mirosław Burnejko
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Poland- Smart Client Technology - MTS 2005
Poland- Smart Client Technology - MTS 2005Poland- Smart Client Technology - MTS 2005
Poland- Smart Client Technology - MTS 2005
 
Budowanie przewagi konkurencyjnej BPM
Budowanie przewagi konkurencyjnej BPMBudowanie przewagi konkurencyjnej BPM
Budowanie przewagi konkurencyjnej BPM
 
Tech cafe Microservices
Tech cafe MicroservicesTech cafe Microservices
Tech cafe Microservices
 
Rola projektowania architektonicznego w inżynierii oprogramowania zorientowan...
Rola projektowania architektonicznego w inżynierii oprogramowania zorientowan...Rola projektowania architektonicznego w inżynierii oprogramowania zorientowan...
Rola projektowania architektonicznego w inżynierii oprogramowania zorientowan...
 
university day 1
university day 1university day 1
university day 1
 
Praktyczne użycie chmury 3 kroki
Praktyczne użycie chmury 3 krokiPraktyczne użycie chmury 3 kroki
Praktyczne użycie chmury 3 kroki
 
Elitmind @ 113. Spotkanie Data Community, Warszawa - Business Intelligence w ...
Elitmind @ 113. Spotkanie Data Community, Warszawa - Business Intelligence w ...Elitmind @ 113. Spotkanie Data Community, Warszawa - Business Intelligence w ...
Elitmind @ 113. Spotkanie Data Community, Warszawa - Business Intelligence w ...
 

Plus de Sages

Wprowadzenie do technologi Big Data i Apache Hadoop
Wprowadzenie do technologi Big Data i Apache HadoopWprowadzenie do technologi Big Data i Apache Hadoop
Wprowadzenie do technologi Big Data i Apache Hadoop
Sages
 

Plus de Sages (20)

Python szybki start
Python   szybki startPython   szybki start
Python szybki start
 
Budowanie rozwiązań serverless w chmurze Azure
Budowanie rozwiązań serverless w chmurze AzureBudowanie rozwiązań serverless w chmurze Azure
Budowanie rozwiązań serverless w chmurze Azure
 
Docker praktyczne podstawy
Docker  praktyczne podstawyDocker  praktyczne podstawy
Docker praktyczne podstawy
 
Angular 4 pragmatycznie
Angular 4 pragmatycznieAngular 4 pragmatycznie
Angular 4 pragmatycznie
 
Jak działa blockchain?
Jak działa blockchain?Jak działa blockchain?
Jak działa blockchain?
 
Qgis szybki start
Qgis szybki startQgis szybki start
Qgis szybki start
 
Bezpieczne dane w aplikacjach java
Bezpieczne dane w aplikacjach javaBezpieczne dane w aplikacjach java
Bezpieczne dane w aplikacjach java
 
Wprowadzenie do technologi Big Data i Apache Hadoop
Wprowadzenie do technologi Big Data i Apache HadoopWprowadzenie do technologi Big Data i Apache Hadoop
Wprowadzenie do technologi Big Data i Apache Hadoop
 
Technologia Xamarin i wprowadzenie do Windows IoT core
Technologia Xamarin i wprowadzenie do Windows IoT coreTechnologia Xamarin i wprowadzenie do Windows IoT core
Technologia Xamarin i wprowadzenie do Windows IoT core
 
Zrób dobrze swojej komórce - programowanie urządzeń mobilnych z wykorzystanie...
Zrób dobrze swojej komórce - programowanie urządzeń mobilnych z wykorzystanie...Zrób dobrze swojej komórce - programowanie urządzeń mobilnych z wykorzystanie...
Zrób dobrze swojej komórce - programowanie urządzeń mobilnych z wykorzystanie...
 
Szybkie wprowadzenie do eksploracji danych z pakietem Weka
Szybkie wprowadzenie do eksploracji danych z pakietem WekaSzybkie wprowadzenie do eksploracji danych z pakietem Weka
Szybkie wprowadzenie do eksploracji danych z pakietem Weka
 
Jak zacząć przetwarzanie małych i dużych danych tekstowych?
Jak zacząć przetwarzanie małych i dużych danych tekstowych?Jak zacząć przetwarzanie małych i dużych danych tekstowych?
Jak zacząć przetwarzanie małych i dużych danych tekstowych?
 
Wprowadzenie do Big Data i Apache Spark
Wprowadzenie do Big Data i Apache SparkWprowadzenie do Big Data i Apache Spark
Wprowadzenie do Big Data i Apache Spark
 
Wprowadzenie do technologii Puppet
Wprowadzenie do technologii PuppetWprowadzenie do technologii Puppet
Wprowadzenie do technologii Puppet
 
Budowa elementów GUI za pomocą biblioteki React - szybki start
Budowa elementów GUI za pomocą biblioteki React - szybki startBudowa elementów GUI za pomocą biblioteki React - szybki start
Budowa elementów GUI za pomocą biblioteki React - szybki start
 
Vert.x v3 - high performance polyglot application toolkit
Vert.x v3 - high performance  polyglot application toolkitVert.x v3 - high performance  polyglot application toolkit
Vert.x v3 - high performance polyglot application toolkit
 
Wprowadzenie do technologii Big Data / Intro to Big Data Ecosystem
Wprowadzenie do technologii Big Data / Intro to Big Data EcosystemWprowadzenie do technologii Big Data / Intro to Big Data Ecosystem
Wprowadzenie do technologii Big Data / Intro to Big Data Ecosystem
 
Codepot - Pig i Hive: szybkie wprowadzenie / Pig and Hive crash course
Codepot - Pig i Hive: szybkie wprowadzenie / Pig and Hive crash courseCodepot - Pig i Hive: szybkie wprowadzenie / Pig and Hive crash course
Codepot - Pig i Hive: szybkie wprowadzenie / Pig and Hive crash course
 
Podstawy AngularJS
Podstawy AngularJSPodstawy AngularJS
Podstawy AngularJS
 
Wprowadzenie do technologii Big Data
Wprowadzenie do technologii Big DataWprowadzenie do technologii Big Data
Wprowadzenie do technologii Big Data
 

Architektura SOA - wstęp