Komunikacja międzysystemowa

Podobne dokumenty
Programowanie Komponentowe WebAPI

Programowanie komponentowe

Simple Object Access Protocol

Web Service y w Javie

Wybrane problemy modelu usługowego

Rozproszone systemy Internetowe

Wielowarstwowe aplikacje internetowe. Web Services. Autorzy wykładu: Maciej Zakrzewicz Marek Wojciechowski. Web Services

Rozproszone systemy internetowe. Wprowadzenie. Koncepcja zdalnego wywołania procedury

Usługi sieciowe (Web Services)

SOAP i alternatywy. 1. WSDL. 2. Protokoły tekstowe XML-RPC. JSON-RPC. SOAPjr. 3. Protokoły binarne Google Protocol Bufers. Apache Thrift.

Wprowadzenie do technologii Web Services: SOAP, WSDL i UDDI

Specyfikacja API 1.0. Specyfikacja kontroli Konta systemu CashBill z wykorzystaniem API opartego na REST

XML-RPC: Zdalne wykonywanie procedur

Web Services. Wojciech Mazur. 17 marca Politechnika Wrocławska Wydział Informatyki i Zarządzania

Plan wykładu. Technologia Web Services. Web Services a WWW

Programowanie. Dodatek - uzupełnienie wiadomości. mgr inż. Krzysztof Szwarc. Sosnowiec,

Zaawansowane aplikacje internetowe. Wykład 6. Wprowadzenie do Web Services. wykład prowadzi: Maciej Zakrzewicz. Web Services

Usługi sieciowe REST. Instytut Informatyki Politechnika Poznańska

Dostęp do komponentów EJB przez usługi Web Services

Wybrane działy Informatyki Stosowanej

Architektura aplikacji

SOAP. Autor: Piotr Sobczak

Platforma.NET Wykład 13 Tworzenie usług sieciowych SOAP i WCF. Spis treści. Marek Sawerwain. 7 czerwca Notatki. Notatki

Aplikacje webowe z wykorzystaniem Node.js oraz Express

Wprowadzenie do usług internetowych

Spring, Maven, Postman, Debugger

Usługi WWW. dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska Opole zlipinski@math.uni.opole.pl

Elektroniczna wymiana danych (EDI) jest to: - wymiana informacji pomiędzy komputerami, z użyciem powszechnie akceptowanych standardów

Hybrydowe aplikacje webowe

RESTful API Whitepaper 01. Wstęp

ASP.NET MVC 4 & WEB API. Jamie Kurtz

Komunikacja i wymiana danych

Technologie cyfrowe. Artur Kalinowski. Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15 Artur.Kalinowski@fuw.edu.

XML w elektronicznej wymianie danych i integracji aplikacji

Web Services. Bartłomiej Świercz. Łódź, 2 grudnia 2005 roku. Katedra Mikroelektroniki i Technik Informatycznych. Bartłomiej Świercz Web Services

Poniższy diagram prezentuje scenariusz subskrypcji aplikacji do usługi CallEventNotifications.

RESTful Android. Na co zwrócić uwagę przy tworzeniu aplikacji klienckich REST na Androidzie

EPI: Interfejs Graficzny Wykład nr 4 Podstawy frameworku Rails

Wprowadzenie do technologii Web Services: SOAP, WSDL i UDDI

Technologie dla aplikacji klasy enterprise. Wprowadzenie. Marek Wojciechowski

Architektury Usług Internetowych. Laboratorium 2 RESTful Web Services

JAX-RS czyli REST w Javie. Adam Kędziora

DOKUMENTACJA INTERFEJSU API - HTTPS

Dokumentacja. Wersja: 1.5 Ostatnio zmodyfikowano: Strona 1

Protokoly w technologii obiektow rozproszonych - CORBA, RMI/IIOP, COM, SOAP. Paweł Kozioł p.koziol@students.mimuw.edu.pl

Terytorialna analiza danych

Jak widzisz w powyższym przykładzie, mimo że operacja nie powiodła się (otrzymaliśmy status Błąd ), serwer zwrócił nam kod 200 OK.

Budowa aplikacji w technologii. Enterprise JavaBeans. Maciej Zakrzewicz PLOUG

Konspekt pracy inżynierskiej

Gatesms.eu Mobilne Rozwiązania dla biznesu

Specyfikacja interfejsów usług Jednolitego Pliku Kontrolnego

Architektura chmur i wirtualizacja. Wykład 7 Mashups hybrydowe aplikacje webowe

Rozproszone technologie Web Services

Specyfikacja techniczna. mprofi Interfejs API

Systemy obiegu informacji i Protokół SWAP "CC"

Ruby i Ruby on Rails. Mateusz Drożdżyński

Baza numerów Wersja 1.1

Podręcznik Integracji

Rozproszone systemy internetowe

Programowanie współbieżne i rozproszone

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (

XML w elektronicznej wymianie danych i integracji aplikacji

Nowoczesne zastosowania XML

Wybrane działy Informatyki Stosowanej

PROJEKTOWANIE APLIKACJI INTERNETOWYCH

Dokumentacja serwera REST do obsługi rezerwacji w systemie SaNAtoRIUm.pro

Serwery. Autorzy: Karol Czosnowski Mateusz Kaźmierczak

Platformy programistyczne:.net i Java L ABORATORIUM 7,8: HACKATHON - JTTT

XML - wprowadzenie. <message> <text> Dobrze </text> </message> <message> <text> Źle </message> </text> <message> <message> <text> Źle.

Efektywne tworzenie aplikacji webowych z wykorzystaniem AngularJS, HTML5 i JavaScript

Przygotowanie do nowoczesnego programowania po stronie przeglądarki. (HTML5, CSS3, JS, wzorce, architektura, narzędzia)

Orange Send MMS. Autoryzacja. Metoda HTTP. Parametry wywołania. API wyślij MMS dostarcza wiadomości MMS. Basic POST

ABC WCF.

Ćwiczenie dotyczące platformy Java EE zostało przygotowane z myślą o środowisku NetBeans w wersji 7.3 (do pobrania z

AfterMarket.pl nowoczesne rozwiązania wtórnego rynku domen. Michał Pleban Michau Enterprises, Ltd.

Database Connectivity

SR - kolos 1 opracowanie

Programowanie współbieżne i rozproszone

Programowanie w Sieci Internet JSP ciąg dalszy. Kraków, 9 stycznia 2015 r. mgr Piotr Rytko Wydział Matematyki i Informatyki

NoSQL Not Only SQL, CouchDB. I.Wojnicki, NoSQL. Apache CouchDB has started. Time to relax. Igor Wojnicki

mgr inż. Michał Paluch

Spring Web MVC, Spring DI

Rozdział ten przedstawia jeden ze sposobów implementacji usług sieciowych XML i aplikacji klienckich w PHP. Oprogramowanie

Forum Client - Spring in Swing

[1.9.0] Zlecenia odbioru

Oprogramowanie i wykorzystanie stacji roboczych. Wykład 4

Plan prezentacji. Budowa aplikacji w technologii Enterprise JavaBeans. Przegląd architektur: CORBA. Cele budowy aplikacji rozproszonych

Podejścia do realizacji Web Services

4 Web Forms i ASP.NET Web Forms Programowanie Web Forms Możliwości Web Forms Przetwarzanie Web Forms...152

Tworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery. Łukasz Bartczuk

Projekt Fstorage. Łukasz Podkalicki Bartosz Kropiewnicki

Projektowanie architektury systemu rozproszonego. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Programowanie obiektowe

Programowanie w Internecie

Michał Jankowski. Remoting w.net 2.0

Dokumentacja Techniczna. Dokumentacja techniczna usługi płatności mobilnych

Dokumentacja Techniczna 1.2. Webtoken MT. Uruchomienie subskrybcji MT poprzez serwis WWW

Równoległość w środowisku rozproszonym. Jarosław Kuchta Programowanie Współbieżne

Program szkolenia: REST i Microservices w PHP

API JSA Integracja JSA z systemami uczelnianymi

Transkrypt:

Komunikacja międzysystemowa REST API 06.12.2017 Karol Buler

O czym będzie? O komunikacji ogólnie Application programming interface (API) Wybrane metody komunikacji REST API JavaScript Object Notation (JSON) Protokół HTTP wybrane zagadnienia CRUD SwaggerUI live demo

To nie jest wszystko jedyne słuszne rozwiązanie

O komunikacji ogólnie

Komunikacja ruch środków lokomocji między odległymi od siebie miejscami; też: drogi, szlaki i środki lokomocji przekazywanie i odbieranie informacji w bezpośrednim kontakcie z drugą osobą możliwość przedostania się z jednego pomieszczenia lub miejsca do drugiego przepływ informacji między urządzeniami, np. telefonami lub komputerami https://sjp.pwn.pl/slowniki/komunikacja.html

Przykład psa?

Przykład psa?

Przykład psa?

Przykład psa?

Przykład psa?

Interfejs

Interfejs updateuser() getuser() adduser()

Interfejs updateuser() getuser() adduser()

Interfejs updateuser() getuser() deleteuser() adduser()

Interfejs updateuser() getuser() deleteuser() adduser()

Application programming interface (API)

API Programiści wiedzą jakich metod mogą użyć do komunikacji z innym systemem Dzięki API aplikacje rozmawiają między sobą bez żadnej wiedzy ani ingerencji użytkownika API dostarcza informacje nie tylko o możliwości wykonania danej operacji, ale też o sposobie w jaki ją wykonać, oraz o rezultacie jej wykonania NIE jest interfejsem użytkownika, a interfejsem software-to-software

API c.d.

Metody komunikacji

SOAP - Simple Object Access Protocol - wymiana wiadomości opartych o język znaczników XML - transmisja najczęściej odbywa się po HTTP (nie tylko) - jasno opisana budowa SOAP-ENV: Envelope SOAP-ENV: Header* SOAP-ENV: Body SOAP-ENV: Fault*

SOAP c.d. <?xml version="1.0"?> <soap:envelope xmlns:soap= "http://www.w3.org/2003/05/soap-envelope/" soap:encodingstyle= "http://www.w3.org/2003/05/soap-encoding"> <soap:body> <m:getprice xmlns:m= "https://www.w3schools.com/prices"> <m:item>apples</m:item> </m:getprice> </soap:body> </soap:envelope> <?xml version="1.0"?> <soap:envelope xmlns:soap= "http://www.w3.org/2003/05/soap-envelope/" soap:encodingstyle= "http://www.w3.org/2003/05/soap-encoding"> <soap:body> <m:getpriceresponse xmlns:m= "https://www.w3schools.com/prices"> <m:price>1.90</m:price> </m:getpriceresponse> </soap:body> </soap:envelope>

Message Broker Kolejka

Message Broker Kolejka Point-to-Point

Message Broker Kolejka Publish/Subscribe

Message Broker - popularne

REST API

REST Nie jest protokołem!! Zbiór dobrych praktyk tworzenia architektury aplikacji rozproszonych (wzorzec) Najczęściej kojarzony z HTTP, choć nie jest z nim ściśle związany Nie jest standardem, lecz zbiorem ograniczeń. API napisane wg zasad REST nazywane RESTful API https://spring.io/understanding/rest

REST - Zasady Zasoby Wyeksponowane przez łatwo zrozumiałe identyfikatory katalogów (URI) Obiekty Reprezentowane i przekazywane w postaci JSON Zapytania Wykorzystują jawnie metody HTTP (GET, POST, PUT, DELETE) Interakcje Są całkowicie bezstanowe. Kontekst klienta nie jest przechowywany na serwerze między żądaniami. https://spring.io/understanding/rest

REST CRUD, URI(sy), HTTP CRUD create, retrieve, update, delete CRUD HTTP URI create POST /users retrieve GET /users /users/{userid} update PUT /users/{userid} delete DELETE /users/{userid}

JSON JavaScript Object Notation Bardzo lekki, tekstowy, niezależny od języka format wymiany danych Bardzo dobrze sprawdza się w opisie i serializacji danych strukturalnych Obługuje 4 typy prymitywne: String Number Boolean Null Oraz 2 typy strukturalne: Object (JSON Object) Array https://www.ietf.org/rfc/rfc4627.txt

JSON JavaScript Object Notation <?xml version="1.0"?> <soap:envelope xmlns:soap= "http://www.w3.org/2003/05/soap-envelope/" soap:encodingstyle= "http://www.w3.org/2003/05/soap-encoding"> <soap:body> <m:getprice xmlns:m= "https://www.w3schools.com/prices"> <m:item>apples</m:item> </m:getprice> </soap:body> </soap:envelope> { } "envelope": { "body": { "getprice": { "item": "Apples" } } }

JSON JavaScript Object Notation <?xml version="1.0"?><soap:envelope xmlns:soap="http://www.w3.org/2003/05/soapenvelope/"soap:encodingstyle="http://www.w3.org/ 2003/05/soapencoding"><soap:Body><m:GetPrice xmlns:m="https: //www.w3schools.com/prices"><m:item>apples</m:it em></m:getprice></soap:body></soap:envelope> {"envelope":{"body":{"getprice":{"item":"apples" }}}}

JSON JavaScript Object Notation { "users": [ { "firstname": "John", "lastname": "Smith", "age": 24, "sex": "MALE", "hobbies": [ "cars", "music" ], "boss": { "firstname": "Susan", "lastname": "Doe", "age": 27, "sex": "FEMALE" } }, } ] { } "firstname": "Susan", "lastname": "Doe", "age": 27, "sex": "FEMALE", "hobbies": [ "flowers", "music" ], "boss": {}

Swagger UI

Swagger?

Dziękuję!