soap & rest službyzacek/infs2/soaprest.pdf · 2018-03-20 · webové a rest služby - rozdíly...
TRANSCRIPT
![Page 1: SOAP & REST službyzacek/infs2/SoapRest.pdf · 2018-03-20 · Webové a REST služby - rozdíly SOAP Webové služby REST služby SOAP je protokol REST je více architekturní vzor](https://reader033.vdocuments.net/reader033/viewer/2022042100/5e7cfd669ca9134748117b5f/html5/thumbnails/1.jpg)
SOAP & REST službyRozdíly, architektury, použití …
![Page 2: SOAP & REST službyzacek/infs2/SoapRest.pdf · 2018-03-20 · Webové a REST služby - rozdíly SOAP Webové služby REST služby SOAP je protokol REST je více architekturní vzor](https://reader033.vdocuments.net/reader033/viewer/2022042100/5e7cfd669ca9134748117b5f/html5/thumbnails/2.jpg)
Obsah
• Srovnání SOAP a REST služeb
• Service Oriented Architecture
• Microservice Architecture
• Příklady použití
• Nástroje pro vývoj SOAP a REST služeb (v Java)
2
![Page 3: SOAP & REST službyzacek/infs2/SoapRest.pdf · 2018-03-20 · Webové a REST služby - rozdíly SOAP Webové služby REST služby SOAP je protokol REST je více architekturní vzor](https://reader033.vdocuments.net/reader033/viewer/2022042100/5e7cfd669ca9134748117b5f/html5/thumbnails/3.jpg)
Webová službaPOST /crmapi/CreateContactPersonManagement HTTP/1.1
SOAPAction: "CreateContactPerson"
Content-Type: text/xml; charset=utf-8
<SOAP-ENV:Envelope>
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<CreateContactPersonRequest>
<contactEmail>[email protected]</contactEmail>
<contactMobile>420777222555</contactMobile>
<mktEmail>Y</mktEmail>
</CreateContactPersonRequest>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
<SOAP-ENV:Envelope>
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<CreateContactPersonResponse>
<crmCpRefNo>986089</crmCpRefNo>
<resultCode>0</resultCode>
<resultMessage></resultMessage>
</CreateContactPersonResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Webové a REST služby - příklad
3
REST službaPOST /crm/ContactPerson HTTP/1.1
Content-Type: application/json; charset=utf-8
{
"ContactPerson": {
"contactEmail": "[email protected]",
"contactMobile": "420777222555",
"mktEmail": "Y"
}
}
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"ContactPerson": {
"crmCpRefNo": "986089"
"contactEmail": "[email protected]",
"contactMobile": "420777222555",
"mktEmail": "Y"
}
}
![Page 4: SOAP & REST službyzacek/infs2/SoapRest.pdf · 2018-03-20 · Webové a REST služby - rozdíly SOAP Webové služby REST služby SOAP je protokol REST je více architekturní vzor](https://reader033.vdocuments.net/reader033/viewer/2022042100/5e7cfd669ca9134748117b5f/html5/thumbnails/4.jpg)
Webové a REST služby - rozdíly
SOAP Webové služby REST služby
SOAP je protokol REST je více architekturní vzor
SOAP zprostředkovává přístup ke službám REST zprostředkovává přístup k datovým zdrojům
Data v XML formátu podle SOAP protokolu Různé datové formáty, nejčastěji JSON
Specifikace WSDL+XSD Specifikace WADL, není všeobecně používaná
WS-Security + SSL Pouze SSL
Podporuje transakce - WS-Transaction Nepodporuje transakce
SOAP je náročnější na objem dat Vhodný formát dat je úspornější (např. JSON)
Volání nemohou být “kešovány” Volání mohou být “kešovány”
4
![Page 5: SOAP & REST službyzacek/infs2/SoapRest.pdf · 2018-03-20 · Webové a REST služby - rozdíly SOAP Webové služby REST služby SOAP je protokol REST je více architekturní vzor](https://reader033.vdocuments.net/reader033/viewer/2022042100/5e7cfd669ca9134748117b5f/html5/thumbnails/5.jpg)
SOA Service Oriented Architecture
• Vzájemná komunikace aplikací prostřednictvím služeb definovaným komunikačním protokolem
• Providers – poskytovatelé služeb
• Consumers – uživatelé služeb
• Enterprise Service Bus - integrační/komunikační vrstva
5
![Page 6: SOAP & REST službyzacek/infs2/SoapRest.pdf · 2018-03-20 · Webové a REST služby - rozdíly SOAP Webové služby REST služby SOAP je protokol REST je více architekturní vzor](https://reader033.vdocuments.net/reader033/viewer/2022042100/5e7cfd669ca9134748117b5f/html5/thumbnails/6.jpg)
SOA Komponenty
• Message-Oriented Middleware (MOM) – transportní infrastruktura
• Enterprise Service Bus (ESB) – integrační infrastruktura (routing, datové transformace, adaptéry)
• Business Process and Workflow Engines – komplexní business procesy
• Rule Engines – rozhodovací pravidla
• Complex Event Processing – detekce fraudu, zpracování eventů na základě analýzy dat, procesů, …
• Directory Services – definice služeb, endpointů
• Business Activity Monitoring – vizualizace business procesů, KPI monitoring
• Management, Administration, Monitoring
6
![Page 7: SOAP & REST službyzacek/infs2/SoapRest.pdf · 2018-03-20 · Webové a REST služby - rozdíly SOAP Webové služby REST služby SOAP je protokol REST je více architekturní vzor](https://reader033.vdocuments.net/reader033/viewer/2022042100/5e7cfd669ca9134748117b5f/html5/thumbnails/7.jpg)
SOA Enterprise Service Bus
• Framework pro transformace, zpracování, routování a monitorování jednoduchých i komplexních datových struktur
• Jsou založeny na standardech a platformně nezávislé
• Poskytují:
adaptéry pro přístup ke službám různými protokoly (SOAP, HTTP, JMS, FTP, SMTP/POP3, …)
konfigurovatelné routování zpráv (synchronní, asynchronní) mezi různými messaging platformami
transakční zpracování (pro protokoly, které transakčnost podporují)
logování a zpracování chybových stavů
• Výhody
volné spojení (loose coupling) komponent a procesů
flexibilita v integraci aplikací (snadná možnost změny, náhrady služby, …)
zjednodušení vazeb mezi aplikacemi
možnost rychlé reakce na business požadavky
7
![Page 8: SOAP & REST službyzacek/infs2/SoapRest.pdf · 2018-03-20 · Webové a REST služby - rozdíly SOAP Webové služby REST služby SOAP je protokol REST je více architekturní vzor](https://reader033.vdocuments.net/reader033/viewer/2022042100/5e7cfd669ca9134748117b5f/html5/thumbnails/8.jpg)
SOA Enterprise Service Bus – symboly scénářů
8
![Page 9: SOAP & REST službyzacek/infs2/SoapRest.pdf · 2018-03-20 · Webové a REST služby - rozdíly SOAP Webové služby REST služby SOAP je protokol REST je více architekturní vzor](https://reader033.vdocuments.net/reader033/viewer/2022042100/5e7cfd669ca9134748117b5f/html5/thumbnails/9.jpg)
SOA Enterprise Service Bus - scénáře
• Virtualizace
• Zpřístupnění služby
9
![Page 10: SOAP & REST službyzacek/infs2/SoapRest.pdf · 2018-03-20 · Webové a REST služby - rozdíly SOAP Webové služby REST služby SOAP je protokol REST je více architekturní vzor](https://reader033.vdocuments.net/reader033/viewer/2022042100/5e7cfd669ca9134748117b5f/html5/thumbnails/10.jpg)
SOA Enterprise Service Bus - scénáře
• Obohacení dat voláním služby
• Verzování služby
10
![Page 11: SOAP & REST službyzacek/infs2/SoapRest.pdf · 2018-03-20 · Webové a REST služby - rozdíly SOAP Webové služby REST služby SOAP je protokol REST je více architekturní vzor](https://reader033.vdocuments.net/reader033/viewer/2022042100/5e7cfd669ca9134748117b5f/html5/thumbnails/11.jpg)
Service Oriented Architecture – výhody/nevýhody
✓ Přepoužitelnost služeb
✓ Jednotlivé aplikace mohou být vyvíjeny v různých technologiích.
✓ Interface služeb odpovídá zvolenému protokolu (SOAP, REST, …) a specifikaci
Výpadek aplikace má dopad na všechny aplikační služby (single point of failure)
Problémy jedné služby mohou negativně ovlivnit funkčnost ESB
Poměrné náročný management a monitoring infrastruktury
11
![Page 12: SOAP & REST službyzacek/infs2/SoapRest.pdf · 2018-03-20 · Webové a REST služby - rozdíly SOAP Webové služby REST služby SOAP je protokol REST je více architekturní vzor](https://reader033.vdocuments.net/reader033/viewer/2022042100/5e7cfd669ca9134748117b5f/html5/thumbnails/12.jpg)
Microservice Architecture
12
Tradiční monolitické aplikace Aplikace v Microservice Architecture
![Page 13: SOAP & REST službyzacek/infs2/SoapRest.pdf · 2018-03-20 · Webové a REST služby - rozdíly SOAP Webové služby REST služby SOAP je protokol REST je více architekturní vzor](https://reader033.vdocuments.net/reader033/viewer/2022042100/5e7cfd669ca9134748117b5f/html5/thumbnails/13.jpg)
Microservices Architecture
• Aplikace jsou složeny z malých nezávislých procesů, které vzájemně komunikují prostřednictvím API.
• Jednotlivé služby jsou samostatně „deploy-ovatelné“ a je možné je vyvíjet samostatně.
• Nezávislost na kontextu – funkčnost služby nesmí být závislá na kontextu (session)
13
![Page 14: SOAP & REST službyzacek/infs2/SoapRest.pdf · 2018-03-20 · Webové a REST služby - rozdíly SOAP Webové služby REST služby SOAP je protokol REST je více architekturní vzor](https://reader033.vdocuments.net/reader033/viewer/2022042100/5e7cfd669ca9134748117b5f/html5/thumbnails/14.jpg)
Microservices Architecture – výhody/nevýhody
✓ Jednotlivé služby mohou být vyvíjeny v různých technologiích
✓ Interface služeb odpovídá zvolenému protokolu (SOAP, REST, …) a specifikaci
✓ Výpadek jedné služby má minimální dopad na okolí, ostatní instance služby mohou dále spolehlivě fungovat
✓ Vývoj jednotlivé služby je jednodušší, snadněji pochopitelný pro nové vývojáře
✓ Škálovatelnost
✓ Volné provázání – minimální vzájemná závislost
Složitější architektura – vzájemná komunikace mezi službami, více databází & transaction management.
Testování – testování služby vyžaduje všechny závislé služby
Deployment – komplexnost, vyžaduje koordinaci deploymentu jednotlivých služeb14
![Page 15: SOAP & REST službyzacek/infs2/SoapRest.pdf · 2018-03-20 · Webové a REST služby - rozdíly SOAP Webové služby REST služby SOAP je protokol REST je více architekturní vzor](https://reader033.vdocuments.net/reader033/viewer/2022042100/5e7cfd669ca9134748117b5f/html5/thumbnails/15.jpg)
Využití v praxi – SOA & Web Services
• API Paypal, Salesforce, Clickatell SMS
• B2B komunikace při prodeji ADSL služeb
• Integrace aplikací u TELCO operátorů, bank, …
15
CRM ProvisioningDWH
Web Selfcare eShop
BillingMediation
Integration Platform
Web Portal Apps
![Page 16: SOAP & REST službyzacek/infs2/SoapRest.pdf · 2018-03-20 · Webové a REST služby - rozdíly SOAP Webové služby REST služby SOAP je protokol REST je více architekturní vzor](https://reader033.vdocuments.net/reader033/viewer/2022042100/5e7cfd669ca9134748117b5f/html5/thumbnails/16.jpg)
Využití v praxi – Microservices & REST
• API Twitter, LinkedIn, Slack
• Webové aplikace vyvíjené pro různá zařízení
• Aplikace pro zpřístupnění bankovních služeb v rámci Směrnice EU o platebních službách (PSD2)
16
![Page 17: SOAP & REST službyzacek/infs2/SoapRest.pdf · 2018-03-20 · Webové a REST služby - rozdíly SOAP Webové služby REST služby SOAP je protokol REST je více architekturní vzor](https://reader033.vdocuments.net/reader033/viewer/2022042100/5e7cfd669ca9134748117b5f/html5/thumbnails/17.jpg)
Nástroje pro vývoj SOAP a REST služeb
• Web ServicesAPI (Java)
JAX-WS – referenční implementace v Java Spring-WS Axis2 CXF
Testování SOAP UI
• Rest ServicesAPI (Java)
JAX-RS - referenční implementace v Java EE Jersey spring-web, spring-webmvc
Testování Postman SOAP UI
Swagger – framework pro design, generování/sestavení rozhraní služeb, dokumentace, testování
17
![Page 18: SOAP & REST službyzacek/infs2/SoapRest.pdf · 2018-03-20 · Webové a REST služby - rozdíly SOAP Webové služby REST služby SOAP je protokol REST je více architekturní vzor](https://reader033.vdocuments.net/reader033/viewer/2022042100/5e7cfd669ca9134748117b5f/html5/thumbnails/18.jpg)
18
Workshop - Vývoj v React & Spring Boot
![Page 19: SOAP & REST službyzacek/infs2/SoapRest.pdf · 2018-03-20 · Webové a REST služby - rozdíly SOAP Webové služby REST služby SOAP je protokol REST je více architekturní vzor](https://reader033.vdocuments.net/reader033/viewer/2022042100/5e7cfd669ca9134748117b5f/html5/thumbnails/19.jpg)
Děkuji za pozornost