The Internet as Web Services: introduction to ReST

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    2 Favorites

    The Internet as Web Services: introduction to ReST - Presentation Transcript

    1. The Internet as Web Services: introduction to ReST
    2. Oscar Zambotti is a student of Information Technology at the Faculty of Science, University of Trento. He attended the 9-months course "ICT secure programming expert" in Bozen offered by the European Social Fund. Now he's in FBK for his stage period in the SoNet Group and following the “ Presentation or die ” motto is giving this presentation in the very beginning of his stage. Oscar is very interested in social networking and programming applications about it. He is also a speaker and DJ in a local radio station. http://www.oskarnrk.net [email_address] Bio “ The Internet as Web Services: introduction to ReST” – Oscar Zambotti, 2009
      • What is a Web Service?
      • Different ways: SOAP and ReST
      • Examples: Twitter and Flickr
      • How am I going to use ReST?
      What am I going to talk about? “ The Internet as Web Services: introduction to ReST” – Oscar Zambotti, 2009
    3. 1. What is a Web Service?
    4. “ The Internet as Web Services: introduction to ReST” – Oscar Zambotti, 2009 “ The challenge now is to join forces to research on Software & Services Technologies, to bring advances to the market and to ensure European leadership in the new Internet economy: The Internet of Services.” Internet of Services, Software and Virtualisation - Objective ICT 2009.1.2, Call 5 of the Seventh Framework Programme (2007-2013) European Commission - Information Society and Media “ The Internet has shown remarkable resilience and flexibility in the face of ever increasing numbers of users, data volume, and changing usage patterns, but faces growing challenges in meetings the needs of our knowledge society. This is the moment to start designing the Internet of the Future.” Future Internet - Research programs of the CIT (Center for Innovation Technology) Fondazione Bruno Kessler The vision of the “Future Internet”
    5. “ A Web Service (WS) is a software system designed to support interoperable machine-to-machine interaction over a network.” - W3C Glossary Usually a WS provides the API ( Application Programming Interface ).
      • Hardware limitations?
      • Languages limitations?
      • Access limitations?
      What is a web service? “ The Internet as Web Services: introduction to ReST” – Oscar Zambotti, 2009
    6. Use of web services? E.g. Flickrvision “ The Internet as Web Services: introduction to ReST” – Oscar Zambotti, 2009 Flickr photos with Google Maps
    7. A mashup is a Web application that combines data or functionality from one or more sources into a single integrated application. http://www.programmableweb.com “ The Internet as Web Services: introduction to ReST” – Oscar Zambotti, 2009 Web services for mashups
    8. “ The Internet as Web Services: introduction to ReST” – Oscar Zambotti, 2009 ProgrammableWeb statistics 1308 APIs 3957 Mashups (12 May 2009) The trend...
    9. 2. Different ways: SOAP and ReST
    10. SOAP ( Simple Object Access Protocol ) uses XML and RPC or HTTP . Businesses can register their WS on UDDI ( Universal Description, Discovery and Integration ) and provide documentation with WSDL ( Web Services Description Language ) “ The Internet as Web Services: introduction to ReST” – Oscar Zambotti, 2009 image: Wikipedia How to use a web service: SOAP image: Wikipedia
    11. <soapenv:Envelope xmlns:soapenv=&quot; http://schemas.xmlsoap.org/soap/envelope/ &quot; xmlns:xsd=&quot; http://www.w3.org/2001/XMLSchema &quot; xmlns:xsi=&quot; http://www.w3.org/2001/XMLSchema-instance &quot;> <soapenv:Body> <req:echo xmlns:req=&quot; http://localhost:8080/axis2/services/MyService/ &quot;> <req:category>classifieds</req:category> </req:echo> </soapenv:Body> </soapenv:Envelope> “ The Internet as Web Services: introduction to ReST” – Oscar Zambotti, 2009 How to use a web service: SOAP /2 Sample: Request...
    12. <soapenv:Envelope xmlns:soapenv=&quot; http://schemas.xmlsoap.org/soap/envelope/ &quot; xmlns:wsa=&quot; http://schemas.xmlsoap.org/ws/2004/08/addressing &quot;> <soapenv:Header> <wsa:ReplyTo> <wsa:Address> http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous </wsa:Address> </wsa:ReplyTo> <wsa:From> <wsa:Address> http://localhost:8080/axis2/services/MyService </wsa:Address> </wsa:From> <wsa:MessageID> ECE5B3F187F29D28BC11433905662036 </wsa:MessageID> </soapenv:Header> <soapenv:Body> <req:echo xmlns:req=&quot; http://localhost:8080/axis2/services/MyService/ &quot;> <req:category>classifieds</req:category> </req:echo> </soapenv:Body> </soapenv:Envelope> “ The Internet as Web Services: introduction to ReST” – Oscar Zambotti, 2009 How to use a web service: SOAP /3 ...Response
    13. ReST ( Representational State Transfer ) is an architectural style for distributed hypermedia systems, it is not just a method for building web services. Introduced by Roy Thomas Fielding in his dissertation to become Ph.D. in 2000. Resource -> URI Interaction -> Representation An application can interact with a resource by knowing the identifier of the resource (URI), and the action required (HTTP methods). ReST is stateless . How to use a web service: ReST “ The Internet as Web Services: introduction to ReST” – Oscar Zambotti, 2009
    14. HTTP consists in URIs, methods, status codes... The most important HTTP methods compose the basic functions in computer science: CRUD How to use a web service: ReST /2 “ The Internet as Web Services: introduction to ReST” – Oscar Zambotti, 2009 HTTP CRUD SQL POST Create INSERT GET Read SELECT PUT Update UPDATE DELETE Delete DELETE
    15. http://example.com/losties How to use a web service: ReST /3 “ The Internet as Web Services: introduction to ReST” – Oscar Zambotti, 2009 POST - C reate - GET - R ead - PUT - U pdate - DELETE - D elete - Create a new passenger List http://example.com/losties/4815162342 Response format: HTML, XML (RSS, Atom, “custom”) , JSON, ... Suggested reading: “How I explained ReST to my wife” (Ryan Tomayko) POST - C reate - GET - R ead - PUT - U pdate - DELETE - D elete - Passenger data Update passenger data Delete passenger
    16. An application is ReSTful when has resources accessible by representations. http://example.com/losties/4815162342 Some services are ReST-like : you use HTTP methods but using APIs methods as parameters (Flickr). http://example.com/losties/getLostie?id=4815162342 Nouns vs Verbs How to use a web service: ReST /4 “ The Internet as Web Services: introduction to ReST” – Oscar Zambotti, 2009
    17. A large number of developers chooses ReST instead of SOAP. “ The Internet as Web Services: introduction to ReST” – Oscar Zambotti, 2009 SOAP vs. ReST on ProgrammableWeb
    18. 3. ReST examples (Python code)
    19. What is Twitter? Example: Twitter “ The Internet as Web Services: introduction to ReST” – Oscar Zambotti, 2009
    20. Twitter REST API Method: statuses/show Returns a single status, specified by the id parameter below. The status's author will be returned inline. URL: http://twitter.com/statuses/show/id.format Formats: xml, json, rss, atom HTTP Method(s): GET Requires Authentication: false, unless the author of the status is protected Example: Twitter /2 “ The Internet as Web Services: introduction to ReST” – Oscar Zambotti, 2009 Twitter REST API Method: statuses/update Updates the authenticating user's status. Requires the status parameter specified below. Request must be a POST. A status update with text identical to the authenticating user's current status will be ignored to prevent duplicates. URL: http://twitter.com/statuses/update.format Formats: xml, json, rss, atom HTTP Method(s): POST Requires Authentication: true http://apiwiki.twitter.com/Twitter-API-Documentation Some methods require authentication (OAuth)
    21. import httplib # some code... def fetch_following(self): conn = httplib.HTTPConnection(&quot;twitter.com&quot;) conn.request(&quot;GET&quot;,&quot;/friends/ids/&quot;+self.screen_name+&quot;.json&quot;) r1 = conn.getresponse() print r1.read() conn.close() Example: Twitter /3 “ The Internet as Web Services: introduction to ReST” – Oscar Zambotti, 2009 Output (sample!): user IDs [5428712,31528501,6603122,30304051,30303627,5159271, 17572031,15147484] Obj: fetch the list of the user IDs that a user is following
    22. What is Flickr? Screenshot Example: Flickr “ The Internet as Web Services: introduction to ReST” – Oscar Zambotti, 2009
    23. Developers need a couple of keys to use the APIs. Some methods require authentication. Example: Flickr /2 “ The Internet as Web Services: introduction to ReST” – Oscar Zambotti, 2009
    24. REST Request Format REST is the simplest request format to use - it's a simple HTTP GET or POST action. The REST Endpoint URL is http://api.flickr.com/services/rest/ To request the flickr.test.echo service, invoke like this: http://api.flickr.com/services/rest/?method=flickr.test.echo&name=value By default, REST requests will send a REST response. Example: Flickr /3 “ The Internet as Web Services: introduction to ReST” – Oscar Zambotti, 2009 http://www.flickr.com/services/api/ Some methods require authentication.
    25. import urllib, urllib2, json FRI = &quot; http://api.flickr.com/services/rest/ ?&quot; KEY = &quot;d00fa386476950f75555555555555555&quot; SECRET = &quot;cac879e555555555&quot; FORMAT = &quot;json&quot; # some code... def people_find_by_username(username): # some code... def contacts_get_public_list(username): nsid = people_find_by_username(username) req = {'method': CONTACTS_GETPUBLICLIST, 'api_key': KEY, 'user_id': nsid, 'format': FORMAT, 'nojsoncallback': 1} params = urllib.urlencode(req) contacts_public_list = urllib2.urlopen(FRI,params).read() print contacts_public_list Example: Flickr /4 “ The Internet as Web Services: introduction to ReST” – Oscar Zambotti, 2009 HTTP POST (implicit) Obj: fetch the list of the friends a user
    26. Example: Flickr /5 “ The Internet as Web Services: introduction to ReST” – Oscar Zambotti, 2009 Output (sample!): collection (dictionaries, lists) {&quot;contacts&quot;: {&quot;page&quot;:1, &quot;pages&quot;:1, &quot;per_page&quot;:1000, &quot;perpage&quot;:1000, &quot;total&quot;:39, &quot;contact&quot;: [{&quot;nsid&quot;:&quot;81107858@N00&quot;, &quot;username&quot;:&quot;Jack&quot;, &quot;iconserver&quot;:&quot;207&quot;, &quot;iconfarm&quot;:1, &quot;ignored&quot;:0}, {&quot;nsid&quot;:&quot;23578585@N00&quot;, &quot;username&quot;:&quot;Locke&quot;, &quot;iconserver&quot;:&quot;211&quot;, &quot;iconfarm&quot;:1, &quot;ignored&quot;:0}, {&quot;nsid&quot;:&quot;81158128@N00&quot;, &quot;username&quot;:&quot;Sawyer&quot;, &quot;iconserver&quot;:&quot;147&quot;, &quot;iconfarm&quot;:1, &quot;ignored&quot;:0}, {&quot;nsid&quot;:&quot;29563291@N00&quot;, &quot;username&quot;:&quot;Hurley&quot;, &quot;iconserver&quot;:&quot;182&quot;, &quot;iconfarm&quot;:1, &quot;ignored&quot;:0}, {&quot;nsid&quot;:&quot;20347812@N00&quot;, &quot;username&quot;:&quot;Kate&quot;, &quot;iconserver&quot;:&quot;113&quot;, &quot;iconfarm&quot;:1, &quot;ignored&quot;:0}]}, &quot;stat&quot;:&quot;ok&quot;}
    27. 4. How am I going to use ReST?
    28. Web-based tool, with prepopulation using Web APIs, that displays the network of a user and its evolution over some social networks before and after a defined event . What am I going to do? Socialdash “ The Internet as Web Services: introduction to ReST” – Oscar Zambotti, 2009
    29. Questions? Ideas? Suggestions? Thanks “ The Internet as Web Services: introduction to ReST” – Oscar Zambotti, 2009 http://sonet.fbk.eu
      • European Commission: Seventh Framework Programme http://cordis.europa.eu/fp7 http://cordis.europa.eu/fp7/ict/programme/challenge1_en.html
      • Strategic guidelines in FBK: the Future Internet http://cit.fbk.eu/future_internet
      • W3C Glossary http://www.w3.org/TR/ws-gloss/
      • Representational State Transfer (ReST) by Roy Thomas Fielding http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm http://www.ics.uci.edu/~fielding/
      • Suggested readings: http://tomayko.com/writings/rest-to-my-wife
      Bibliography “ The Internet as Web Services: introduction to ReST” – Oscar Zambotti, 2009

    + Bruno Kessler FoundationBruno Kessler Foundation, 6 months ago

    custom

    1687 views, 2 favs, 2 embeds more stats

    The Internet is full of Web Services, everyday more more

    More info about this document

    CC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike License

    Go to text version

    • Total Views 1687
      • 1672 on SlideShare
      • 15 from embeds
    • Comments 0
    • Favorites 2
    • Downloads 48
    Most viewed embeds
    • 11 views on http://www.oskarnrk.net
    • 4 views on http://sonetlab.fbk.eu

    more

    All embeds
    • 11 views on http://www.oskarnrk.net
    • 4 views on http://sonetlab.fbk.eu

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories