Budowa usług internetowych: SOAP, Websockets

26
Budowa usług internetowych część II kbtech.org

Transcript of Budowa usług internetowych: SOAP, Websockets

Page 1: Budowa usług internetowych: SOAP, Websockets

Budowa usług internetowych

część II

kbtech.org

Page 2: Budowa usług internetowych: SOAP, Websockets

http://goo.gl/forms/H5UsucTzWcfVfl7E2

Page 3: Budowa usług internetowych: SOAP, Websockets

SOAPSimple Object Access Protocol

Page 4: Budowa usług internetowych: SOAP, Websockets

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?

Page 5: Budowa usług internetowych: SOAP, Websockets

RPC (Remote Procedure Call)

A Bx.addCoins(20);

serwer serwer

Page 6: Budowa usług internetowych: SOAP, Websockets

FALSE

order(item1, item2, item3)

login(“name”, “124”)

TRUE

Potok SOAP

A B

serwiszamówień

serwis kont

klientów

TRUE

removeU(“name”)

Page 7: Budowa usług internetowych: SOAP, Websockets

aplikacjamobilna

A

B

CSOAP

?REST!

Page 8: Budowa usług internetowych: SOAP, Websockets

Diagram przepływu microserwisów

A BSOAP• iOS• Andoid• jednorożec*

REST

*podobno Windows Phone jeszcze istnieje

Page 9: Budowa usług internetowych: SOAP, Websockets

@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!

Page 10: Budowa usług internetowych: SOAP, Websockets

W S D Language

ervice

eb

escription“proszę, tylko niekaż mi tego czytać”

Dokument automatycznie generowane przez serwer!

Page 11: Budowa usług internetowych: SOAP, Websockets
Page 12: Budowa usług internetowych: SOAP, Websockets

Jak stworzyć klienta SOAP w oparciu o WSDL?

generuj klienta automatycznie

Page 13: Budowa usług internetowych: SOAP, Websockets

źródło: Google Trends

Stabilizacja wykorzystania SOAP

Page 14: Budowa usług internetowych: SOAP, Websockets

źródło: Google Trends

Rezygnacja z XML na JSON (gdzie możliwe)

Page 15: Budowa usług internetowych: SOAP, Websockets

Komunikacja stanowa

(web)sockety

Page 16: Budowa usług internetowych: SOAP, Websockets

Agenda

• Co to jest komunikacja stanowa?

• Jak ją implementować?

• Kiedy ją wybrać, a kiedy zrezygnować?

Page 17: Budowa usług internetowych: SOAP, Websockets

Wszystko,co dotąd używaliśmy,było bezstanowe

Page 18: Budowa usług internetowych: SOAP, Websockets

komunikacja stanowa komunikacja bezstanowa

Page 19: Budowa usług internetowych: SOAP, Websockets

komunikacja stanowa

Page 20: Budowa usług internetowych: SOAP, Websockets

Gdzie leży problem wyboru?

Page 21: Budowa usług internetowych: SOAP, Websockets

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

Page 22: Budowa usług internetowych: SOAP, Websockets

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

Page 23: Budowa usług internetowych: SOAP, Websockets

https://www.pubnub.com/blog/2015-01-05-websockets-vs-rest-api-understanding-the-difference/

Kiedy REST < (web)sockets?

Page 24: Budowa usług internetowych: SOAP, Websockets

@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?

Page 25: Budowa usług internetowych: SOAP, Websockets

http://goo.gl/forms/H5UsucTzWcfVfl7E2

Dzięki za każde wypełnienie!

Page 26: Budowa usług internetowych: SOAP, Websockets

Koniecczęści II