Your SlideShare is downloading. ×
0
1 sur 21
Web Services Par l'exemple
avec Ruby
Christian Kakesa
MOE/Ingénieur SI, RATP
2 sur 21
Web Service par l'exemple
RESTons Simple
3 sur 21
Sommaire
Nous allons voir :
#webdayesgi
Qu'est-ce qu'un service web ?
Soap, qu'est-ce que c'est ?
REST, qu'est-ce que c'es...
Web Service par l'exemple
Qu'est-ce qu'un service web
5 sur 21
Web Service par l'exemple
Qu'est-ce qu'un service web ?
#webdayesgi
Échange de données inter-application
Communication syn...
Web Service par l'exemple
Soap, qu'est-ce que c'est ?
7 sur 21
Web Service par l'exemple
Soap, qu'est-ce que c'est ?
#webdayesgi
SOAP pour Simple Object Access Protocol
Technologie ouve...
Structure d'un message SOAP
#webdayesgi
<?xml version="1.0"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-en...
Une requête SOAP
#webdayesgi
<?xml version="1.0"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soa...
Une réponse SOAP
#webdayesgi
<?xml version="1.0"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soa...
Web Service par l'exemple
REST, qu'est-ce que c'est ?
12 sur 21
Web Service par l'exemple
REST, qu'est-ce que c'est ?
#webdayesgi
REST pour Representational State Transfer
Envoi et recep...
Web Service par l'exemple
XML vs JSON
14 sur 21
XML or JSON ?
XML JSON
Verbosity More Less
Complexity More Less
Validty DTDs and XSDs widely used JSON Schema not widely u...
Web Service par l'exemple
Live coding : Implémenter un serveur de blagues avec Ruby
16 sur 21
Live coding
Ruby & Sinatra (DSL)
#webdayesgi
Ruby : https://www.ruby-lang.org
Sinatra : http://www.sinatrarb.com
·
·
17 su...
Web Service par l'exemple
Échange sur la sécurisation d'un service web
18 sur 21
Échange sur la sécurisation d'un service web
#webdayesgi
TLS (SSL) : Transport Layer Security (Secure Sockets Layer)
CSRF ...
<Merci !>
/me
g+ kiq.li/4eZ
twitter @christiankakesa
www www.kakesa.net
github github.com/fenicks
20 sur 21
21 sur 21
Upcoming SlideShare
Loading in...5
×

Web services par l'exemple avec ruby

313

Published on

Présentation sur les web services et implémentation d'un service web en Ruby et Sinatra. Le code source se trouve sur Github https://github.com/fenicks/joke_server.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
313
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
2
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "Web services par l'exemple avec ruby"

  1. 1. 1 sur 21
  2. 2. Web Services Par l'exemple avec Ruby Christian Kakesa MOE/Ingénieur SI, RATP 2 sur 21
  3. 3. Web Service par l'exemple RESTons Simple 3 sur 21
  4. 4. Sommaire Nous allons voir : #webdayesgi Qu'est-ce qu'un service web ? Soap, qu'est-ce que c'est ? REST, qu'est-ce que c'est ? XML or JSON ? Live coding : Implémenter un serveur de blagues avec Ruby Échange sur la sécurisation d'un service web · · · · · · 4 sur 21
  5. 5. Web Service par l'exemple Qu'est-ce qu'un service web 5 sur 21
  6. 6. Web Service par l'exemple Qu'est-ce qu'un service web ? #webdayesgi Échange de données inter-application Communication synchrone ou asynchrone Usage des normes et protocoles ouverts (standards web) · · · 6 sur 21
  7. 7. Web Service par l'exemple Soap, qu'est-ce que c'est ? 7 sur 21
  8. 8. Web Service par l'exemple Soap, qu'est-ce que c'est ? #webdayesgi SOAP pour Simple Object Access Protocol Technologie ouverte basée sur XML : Envelope - Header - Body - Error Norme de description en WSDL (Web Service Description Language) Notion d'annuaire des services web avec UDDI (Universal Discovery Description and Integration) · · · · 8 sur 21
  9. 9. Structure d'un message SOAP #webdayesgi <?xml version="1.0"?> <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"> <soap:Header> ... </soap:Header> <soap:Body> ... <soap:Fault> ... </soap:Fault> </soap:Body> </soap:Envelope> 9 sur 21
  10. 10. Une requête SOAP #webdayesgi <?xml version="1.0"?> <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"> <soap:Body xmlns:m="http://www.example.org/stock"> <m:GetStockPrice> <m:StockName>IBM</m:StockName> </m:GetStockPrice> </soap:Body> </soap:Envelope> 10 sur 21
  11. 11. Une réponse SOAP #webdayesgi <?xml version="1.0"?> <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"> <soap:Body xmlns:m="http://www.example.org/stock"> <m:GetStockPriceResponse> <m:Price>34.5</m:Price> </m:GetStockPriceResponse> </soap:Body> </soap:Envelope> 11 sur 21
  12. 12. Web Service par l'exemple REST, qu'est-ce que c'est ? 12 sur 21
  13. 13. Web Service par l'exemple REST, qu'est-ce que c'est ? #webdayesgi REST pour Representational State Transfer Envoi et reception de message entre client et serveur Représentation sous forme de ressource. Ex. : un Utilisateur est représenté en JSON ou XML S'appuie sur le protocole HTTP (Interface HTTP) : codes HTTP, methodes HTTP, etc. · · · · 13 sur 21
  14. 14. Web Service par l'exemple XML vs JSON 14 sur 21
  15. 15. XML or JSON ? XML JSON Verbosity More Less Complexity More Less Validty DTDs and XSDs widely used JSON Schema not widely used Prog. Interface Clunky Impedence mismatch More direct Querying XPath XQuery XSLT JSON Path JSON Query JAQL #webdayesgi source: Coursera, cours de Jennifer Widom (Relational algebra) 15 sur 21
  16. 16. Web Service par l'exemple Live coding : Implémenter un serveur de blagues avec Ruby 16 sur 21
  17. 17. Live coding Ruby & Sinatra (DSL) #webdayesgi Ruby : https://www.ruby-lang.org Sinatra : http://www.sinatrarb.com · · 17 sur 21
  18. 18. Web Service par l'exemple Échange sur la sécurisation d'un service web 18 sur 21
  19. 19. Échange sur la sécurisation d'un service web #webdayesgi TLS (SSL) : Transport Layer Security (Secure Sockets Layer) CSRF (Cross-Site Request Forgery) CORS (Cross-origin resource sharing) Authentification : apiKey - login/mot de passe - Oauth - etc. · · · · 19 sur 21
  20. 20. <Merci !> /me g+ kiq.li/4eZ twitter @christiankakesa www www.kakesa.net github github.com/fenicks 20 sur 21
  21. 21. 21 sur 21
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×