Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Service-Oriented Architecture

Architektura zorientowana na usługi
by

Kamil Kozioł

on 20 July 2016

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Service-Oriented Architecture

uwierzytelnianie
autoryzacja
autentyczność i integralność danych
poufność danych
Service-Oriented Architecture
Wprowadzenie do SOA
Charakterystyka
Agenda
Wprowadzenie do SOA
Koncepcja
Definicje
SOA w odniesieniu do Web Services i systemów grid’owych
SOA w odniesieniu do innych architektur
Charakterystyka
Architektura
Usługi
Cechy
Organizacja
Enterprise Service Bus
Wartości biznesowe, korzyści i wady
Bezpieczeństwo SOA
Podstawowe aspekty
Realizacja
Często spotykane problemy
Usługi
Kamil Kozioł
Sebastian Kosz
Jan Hartabus
Dominik Kądziołka
Dominika Karnia
Justyna Garbacz
Architektura SOA
Koncepcja architektury zorientowanej na usługi lub potocznie SOA (ang.
Service Oriented Architecture
) nie jest podejściem nowym, ponieważ jej tematyka została poruszona w roku
1994
przez analityków grupy
Gartnera
.
Definicja SOA - według Gartnera
"SOA jest architekturą oprogramowania bazującą na definicji interfejsów. Tworzy ona topologie aplikacji na podstawie usług, ich implementacji oraz wywołań"
... usługa?
Powtarzalna czynność biznesowa - np. sprawdzanie salda rachunku, aktywacja klienta, pozyskanie danych klienta, odczyt licznika
... zorientowanie na usługi?
Sposób postrzegania biznesu jako powiązanych usług i rezultatów ich wykonania
... architektura usługowa (SOA)?
Architektura IT, która wspiera zorientowanie na usługi
... aplikacja komponentowa?
Zbiór powiązanych i zintegorwanych usług realizujący konkretny proces biznesowy, wykorzystujący SOA
Wartości biznesowe, korzyści i wady
Bezpieczeństwo SOA
Definicja SOA od IBM, Oracle, Microsoft
"SOA definiuje koncepcję budowy systemów informatycznych przedsiębiorstw zorientowanych na usługi, czyli współdzielone pomiędzy dwoma aplikacjami, sprawdzone komponenty"

Zgodnie z przedstawioną definicją podejście nie jest związane z najnowszymi technologiami czy produktami, a jedynie z najlepszymi praktykami, projektowaniu oraz integracji.
Możliwość stopniowego rozwoju
Większa elastyczność na zmiany
Ponowne użycie – niższe koszty
Możliwość zróżnicowania dostawców
Oparcie na otwartych standardach
Wsparcie dla federacyjności
Zalety
duże ryzyko biznesowe
problemy związane z standardami SOA
trudności w adaptacji procesów
problem zdefiniowania i zmierzenia korzyści biznesowych
brak osób posiadających wiedzę i doświadczenie w implementacji SOA
Wady
Cecha:
„reużywalność” usług
minimalizacja redundantnych funkcji
lepsze wykorzystanie zasobów sprzętowych
szybsza implementacja zmian
Dlaczego podejście SOA?
Skutek:
niższe koszty sprzętu
mniejsze koszty utrzymania i rozwoju
wyższa sprawność działania dzięki szybszemu reagowaniu na zmiany
Dlaczego podejście SOA?
IT realizuje kluczowe potrzeby dla biznesu
możliwość integracji z systemami zewnętrznymi
zwiększenie elastyczności procesów biznesowych
szybsza reakcja przy zmieniających się potrzebach biznesu
poprawa przepływu oraz dostępu do informacji z różnych źródeł wewnątrz przedsiębiorstwa
Korzyści dla biznesu
radykalne zmniejszenie kosztów utrzymania IT
redukcja kosztów integracji systemów informatycznych
obniżenie kosztów wdrażania nowych systemów
Korzyści finansowe
D. Panda : "Introduction to Service-Oriented Architecture from a Java Developer Perspective"
Ogólne aspekty bezpieczeństwa usług
Wdrożenie rozwiązań zorientowanych na usługi nie jest procesem łatwym i wymaga wielu przygotowań po stronie biznesu jak i samego IT. Istnieją jednak przyjęte zasady mogące wyraźnie udoskonalić ten proces:
Granularność usług
Niezależność od platformy
Stanardy
Ponowne zatosowanie
Skalowalność
Wdrożenia Service-Oriented Architecture
Schematy zabezpieczeń
Transport level security
Message level security
Rys. 1. Transport level security
Źródło: Problemy bezpieczeństwa w architekturze SOA (Bartosz Brodecki, Jerzy Brzeziński, Piotr Sasak, Michał Szychowiak), Chapter in Nauka w obliczu społeczeństwa cyfrowego. I Konferencja i3: internet - infrastruktury - informacje (Damian Niemir, Maciej Stroiński, Jan Węglarz, eds.), Ośroder Wydawnictw Naukowych, 2010, pp. 3
Rys. 2. Message level security
Źródło: Problemy bezpieczeństwa w architekturze SOA (Bartosz Brodecki, Jerzy Brzeziński, Piotr Sasak, Michał Szychowiak), Chapter in Nauka w obliczu społeczeństwa cyfrowego. I Konferencja i3: internet - infrastruktury - informacje (Damian Niemir, Maciej Stroiński, Jan Węglarz, eds.), Ośroder Wydawnictw Naukowych, 2010, pp. 4
Architektura S A
- podział front-end / back-end
- separacja logiki biznesowej od technologii
- dekompozycja procesów na elementarne składniki
- enkapsulacja/składanie usług w bardziej złożone usługi
- heterogeniczność technologiczna
- heterogeniczność dostawców komponentów
Wielowymiarowa problematyka zagadnienia
Usługa
ESB BLUEPRINT
Założenia w architekturze SOA
reużywalność usług

dekompozycja wymagań biznesowych na wymagane przez nie funkcje i usługi

użycie istniejących zasobów przez udostępnienie ich w SOA jako usług

budowanie nowej logiki biznesowej i jej integracja z nowo przygotowanymi usługami w SOA

uniknięcie sieci powiązań point-to-point/punkt-punkt
"czarna skrzynka"
SOA - inne elementy składowe
Architektura "przed" i "po" SOA
SOA w skali makro
ESB
Enterprise Service Bus
Zarys pojęcia nakreślony przez
Gartner
w
2002
, później rozwinięty przez analityka Roy’a Schulte’a - opis kategorii produktów zaobserwowanych w tym czasie na rynku.

- styl integracji architektury umożliwiający komunikację przez magistralę składającą się z sieci połączeń pomiędzy usługami
- infrastruktura, którą przedsiębiorstwa wykorzystują do integracji usług na płaszczyźnie aplikacji
- wzorzec architektoniczny zezwalający na współdziałanie usług w środowisku heterogenicznym
Zagadnienie architektury SOA - źródła
Technologie WWW
Nowszymi sposobami organizacji i technologiami w dziedzinie obliczeń rozproszonych (będącymi wciąż w fazie rozwoju) są:
architektura zorientowana na usługi (SOA)
Web Services – technologia przetwarzania rozproszonego oparta o technologie WWW
systemy gridowe – systemy, w których rozproszone zasoby udostępniane są w sposób niezależny od fizycznej realizacji
http://ubiquity.acm.org/article.cfm?id=1159403
http://ceur-ws.org/Vol-244/paper3.pdf
http://pl.wikipedia.org/wiki/EbXML
http://en.wikipedia.org/wiki/Universal_Description_Discovery_and_Integration
http://www.packtpub.com/article/modeling-orchestration-and-choreography-in-service-oriented-architecture
http://en.wikipedia.org/wiki/Service-oriented_architecture
http://soapatterns.org/compound_patterns/service_broker
http://www.metal.agh.edu.pl/~banas/SR/SR_W06_WebServices.pdf
http://www.tridens.si/expertise/soa/
http://www.comtrade.com/it-services/service-oriented-architecture/
https://na.theiia.org/Pages/IIAHome.aspx
http://www.onjava.com/
http://www.onjava.com/pub/a/onjava/2005/01/26/soa-intro.html
http://docs.oracle.com/cd/E17904_01/doc.1111/e15020/introduction.htm
http://www.computerworld.pl/artykuly/321812/SOA.podstawy.architektury.html
http://www.mulesoft.org/what-esb
http://www.oracle.com/technetwork/articles/soa/ind-soa-esb-1967705.html
http://www.oracle.com/us/technologies/soa/oracle-soa-governance-best-practice-066427.pdf
http://www.techopedia.com/definition/5229/enterprise-service-bus-esb
Problemy związne z bezpieczeństwem

KrDZIs3011Si
podszywanie
naruszenie poufności i integralności interakcji
ataki typu
man in the middle
DoS (Denial of Service) i DDoS (Distributed Denial of Service)
luźne powiązanie komponentów aplikacji i wysoka skala rozproszenia
SOA
Architektury usługowe odróżnia się od architektur obiektowych i architektur komponentowych
Usługi zgłoszone w systemach SOA mogą być jednocześnie klientami innych usług
W ten sposób można tworzyć złożone schematy przetwarzania (workflows) składające się z wielu, odpowiednio zorganizowanych usług
Architektura usługowa (SOA) jest w tym ujęciu przeciwstawiona architekturze komponentowej (CBD)
Web Services (usługi internetowe)
Nazwą Web Services określa się dziś jedną z możliwych
realizacji modelu SOA, umożliwiającą wykorzystanie istniejącej infrastruktury internetowej (protokół HTTP, przeglądarki).
Systemy gridowe
W wizji tej pojedynczy użytkownik po podłączeniu do
sieci (i uiszczeniu odpowiednich opłat) uzyskuje dostęp
do mnogości usług w jednolity sposób i niezależnie od
konkretnego sposobu implementacji tych usług oraz
stosowanego sprzętu.
• 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ę
• 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 usługi
• 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
Ogólna charakterystyka SOA
1. Jarosław Łagowski IBM Polska SOA – Ideologia nie technologia
2. Artykuł Dr Teresy Sternik Systemy informatyczne obsługujące współczesną działalność ubezpieczeniową. Rodzaje, rola i uwarunkowania
3. Christopher Koch, Artykuł Prawda o SOA
4. Dennis Brandl, Artykuł pod redakcją dr. inż. Andrzeja Ożadowicza, AGH Kraków, Architektura zorientowana na usługi - nowa koncepcja realizacji zadań w systemach automatyki
1. SOA ma zastosowanie dla aplikacji biznesowych
2. SOA jest architekturą komponentów - „czarnych skrzynek”. Istotą jest ukrycie przed Odbiorcą Usługi jej elementów składowych.
3. Komponenty SOA są luźno powiązane (loosely coupled)
4. Komponenty SOA są aranżowane i współpracują ze sobą realizując proces biznesowy
Podstawowe cechy SOA:
Czym jest usługa?
usługą określa się każdy element oprogramowania, mogący działać niezależnie od innych oraz posiadający wyspecyfikowany interfejs, za pomocą którego udostępnia realizowane funkcje
Klasyfikacja usług
Cechy usług w SOA
samowystarczalne
luźno połączone
wykrywalne
bezstanowe
wielokrotnie stosowane
podzielone na komponenty
technicznie interoperacyjne
Źródła:
http://www.controlengineering.pl/menu-gorne/artykul/article/architektura-zorientowana-na-uslugi-nowa-koncepcja-realizacji-zadan-w-systemach-automatyki/
http://www.metal.agh.edu.pl/~banas/SR/SR_W06_WebServices.pdf
http://kne.sggw.pl/?jak-wdrozenie-podejscia-procesowego-wspieranego-architektura-it-zorientowana-na-uslugi-%28soa%29-wpisuje-sie-w-koncepcje-organizacji-uczacej-sie-,283
http://sens.e-informatyka.pl/wp-content/uploads/TBE/SOA.pdf
http:// youtu.be/IkTAnNNtX-Y?t=8s
W SOA wszystkie funkcje realizowane przez system informatyczny to pojedyncze usługi połączone w obrębie jednej platformy. System ten pozwala na wymianę pojedyńczej usługi nie naruszając jej struktury.
Na początku istnienia systemu liczba usług jest niewielka, z czasem potrafi osiągnąć nawet ok. tysiąca.
Reprezentują niezależne funkcjonalności biznesowe, będące częścią jednego lub wielu procesów
Ich realizacja może odbywać się
przy użyciu dowolnej technologii,
w oparciu o jakąkolwiek platformę
Mogą być na różnych poziomach,
od technicznych do biznesowych.

Usługi w SOA:
Usługi w SOA możemy podzielić na:
Złożone
Podstawowe
Procesowe
Token bezpieczeństwa (ang. security token)
szyfrowanie
uwierzytelnianie
podpisywanie
wiadomości
certyfikat
klucze
Przykładem takim może być postrzeganie aplikacji zgodnie ze specyfikacją, jako luźno powiązanego komponentu realizującego proces biznesowy o określonym poziomie świadczenia usługi.
Prawdziwe Service Oriented Architecture
łatwy dostęp do zasobów
możliwość integracji aplikacji niezależnie od platformy
odejście od integracji opartej o interfejsy, na rzecz warstwy pośredniej
łatwe modernizowanie i rozbudowywanie istniejących rozwiązań
udostępnianie funkcjonalności aplikacji w postaci usług
Korzyści dla IT
W przypadku systemów rozproszonych trudność rozwiązywania problemów bezpieczeństwa rośnie wraz ze skalą rozproszenia systemu i jego heterogenicznością. Dodatkowym czynnikiem, są również przypadki realizacji przetwarzania w środowisku obejmującym różne domeny administracyjne.
Źródło: "Problemy bezpieczeństwa w architurze SOA" Brodecki B., Brzeziński J., Sasak P., Szychowiak M.
Źródło: SOA in Practice: The Art of Distributed System Design
Autor: Nicolai M. Josuttis, 2007, str. 7
http://books.google.pl/books?id=jUn0mXGXUIcC&lpg=PP1&hl=pl&pg=PR4#v=onepage&q&f=false
Zagrożenia
ataki SQL Injection
XML eXternal Entity
XML DoS
XML Signature dereference
Ataki przechwycenie/odtworzenie (Capture/Replay)
XPath Injection
źródło: Muszyński J., Podstawy bezpieczeństwa SOA
http://www.computerworld.pl/artykuly/347213_1/Podstawy.bezpieczenstwa.SOA.html
Źródło: Konferencja zbuduj nowoczesne IT w oparciu o IBM WebSphere, 2011, IBM, Bartłomiej Machnik i Andrzej Kowalczyk
http://www.slideshare.net/IBM_Software_Polska/biznes-zorientowany-na-usugi-6880195
Jarosław Łagowski, IBM Polska,XV Konferencja PLOUG, 2009, SOA – Ideologia nie technologia
Źródło: Dr hab. inż. Krzysztof Banaś, prof. AGH, Sieciowe programowanie rozproszone – SOA, WebServices i systemy gridowe, 2013
http://www.metal.agh.edu.pl/~banas/SR/SR_W06_WebServices.pdf
Źródło: Altkom Akademia S.A. - Architektura zorientowana na usługi (SOA), szkolenie na YouTube
Źródło: Altkom Akademia S.A. - Architektura zorientowana na usługi (SOA), szkolenie na YouTube
Źródło: Konferencja zbuduj nowoczesne IT w oparciu o IBM WebSphere, 2011, IBM, Bartłomiej Machnik i Andrzej Kowalczyk
http://www.slideshare.net/IBM_Software_Polska/biznes-zorientowany-na-usugi-6880195
Źródło: www.si.pjwstk.edu.pl/dydaktyka/mgr/2006-2007-winter/SOA.ppt‎
Źródła: http://www.softwareag.com/media/2mins/SWAG_SOA_2ME/SWAG_SOA_preso.html
http://software.com.pl/soa-czyli-service-oriented-architecture/
http://www.opengroup.org/soa/source-book/soa/soa_features.htm
www.uwplatt.edu/csse/courses/prev/csse411-materials/s11/dubeya_Service%20Oriented%20Architecture.pptm
http://www.accenture.com/us-en/Pages/service-soa-business-benefits.aspx
http://www.qat.com/assets_articles/Soa_Business_Value.pdf
http://hbr.org/2008/06/the-next-revolution-in-productivity/ar/1
Pozostałe źródła:
http://pl.cyclopaedia.net/wiki
Architektura_zorientowana_na_usługi
SOA, WebServices i systemy gridowe
http://www.metal.agh.edu.pl/~banas/SR/SR_W06_WebServices.pdf
http://msdn.microsoft.com/en-us/library/aa480021.aspx
http://www.sei.cmu.edu/reports/07tr015.pdf
Artykuł AGH
http://www.controlengineering.pl/.../architektura.../
SOA Governance
http://www.oracle.com/.../oracle-soa-governance-best...
Materiały do Frameworków SOA:
http://en.wikipedia.org/wiki/Service-oriented_architecture_implementation_framework
http://www.win.tue.nl/~cstahl/Papers/AalstBHKS2007_csrep.pdf
http://www.eclipse.org/swordfish/
http://www.pwc.com/us/en/increasing-it-effectiveness/assets/- Framework_for_SOA_Services_Final_v2_7.9.pdf
http://ceur-ws.org/Vol-244/paper3.pdf
http://ceur-ws.org/Vol-244/
http://www.controlengineering.pl/menu-gorne/artykul/article/architektura-zorientowana-na-uslugi-nowa-koncepcja-realizacji-zadan-w-systemach-automatyki/
http://www.epicor.com/poland/Solutions/Pages/Serviceoriented.aspx
http://www-01.ibm.com/software/pl/soa/launch/innovate_model.html
https://www.soa.edu.pl/web/guest/home
http://www.oracle.com/pl/products/middleware/soa/index.html
Dziękujemy za uwagę!
Full transcript