SlideShare a Scribd company logo
Budowa usług
internetowych
część II
kbtech.org
http://goo.gl/forms/H5UsucTzWcfVfl
7E2
SOAP
Simple 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
A B
x.addCoins(20);
serwer serwer
FALSE
order(item1, item2, item3)
login(“name”, “124”)
TRUE
Potok SOAP
A B
serwis
zamówień
serwis kont
klientów
TRUE
removeU(“name”)
aplikacja
mobilna
A
B
C
SOAP
?REST!
Diagram przepływu microserwisów
A BSOAP
• iOS
• Andoid
• jednorożec*
REST
*podobno Windows Phone jeszcze istnieje
@WebService
public 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 L
anguage
ervice
eb
escription
“proszę, tylko nie
każ 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]
0
3000
6000
9000
12000
10 100 500 1000 5000 10000
http://blog.arungupta.me/rest-vs-websocket-comparison-benchmarks/
Liczba zapytań (stały interwał czasu T)
0
350
700
1050
1400
10 100 500 1000 5000 10000
ww.pubnub.com/blog/2015-01-05-websockets-vs-rest-api-understanding-the-d
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/H5UsucTzWcfVfl
7E2
Dzięki za każde wypełnienie!
Koniec
części II

More Related Content

More from Lukas Lesniewski

Piszemy sklep java
Piszemy sklep javaPiszemy sklep java
Piszemy sklep java
Lukas Lesniewski
 
Joomla Day Poland 15 - Docker
Joomla Day Poland 15 - DockerJoomla Day Poland 15 - Docker
Joomla Day Poland 15 - Docker
Lukas Lesniewski
 
Automatyzacja pracy w zespole: efekt synergii
Automatyzacja pracy w zespole: efekt synergiiAutomatyzacja pracy w zespole: efekt synergii
Automatyzacja pracy w zespole: efekt synergii
Lukas Lesniewski
 
Agile i Scrum: projekty z klasą (JUG Olsztyn 2015)
Agile i Scrum: projekty z klasą (JUG Olsztyn 2015)Agile i Scrum: projekty z klasą (JUG Olsztyn 2015)
Agile i Scrum: projekty z klasą (JUG Olsztyn 2015)
Lukas Lesniewski
 
Joomla w świecie korporacji: JDay Poland 2014
Joomla w świecie korporacji: JDay Poland 2014Joomla w świecie korporacji: JDay Poland 2014
Joomla w świecie korporacji: JDay Poland 2014
Lukas Lesniewski
 
Design patterns as power of programing
Design patterns as power of programingDesign patterns as power of programing
Design patterns as power of programing
Lukas Lesniewski
 

More from Lukas Lesniewski (6)

Piszemy sklep java
Piszemy sklep javaPiszemy sklep java
Piszemy sklep java
 
Joomla Day Poland 15 - Docker
Joomla Day Poland 15 - DockerJoomla Day Poland 15 - Docker
Joomla Day Poland 15 - Docker
 
Automatyzacja pracy w zespole: efekt synergii
Automatyzacja pracy w zespole: efekt synergiiAutomatyzacja pracy w zespole: efekt synergii
Automatyzacja pracy w zespole: efekt synergii
 
Agile i Scrum: projekty z klasą (JUG Olsztyn 2015)
Agile i Scrum: projekty z klasą (JUG Olsztyn 2015)Agile i Scrum: projekty z klasą (JUG Olsztyn 2015)
Agile i Scrum: projekty z klasą (JUG Olsztyn 2015)
 
Joomla w świecie korporacji: JDay Poland 2014
Joomla w świecie korporacji: JDay Poland 2014Joomla w świecie korporacji: JDay Poland 2014
Joomla w świecie korporacji: JDay Poland 2014
 
Design patterns as power of programing
Design patterns as power of programingDesign patterns as power of programing
Design patterns as power of programing
 

Budowa usług internetowych: SOAP, Websockets