Your SlideShare is downloading. ×
0
Bachelor's Thesis Presentation
Bachelor's Thesis Presentation
Bachelor's Thesis Presentation
Bachelor's Thesis Presentation
Bachelor's Thesis Presentation
Bachelor's Thesis Presentation
Bachelor's Thesis Presentation
Bachelor's Thesis Presentation
Bachelor's Thesis Presentation
Bachelor's Thesis Presentation
Bachelor's Thesis Presentation
Bachelor's Thesis Presentation
Bachelor's Thesis Presentation
Bachelor's Thesis Presentation
Bachelor's Thesis Presentation
Bachelor's Thesis Presentation
Bachelor's Thesis Presentation
Bachelor's Thesis Presentation
Bachelor's Thesis Presentation
Bachelor's Thesis Presentation
Bachelor's Thesis Presentation
Bachelor's Thesis Presentation
Bachelor's Thesis Presentation
Bachelor's Thesis Presentation
Bachelor's Thesis Presentation
Bachelor's Thesis Presentation
Bachelor's Thesis Presentation
Bachelor's Thesis Presentation
Bachelor's Thesis Presentation
Bachelor's Thesis Presentation
Bachelor's Thesis Presentation
Bachelor's Thesis Presentation
Bachelor's Thesis Presentation
Bachelor's Thesis Presentation
Bachelor's Thesis Presentation
Bachelor's Thesis Presentation
Bachelor's Thesis Presentation
Bachelor's Thesis Presentation
Bachelor's Thesis Presentation
Bachelor's Thesis Presentation
Bachelor's Thesis Presentation
Bachelor's Thesis Presentation
Bachelor's Thesis Presentation
Bachelor's Thesis Presentation
Bachelor's Thesis Presentation
Bachelor's Thesis Presentation
Bachelor's Thesis Presentation
Bachelor's Thesis Presentation
Bachelor's Thesis Presentation
Bachelor's Thesis Presentation
Bachelor's Thesis Presentation
Bachelor's Thesis Presentation
Bachelor's Thesis Presentation
Bachelor's Thesis Presentation
Bachelor's Thesis Presentation
Bachelor's Thesis Presentation
Bachelor's Thesis Presentation
Bachelor's Thesis Presentation
Bachelor's Thesis Presentation
Bachelor's Thesis Presentation
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Bachelor's Thesis Presentation

2,275

Published on

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

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
2,275
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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. 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. Overview
  • 4. Overview (SOA4all) www.soa4all.eu Service Oriented Architecture for all
  • 5. Overview (SOA4all Studio)
  • 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. 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. Goals (how) <ul><li>hRESTS </li></ul><ul><li>MicroWSMO </li></ul><ul><li>MicroWSMO editor </li></ul>
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Key Concepts (hRESTS/MicroWSMO example) service operation input label address
  • 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. Key Concepts (hRESTS/MicroWSMO example) <body>   <h2>  </h2>  <br />  <br />  <br /> </body>
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. MicroWSMO editor (http://sweetdemo.kmi.open.ac.uk/war/)
  • 33. MicroWSMO editor Is developed with GWT and Ext-GWT http://www.extjs.com/products/gxt/
  • 34. MicroWSMO editor Hosted on the code can be retrieved by GIT at git://github.com/mmale/SWEET-ExtGWT.git
  • 35. MicroWSMO editor MicroWSMO editor is http://sweet.kmi.open.ac.uk/
  • 36. MicroWSMO editor (Semantic Web sErvices Editing Tool) http://sweetdemo.kmi.open.ac.uk/ developed by Maria Maleshkova
  • 37. MicroWSMO editor (http://sweetdemo.kmi.open.ac.uk/war/)
  • 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. 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. MicroWSMO editor (http://sweetdemo.kmi.open.ac.uk/war/)
  • 41. MicroWSMO editor (http://sweetdemo.kmi.open.ac.uk/war/)
  • 42. MicroWSMO editor (http://sweetdemo.kmi.open.ac.uk/war/)
  • 43. MicroWSMO editor (http://sweetdemo.kmi.open.ac.uk/war/)
  • 44. MicroWSMO editor (http://sweetdemo.kmi.open.ac.uk/war/)
  • 45. MicroWSMO editor (http://sweetdemo.kmi.open.ac.uk/war/)
  • 46. MicroWSMO editor (http://sweetdemo.kmi.open.ac.uk/war/)
  • 47. MicroWSMO editor (http://sweetdemo.kmi.open.ac.uk/war/)
  • 48. MicroWSMO editor (http://sweetdemo.kmi.open.ac.uk/war/)
  • 49. MicroWSMO editor (http://sweetdemo.kmi.open.ac.uk/war/)
  • 50. MicroWSMO editor (http://sweetdemo.kmi.open.ac.uk/war/)
  • 51. MicroWSMO editor (http://sweetdemo.kmi.open.ac.uk/war/)
  • 52. MicroWSMO editor (http://sweetdemo.kmi.open.ac.uk/war/)
  • 53. MicroWSMO editor (http://sweetdemo.kmi.open.ac.uk/war/)
  • 54. MicroWSMO editor (http://sweetdemo.kmi.open.ac.uk/war/)
  • 55. MicroWSMO editor (http://sweetdemo.kmi.open.ac.uk/war/)
  • 56. MicroWSMO editor (http://sweetdemo.kmi.open.ac.uk/war/)
  • 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. Conclusions http://www.fis2009.org/ Berlin (Germany), 1-3 September 2009 http://iswc2009.semanticweb.org/ Chantilly, Virginia (USA), 25-29 October 2009
  • 59. Conclusions Make RESTful Web Services machine readable, now is possible in a simple way just using MicroWSMO editor
  • 60. ;-)

×