Bachelor's Thesis Presentation

3,087
-1

Published on

A web based editing tool (developed with GWT and Ext-GWT) for semantic annotation of RESTful web services.

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
3,087
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Bachelor's Thesis Presentation

  1. 1. MicroWSMO a web based editing tool for semantic annotation of RESTful web services Student: Simone Spaccarotella editor RESTful web services Supervisors: Prof. Giovambattista Ianni, Dr. Carlos Pedrinaci
  2. 2. Contents <ul><li>Goals </li></ul><ul><li>Overview </li></ul><ul><li>Key Concepts </li></ul><ul><li>MicroWSMO editor </li></ul><ul><li>Conclusions </li></ul>
  3. 3. Overview
  4. 4. Overview (SOA4all) www.soa4all.eu Service Oriented Architecture for all
  5. 5. Overview (SOA4all Studio)
  6. 6. Contents <ul><li>Goals </li></ul><ul><li>Overview </li></ul><ul><li>Key Concepts </li></ul><ul><li>MicroWSMO editor </li></ul><ul><li>Conclusions </li></ul>
  7. 7. Goals <ul><li>Make RESTful Web Services machine readable </li></ul><ul><li>Add semantic meaning to the service properties </li></ul><ul><li>Design the missing SOA4all Studio module, in order to support the achievement of the first two goals </li></ul>
  8. 8. Goals (how) <ul><li>hRESTS </li></ul><ul><li>MicroWSMO </li></ul><ul><li>MicroWSMO editor </li></ul>
  9. 9. Goals (why) Semantic Annotation of RESTful Web Services entails a high automation degree in: composition discovery annotation execution analysis Provisioning Consumption Analysis Services lifecycle
  10. 10. Contents <ul><li>Goals </li></ul><ul><li>Overview </li></ul><ul><li>Key Concepts </li></ul><ul><li>MicroWSMO editor </li></ul><ul><li>Conclusions </li></ul>
  11. 11. Key Concepts <ul><li>REST </li></ul><ul><li>RESTful Web Services </li></ul><ul><li>Microformat </li></ul><ul><ul><li>hRESTS </li></ul></ul><ul><ul><li>MicroWSMO </li></ul></ul>
  12. 12. Context (REST) <ul><li>REpresentational State Transfer* </li></ul><ul><ul><li>is an architectural style </li></ul></ul><ul><ul><li>is not a concrete architecture </li></ul></ul><ul><ul><li>is a set of rules that a RESTful architecture should conform to </li></ul></ul>*defined for the first time in 2000 by Roy Fielding in his doctoral dissertation
  13. 13. Key Concepts <ul><li>REST </li></ul><ul><li>RESTful Web Services </li></ul><ul><li>Microformat </li></ul><ul><ul><li>hRESTS </li></ul></ul><ul><ul><li>MicroWSMO </li></ul></ul>
  14. 14. Context (RESTful WS) <ul><li>RESTful Web Service (aka RESTful web API) </li></ul><ul><ul><li>is a web service according to the REST principles </li></ul></ul>
  15. 15. Key Concepts <ul><li>REST </li></ul><ul><li>RESTful Web Services </li></ul><ul><li>Microformat </li></ul><ul><ul><li>hRESTS </li></ul></ul><ul><ul><li>MicroWSMO </li></ul></ul>
  16. 16. Key Concepts (Microformat) <ul><li>is a set of markup elements </li></ul><ul><li>allows informations to be automatically processed by a software system </li></ul><ul><li>works with the HTML tag’s attributes: “ class” and “ rel” </li></ul>
  17. 17. Key Concepts (hRESTS) <ul><li>H TML for REST ful S ervices </li></ul><ul><ul><li>is a microformat </li></ul></ul><ul><ul><li>describes a RESTful Web API </li></ul></ul><ul><ul><li>is a lightweight approach that makes RESTful Web APIs suitable for automated processing </li></ul></ul><ul><ul><li>works with “class” HTML tag’s attribute </li></ul></ul>
  18. 18. Key Concepts (MicroWSMO) <ul><li>WSMO (Web Service Modeling Object) </li></ul><ul><ul><li>MicroWSMO is an extension of hRESTS, thus is a microformat </li></ul></ul><ul><ul><li>adds semantic meaning to the service properties </li></ul></ul><ul><ul><li>links these services with WSMO-Lite ontology </li></ul></ul><ul><ul><li>works with “rel” HTML tag’s attribute </li></ul></ul>
  19. 19. Key Concepts (hRESTS/MicroWSMO example) service operation input label address
  20. 20. Key Concepts (hRESTS/MicroWSMO example) <body> Happenr returns the details of an event. All operation should be directed at http://happenr.3scale.net/ <h2> getEventDetails Method </h2> username - the username you received from Happenr <br /> password - the password you received from Happenr <br /> eventID - the ID of the event <br /> </body>
  21. 21. Key Concepts (hRESTS/MicroWSMO example) <body>   <h2>  </h2>  <br />  <br />  <br /> </body>
  22. 22. Key Concepts (hRESTS/MicroWSMO example) <ul><li><body> </li></ul><ul><li><div class=“ service ” > </li></ul><ul><ul><li> </li></ul></ul><ul><ul><li> </li></ul></ul><ul><ul><li><h2>  </h2> </li></ul></ul><ul><ul><li> <br /> </li></ul></ul><ul><ul><li> <br /> </li></ul></ul><ul><ul><li> <br /> </li></ul></ul><ul><li></div> </li></ul><ul><li></body> </li></ul>
  23. 23. Key Concepts (hRESTS/MicroWSMO example) <ul><li><body> </li></ul><ul><li><div class=“ service ” > </li></ul><ul><ul><li> </li></ul></ul><ul><ul><li> </li></ul></ul><ul><ul><li><div class=“ operation ” > </li></ul></ul><ul><ul><ul><li><h2>  </h2> </li></ul></ul></ul><ul><ul><ul><li> <br /> </li></ul></ul></ul><ul><ul><ul><li> <br /> </li></ul></ul></ul><ul><ul><ul><li> <br /> </li></ul></ul></ul><ul><ul><li></div> </li></ul></ul><ul><li></div> </li></ul><ul><li></body> </li></ul>
  24. 24. Key Concepts (hRESTS/MicroWSMO example) <ul><li><body> </li></ul><ul><li><div class=“ service ” > </li></ul><ul><ul><li>Happenr returns the details of an event. All operation should be directed at </li></ul></ul><ul><ul><li>http://happenr.3scale.net/ </li></ul></ul><ul><ul><li><div class=“ operation ” > </li></ul></ul><ul><ul><ul><li><h2> getEventDetails Method </h2> </li></ul></ul></ul><ul><ul><ul><li>username - the username you received from Happenr <br /> </li></ul></ul></ul><ul><ul><ul><li>password - the password you received from Happenr <br /> </li></ul></ul></ul><ul><ul><ul><li>eventID - the ID of the event <br /> </li></ul></ul></ul><ul><ul><ul><li></div> </li></ul></ul></ul><ul><ul><li></div> </li></ul></ul><ul><li></body> </li></ul>
  25. 25. Key Concepts (hRESTS/MicroWSMO example) <ul><li><body> </li></ul><ul><li><div class=“ service ” > </li></ul><ul><ul><li><span class=“ label ” > Happenr </span> returns the details of an event. All </li></ul></ul><ul><ul><li>operation should be directed at http://happenr.3scale.net/ </li></ul></ul><ul><ul><li><div class=“ operation ” > </li></ul></ul><ul><ul><ul><li><h2> <span class=“ label ” > getEventDetails </span> Method </h2> </li></ul></ul></ul><ul><ul><ul><li>username - the username you received from Happenr <br /> </li></ul></ul></ul><ul><ul><ul><li>password - the password you received from Happenr <br /> </li></ul></ul></ul><ul><ul><ul><li>eventID - the ID of the event <br /> </li></ul></ul></ul><ul><ul><ul><li></div> </li></ul></ul></ul><ul><ul><li></div> </li></ul></ul><ul><li></body> </li></ul>
  26. 26. Key Concepts (hRESTS/MicroWSMO example) <ul><li><body> </li></ul><ul><li><div class=“ service ” > </li></ul><ul><ul><li><span class=“ label ” > Happenr </span> returns the details of an event. All </li></ul></ul><ul><ul><li>operation should be directed at </li></ul></ul><ul><ul><li><span class=“ address ” > http://happenr.3scale.net/ </span> </li></ul></ul><ul><ul><li><div class=“ operation ” > </li></ul></ul><ul><ul><ul><li><h2> <span class=“ label ” > getEventDetails </span> Method </h2> </li></ul></ul></ul><ul><ul><ul><li>username - the username you received from Happenr <br /> </li></ul></ul></ul><ul><ul><ul><li>password - the password you received from Happenr <br /> </li></ul></ul></ul><ul><ul><ul><li>eventID - the ID of the event <br /> </li></ul></ul></ul><ul><ul><ul><li></div> </li></ul></ul></ul><ul><ul><li></div> </li></ul></ul><ul><li></body> </li></ul>
  27. 27. Key Concepts (hRESTS/MicroWSMO example) <ul><li><body> </li></ul><ul><li><div class=“ service ” > </li></ul><ul><ul><li><span class=“ label ” > Happenr </span> returns the details of an event. All </li></ul></ul><ul><ul><li>operation should be directed at </li></ul></ul><ul><ul><li><span class=“ address ” > http://happenr.3scale.net/ </span> </li></ul></ul><ul><ul><li><div class=“ operation ” > </li></ul></ul><ul><ul><ul><li><h2> <span class=“ label ” > getEventDetails </span> Method </h2> </li></ul></ul></ul><ul><ul><ul><li><div class=“ input ” > </li></ul></ul></ul><ul><ul><ul><li>username - the username you received from Happenr <br /> </li></ul></ul></ul><ul><ul><ul><li></div> </li></ul></ul></ul><ul><ul><ul><li>password - the password you received from Happenr <br /> </li></ul></ul></ul><ul><ul><ul><li>eventID - the ID of the event <br /> </li></ul></ul></ul><ul><ul><ul><li></div> </li></ul></ul></ul><ul><ul><li></div> </li></ul></ul><ul><li></body> </li></ul>
  28. 28. Key Concepts (hRESTS/MicroWSMO example) <ul><li><body> </li></ul><ul><li><div class=“ service ” > </li></ul><ul><ul><li><span class=“ label ” > Happenr </span> returns the details of an event. All </li></ul></ul><ul><ul><li>operation should be directed at </li></ul></ul><ul><ul><li><span class=“ address ” > http://happenr.3scale.net/ </span> </li></ul></ul><ul><ul><li><div class=“ operation ” > </li></ul></ul><ul><ul><ul><li><h2> <span class=“ label ” > getEventDetails </span> Method </h2> </li></ul></ul></ul><ul><ul><ul><li><div class=“ input ” > </li></ul></ul></ul><ul><ul><ul><li>username - the username you received from Happenr <br /> </li></ul></ul></ul><ul><ul><ul><li></div> </li></ul></ul></ul><ul><ul><ul><li><div class=“ input ” > </li></ul></ul></ul><ul><ul><ul><li>password - the password you received from Happenr <br /> </li></ul></ul></ul><ul><ul><ul><li></div> </li></ul></ul></ul><ul><ul><ul><li>eventID - the ID of the event <br /> </li></ul></ul></ul><ul><ul><ul><li></div> </li></ul></ul></ul><ul><ul><li></div> </li></ul></ul><ul><li></body> </li></ul>
  29. 29. Key Concepts (hRESTS/MicroWSMO example) <ul><li><body> </li></ul><ul><li><div class=“ service ” > </li></ul><ul><ul><li><span class=“ label ” > Happenr </span> returns the details of an event. All </li></ul></ul><ul><ul><li>operation should be directed at </li></ul></ul><ul><ul><li><span class=“ address ” > http://happenr.3scale.net/ </span> </li></ul></ul><ul><ul><li><div class=“ operation ” > </li></ul></ul><ul><ul><ul><li><h2> <span class=“ label ” > getEventDetails </span> Method </h2> </li></ul></ul></ul><ul><ul><ul><li><div class=“ input ” > </li></ul></ul></ul><ul><ul><ul><li>username - the username you received from Happenr <br /> </li></ul></ul></ul><ul><ul><ul><li></div> </li></ul></ul></ul><ul><ul><ul><li><div class=“ input ” > </li></ul></ul></ul><ul><ul><ul><li>password - the password you received from Happenr <br /> </li></ul></ul></ul><ul><ul><ul><li></div> </li></ul></ul></ul><ul><ul><ul><li><div class=“ input ” > </li></ul></ul></ul><ul><ul><ul><li>eventID - the ID of the event <br /> </li></ul></ul></ul><ul><ul><ul><li></div> </li></ul></ul></ul><ul><ul><ul><li></div> </li></ul></ul></ul><ul><ul><li></div> </li></ul></ul><ul><li></body> </li></ul>
  30. 30. Key Concepts (hRESTS/MicroWSMO example) <ul><li><body> </li></ul><ul><li><div class=“ service ” > </li></ul><ul><ul><li><span class=“ label ” > Happenr </span> returns the details of an event. All </li></ul></ul><ul><ul><li>operation should be directed at </li></ul></ul><ul><ul><li><span class=“ address ” > http://happenr.3scale.net/ </span> </li></ul></ul><ul><ul><li><div class=“ operation ” > </li></ul></ul><ul><ul><ul><li><h2> <span class=“ label ” > getEventDetails </span> Method </h2> </li></ul></ul></ul><ul><ul><ul><li><div class=“ input ” > </li></ul></ul></ul><ul><ul><ul><li>username - the username you received from Happenr <br /> </li></ul></ul></ul><ul><ul><ul><li></div> </li></ul></ul></ul><ul><ul><ul><li><div class=“ input ” > </li></ul></ul></ul><ul><ul><ul><li>password - the password you received from Happenr <br /> </li></ul></ul></ul><ul><ul><ul><li></div> </li></ul></ul></ul><ul><ul><ul><li><div class=“ input ” > </li></ul></ul></ul><ul><ul><ul><li><a rel=“ model ” href=“ http://example.org/onto.owl#Event ” > </li></ul></ul></ul><ul><ul><ul><li>eventID </li></ul></ul></ul><ul><ul><ul><li></a> </li></ul></ul></ul><ul><ul><ul><li>the ID of the event <br /> </li></ul></ul></ul><ul><ul><ul><li></div> </li></ul></ul></ul><ul><ul><ul><li></div> </li></ul></ul></ul><ul><ul><li></div> </li></ul></ul><ul><li></body> </li></ul>
  31. 31. Contents <ul><li>Goals </li></ul><ul><li>Overview </li></ul><ul><li>Key Concepts </li></ul><ul><li>MicroWSMO editor </li></ul><ul><li>Conclusions </li></ul>
  32. 32. MicroWSMO editor (http://sweetdemo.kmi.open.ac.uk/war/)
  33. 33. MicroWSMO editor Is developed with GWT and Ext-GWT http://www.extjs.com/products/gxt/
  34. 34. MicroWSMO editor Hosted on the code can be retrieved by GIT at git://github.com/mmale/SWEET-ExtGWT.git
  35. 35. MicroWSMO editor MicroWSMO editor is http://sweet.kmi.open.ac.uk/
  36. 36. MicroWSMO editor (Semantic Web sErvices Editing Tool) http://sweetdemo.kmi.open.ac.uk/ developed by Maria Maleshkova
  37. 37. MicroWSMO editor (http://sweetdemo.kmi.open.ac.uk/war/)
  38. 38. MicroWSMO editor (cross domain restriction) Web Browser http://domain.org <html> <head> <title>example</title> </head> <body> </body> </html> http://example.net <html> <head> <title>example</title> <script type=“text/javascript” src=“”> </script> </head> <body> </body> </html> Sandbox *.js http://example.net <html> <head> <title>example</title> </head> <body> </body> </html> access denied ok
  39. 39. MicroWSMO editor (proxy) proxyPage.html *.js Proxy Server “ http://example.com” GET http://example.com index.html index.html rewrited asynchronous index.html rewrited HTML injection My Domain Iframe src
  40. 40. MicroWSMO editor (http://sweetdemo.kmi.open.ac.uk/war/)
  41. 41. MicroWSMO editor (http://sweetdemo.kmi.open.ac.uk/war/)
  42. 42. MicroWSMO editor (http://sweetdemo.kmi.open.ac.uk/war/)
  43. 43. MicroWSMO editor (http://sweetdemo.kmi.open.ac.uk/war/)
  44. 44. MicroWSMO editor (http://sweetdemo.kmi.open.ac.uk/war/)
  45. 45. MicroWSMO editor (http://sweetdemo.kmi.open.ac.uk/war/)
  46. 46. MicroWSMO editor (http://sweetdemo.kmi.open.ac.uk/war/)
  47. 47. MicroWSMO editor (http://sweetdemo.kmi.open.ac.uk/war/)
  48. 48. MicroWSMO editor (http://sweetdemo.kmi.open.ac.uk/war/)
  49. 49. MicroWSMO editor (http://sweetdemo.kmi.open.ac.uk/war/)
  50. 50. MicroWSMO editor (http://sweetdemo.kmi.open.ac.uk/war/)
  51. 51. MicroWSMO editor (http://sweetdemo.kmi.open.ac.uk/war/)
  52. 52. MicroWSMO editor (http://sweetdemo.kmi.open.ac.uk/war/)
  53. 53. MicroWSMO editor (http://sweetdemo.kmi.open.ac.uk/war/)
  54. 54. MicroWSMO editor (http://sweetdemo.kmi.open.ac.uk/war/)
  55. 55. MicroWSMO editor (http://sweetdemo.kmi.open.ac.uk/war/)
  56. 56. MicroWSMO editor (http://sweetdemo.kmi.open.ac.uk/war/)
  57. 57. Contents <ul><li>Goals </li></ul><ul><li>Overview </li></ul><ul><li>Key Concepts </li></ul><ul><li>MicroWSMO editor </li></ul><ul><li>Conclusions </li></ul>
  58. 58. Conclusions http://www.fis2009.org/ Berlin (Germany), 1-3 September 2009 http://iswc2009.semanticweb.org/ Chantilly, Virginia (USA), 25-29 October 2009
  59. 59. Conclusions Make RESTful Web Services machine readable, now is possible in a simple way just using MicroWSMO editor
  60. 60. ;-)

×