SOAP & REST služby. Rozdíly, architektury, použití

Podobné dokumenty
X33EJA Web Services. Martin Ptáček, KOMIX s.r.o.

1. Webové služby. K čemu slouží? 2. RPC Web Service. 3. SOA Web Service. 4. RESTful Web services

Využití JBoss Fuse ve skandinávské energetice

Požadavky pro výběrová řízení TerraBus ESB/G2x

Řešení integrace Profinit ESB. Michal Bureš

Úvod do Web Services

TECHNICKÁ SPECIFIKACE VEŘEJNÉ ZAKÁZKY

Integrací aplikací proti blackoutům

UAI/612 - Cloudová Řešení. Návrh aplikací pro cloud

Správa a sledování SOA systémů v Oracle SOA Suite

InternetovéTechnologie

Komponentový návrh SW

Analýza a Návrh. Analýza

Enterprise Service Bus (ESB)

Nasazení webových služeb do enterprise prostředí. Petr Steckovič


Semináˇr Java X J2EE Semináˇr Java X p.1/23

Servisně orientovaná architektura a její aplikace v systémech sledování a řízení výroby

Dodávka systému pro Integrační server

Obsah Úvod 11 Jak být úspěšný Základy IT

Úvod. Petr Aubrecht (CA) Martin Ptáček (Wincor Nixdorf) Je 10 typů lidí: ti, kteří znají binární kód, a ti, kteří ne.

KIV/SI. Rozílová témata. Jan Valdman, Ph.D.

SOA Enterprise Service Bus

ADMINISTRACE POČÍTAČOVÝCH SÍTÍ. OPC Server

Architektura orientovaná na služby Návrh orientovaný na služby. Ing. Petr Weiss. VUT v Brně,, FIT, UIFS

Platformy / technologie. Jaroslav Žáček

Zabezpečení platformy SOA. Michal Opatřil Corinex Group

Platforma J2EE. Lukáš Zapletal liberix.cz. Platforma Java 2 Enterprise Edition

PLATFORMY / TECHNOLOGIE JAROSLAV ŽÁČEK

Business Intelligence

Architektury informačních systémů

Architektury informačních systémů

SOA a Cloud Computing

Architektury Informačních systémů. Jaroslav Žáček

Softwarové komponenty a Internet

Technologie Java Enterprise Edition. Přemek Brada, KIV ZČU

ČMSS: CRM systém pro efektivní práci s klienty

Microsoft Azure Workshop

Architektury Informačních systémů. Jaroslav Žáček

UAI/612 - Cloudová Řešení. Technologie

WCF. IW5 - Programování v.net a C# WCF

Servisně orientovaná architektura Základ budování NGII

Vnořený Ensemble nové integrované aplikace. Martin Zubek, Account manager

Obsah: Základní pojmy, definice Informační systémy IT architektura Typické aplikační komponenty Implementace aplikací

Tvorba informačních systémů

Dejte sbohem papírovým fakturám. Vítejte ve světě elektronických faktur!

1 PODNIKOVÁ SBRNICE SLUŽEB SONIC (SONIC ESB)

PROPOJOVÁNÍ POČÍTAČOVÝCH APLIKACÍ

IBM Cloud computing. Petr Leština Client IT Architect. Jak postavit enterprise cloud na klíč IBM Corporation

Digitální identita Moderní přístup k identifikaci klienta. Pavel Šiška, Štěpán Húsek, Deloitte Digital - Technology Services

Michal Krátký, Miroslav Beneš

Service Component Architecture a komponenty Oracle SOA Suite

Různé tváře WebSphere Portal

Vhodnost nasazení jednotlivých webových architektur, sdílení dat, perzistence, webové služby a REST, asynchronnost, messaging

Projekt JetConf REST API pro vzdálenou správu

KIV/PIA 2013 Jan Tichava

Elektronické dokumenty - jak efektivně na jejich správu a bezpečnost?

Centrální přístupový bod k informačním zdrojům resortu Ministerstva zemědělství Portál MZe a Portál eagri

PA165: Úvod do Java EE. Petr Adámek

Tvorba informačních systémů

Technologie Java. Jaroslav Žáček

Webové služby a XML. Obsah přednášky. Co jsou to webové služby. Co jsou to webové služby. Webové služby a XML

Komponenta Human Task v Oracle SOA Suite

Podniková sběrnice služeb

Hynek Cihlář Podnikový architekt Od Indoše ke Cloudu

IT integrace na univerzitách

Intelligent Services behind Smart Grid Milníky digitalizace - Smart Life Praha 25.ledna

IBA CZ průmyslový partner FI MU

Platformy / technologie. Jaroslav Žáček jaroslav.zacek@osu.cz

JAK SE PŘIPOJIT K EGOVERNMENTU? Michal Polehňa, Jiří Winkler

Petr Vlk KPCS CZ. WUG Days října 2016

VZOROVÝ STIPENDIJNÍ TEST Z INFORMAČNÍCH TECHNOLOGIÍ

(Enterprise) JavaBeans. Lekce 7

Tvorba informačních systémů

Novinky v oblasti SAP Mobility. Martin Zikmund, Presale Mobility Platforms Miroslav Řehoř, Account Executive

Budování architektury pomocí IAA

Tvorba podnikových aplikací v jazyce JAVA. Josef Pavlíček KII PEF CZU

Michal Krátký, Miroslav Beneš

1. Integrační koncept

Vývoj informačních systémů. Přehled témat a úkolů

Správa projektového portfolia v systému ADVANTA

Chytrá systémová architektura jako základ Smart Administration

Vytvoření procesně integrační nástavby KUBIKI pro ERP systém MAX+

Testování Java EE aplikací Petr Adámek

ZADÁVACÍ DOKUMENTACE pro výběrové řízení na dodavatele vzdělávání v oblasti integrace systémů ICT

Utility Pack. Optimální řešení pro utilitní společnosti. Výhody Utility Pack: Flexibilita. Podpora růstu. Snížení nákladů. Rozvoj a aktualizace řešení

EMBARCADERO TECHNOLOGIES. Jak na BYOD chytře? Možnosti zapojování různých mobilních zařízení do podnikových informačních systémů.

STORK Secure Identity Across Borders Linked

Přístup k řízení GIS jako součásti Enterprise Architecture

Vývoj informačních systémů. Přehled témat a úkolů

Sjednocení dohledových systémů a CMDB

Integrace dat. RNDr. Ondřej Zýka

WEBOVÉ SYSTÉMY PORADENSKÝCH SLUŽEB WEB-BASED ADVISORY SERVICE SYSTEMS. Milan Mišovič, Jana Andrýsková

ČESKÁ TECHNICKÁ NORMA

Implementace SOA v GE Money

ARBES ECM MODERNÍ SYSTÉM. určený k digitalizaci, tvorbě, správě, sdílení a archivaci dokumentů a obsahu.

Nástroje a frameworky pro automatizovaný vývoj. Jaroslav Žáček jaroslav.zacek@osu.cz

ArcGIS for Server. V oblasti správy, vizualizace a zpracování prostorových dat nabízí ArcGIS for Server tyto možnosti:

Integrace podnikových Open Source aplikací v praxi. RNDr. Petr Novák, Open Source Conference Praha, 19. duben 2011

Testování SOA systémů v Oracle SOA Suite

Transkript:

SOAP & REST služby Rozdíly, architektury, použití

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

Webové a REST služby - příklad Webová služba POST /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>pepa@email.cz</contactemail> <contactmobile>420777222555</contactmobile> <mktemail>y</mktemail> </CreateContactPersonRequest> </SOAP-ENV:Body> </SOAP-ENV:Envelope> REST služba POST /crm/contactperson HTTP/1.1 Content-Type: application/json; charset=utf-8 { "ContactPerson": { "contactemail": "pepa@email.cz", "contactmobile": "420777222555", "mktemail": "Y" } } 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> HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 { "ContactPerson": { "crmcprefno": "986089" "contactemail": "pepa@email.cz", "contactmobile": "420777222555", "mktemail": "Y" } } 3

Webové a REST služby - rozdíly SOAP Webové služby SOAP je protokol SOAP zprostředkovává přístup ke službám Data v XML formátu podle SOAP protokolu Specifikace WSDL+XSD WS-Security + SSL Podporuje transakce - WS-Transaction SOAP je náročnější na objem dat Volání nemohou být kešovány REST služby REST je více architekturní vzor REST zprostředkovává přístup k datovým zdrojům Různé datové formáty, nejčastěji JSON Specifikace WADL, není všeobecně používaná Pouze SSL Nepodporuje transakce Vhodný formát dat je úspornější (např. JSON) Volání mohou být kešovány 4

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

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

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

SOA Enterprise Service Bus symboly scénářů 8

SOA Enterprise Service Bus - scénáře Virtualizace Zpřístupnění služby 9

SOA Enterprise Service Bus - scénáře Obohacení dat voláním služby Verzování služby 10

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

Microservice Architecture Tradiční monolitické aplikace Aplikace v Microservice Architecture 12

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

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žeb 14

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, Web Selfcare eshop Web Portal Apps Integration Platform CRM Mediation DWH Billing Provisioning 15

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

Nástroje pro vývoj SOAP a REST služeb Web Services API (Java) JAX-WS referenční implementace v Java Spring-WS Axis2 CXF Testování SOAP UI Rest Services API (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

Workshop - Vývoj v React & Spring Boot 18

Děkuji za pozornost