http://goo.gl/forms/H5UsucTzWcfVfl7E2
SOAPSimple Object Access Protocol
Agenda
• Czym jest usługa SOAP?
• Jaka jest pozycja SOAP na tle rynku?
• Co jest i jak radzić sobie z WSDL?
• Jak stworzyć klienta SOAP?
RPC (Remote Procedure Call)
A Bx.addCoins(20);
serwer serwer
FALSE
order(item1, item2, item3)
login(“name”, “124”)
TRUE
Potok SOAP
A B
serwiszamówień
serwis kont
klientów
TRUE
removeU(“name”)
aplikacjamobilna
A
B
CSOAP
?REST!
Diagram przepływu microserwisów
A BSOAP• iOS• Andoid• jednorożec*
REST
*podobno Windows Phone jeszcze istnieje
@WebServicepublic class Hello { private String message = new String("Hello, ");
public void Hello() { }
@WebMethod public String sayHello(String name) { return message + name + "."; }}
Jak napisać usługę SOAP w Javie EE?
Pamiętaj o pustym konstruktorze!
W S D Language
ervice
eb
escription“proszę, tylko niekaż mi tego czytać”
Dokument automatycznie generowane przez serwer!
Jak stworzyć klienta SOAP w oparciu o WSDL?
generuj klienta automatycznie
źródło: Google Trends
Stabilizacja wykorzystania SOAP
źródło: Google Trends
Rezygnacja z XML na JSON (gdzie możliwe)
Komunikacja stanowa
(web)sockety
Agenda
• Co to jest komunikacja stanowa?
• Jak ją implementować?
• Kiedy ją wybrać, a kiedy zrezygnować?
Wszystko,co dotąd używaliśmy,było bezstanowe
komunikacja stanowa komunikacja bezstanowa
komunikacja stanowa
Gdzie leży problem wyboru?
http://blog.arungupta.me/rest-vs-websocket-comparison-benchmarks/
Czas odpowiedzi w zależności od obciążenia [ms]
10 100 500 1000 5000 10000
0
3000
6000
9000
12000
http://blog.arungupta.me/rest-vs-websocket-comparison-benchmarks/
Liczba zapytań (stały interwał czasu T)
10 100 500 1000 5000 10000
0
350
700
1050
1400
https://www.pubnub.com/blog/2015-01-05-websockets-vs-rest-api-understanding-the-difference/
Kiedy REST < (web)sockets?
@ServerEndpoint("/actions")public class DeviceWebSocketServer {
@OnOpen public void open(Session session) { }
@OnClose public void close(Session session) { }
@OnError public void onError(Throwable error) { }
@OnMessage public void handleMessage(String message, Session session) { }
}
Jak napisać usługę stanową w Javie EE?
http://goo.gl/forms/H5UsucTzWcfVfl7E2
Dzięki za każde wypełnienie!
Koniecczęści II
Top Related