Jump to: navigation, search

Difference between revisions of "REST abstraction for ECF"

(Getting the source)
Line 1: Line 1:
Project Lead: Holger Staudacher (IRC: staudi)
+
Committer Lead: Holger Staudacher (IRC: staudi)
  
Mentor: Scott Lewis, Marcelo Mayworm
+
Other participating committers: Scott Lewis, Marcelo Mayworm
  
This project is part of the [[Google Summer of Code 2009]]
+
This project started as part of the [[Google Summer of Code 2009]]
 
+
==Abstract==
+
Many service providers using a REST based API to offer developers access to their services, i.e. [http://apiwiki.twitter.com/ Twitter], [http://developers.facebook.com/?ref=pf Facebook] and so on. The result of this is that some third parties provide Java based libraries, which covers this API's. The [[Eclipse_Communication_Framework_Project|ECF]] team played a little bit with the Twitter API and use therefore a library called [http://yusuke.homeip.net/twitter4j/en/index.html Twitter4J]. <br>The disadvantage of this technique is a dependency to the third parties library. This means an ECF container based on such a library is dependent on the diversity of this.
+
To decouple these dependencies an own ECF based REST abstraction should be created within this [http://socghop.appspot.com/ GSoC] project.
+
  
 
==Primary goals==
 
==Primary goals==
 
* A full working API for the REST client side to communicate to any RESTful web service.
 
* A full working API for the REST client side to communicate to any RESTful web service.
 
== Additional goals ==
 
* Upgrading the Twitter Provider to use this REST API
 
 
<div style="clear: right; border: solid #aaa 1px; margin: 0 0 1em 1em; font-size: 90%; background: #f9f9f9; width: 250px; padding: 4px; text-align: left; float: right;">
 
'''Legend'''
 
 
[[Image:Glass.gif]] Needs some investigation/research
 
 
[[Image:Progress.gif]] Work in progress
 
 
[[Image:Ok_green.gif]] Bug fixed / Feature added
 
</div>
 
 
== Timeline ==
 
Here is a complete list of the milestones and release candidates planned for this plugin.
 
 
{| class="wikitable" style="text-align:center"
 
|- style="background:#efefef;"
 
! Milestone !! Date !! Planned items !! status
 
|- style="background:lightgrey;"
 
! M1
 
| June 16
 
|align="left"| Implementation of the ECF Remote Services API for REST
 
| [[Image:Ok_green.gif]] see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=275723 bug 275723]
 
|- style="background:lightgrey;"
 
! M2
 
| June 28
 
|align="left"| Architecture for REST webservices (POST, GET, UPDATE, DELETE)
 
| [[Image:Ok_green.gif]] see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=281101 bug 281101]
 
|- style="background:lightgrey;"
 
! M3
 
| July 15
 
|align="left"| Couple the abstraction layer with the remote service API implementation
 
| [[Image:Ok_green.gif]]
 
|- style="background:lightgrey;"
 
! M4
 
| July 26
 
|align="left"| The resource representation concept
 
| [[Image:Ok_green.gif]] see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=281097 bug 281097]
 
|- style="background:lightgrey;"
 
! M5
 
| July 31
 
|align="left"| Implementation of some resource representations (XML, JSON and so on)
 
| [[Image:Ok_green.gif]] see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=281102 bug 281102], [https://bugs.eclipse.org/bugs/show_bug.cgi?id=282433 bug 282433] and [https://bugs.eclipse.org/bugs/show_bug.cgi?id=281104 bug 281104]
 
|- style="background:lightgrey;"
 
! RC1
 
| August 4
 
|align="left"| Round up the API and writing documentation
 
| [[Image:Ok_green.gif]] see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=281106 bug 281106], [https://bugs.eclipse.org/bugs/show_bug.cgi?id=284761 bug 284761], [https://bugs.eclipse.org/bugs/show_bug.cgi?id=283053 bug 283053]
 
|- style="background:lightgrey;"
 
! RC2
 
| August 8
 
|align="left"| Fix some bugs
 
| [[Image:Ok_green.gif]] see [https://bugs.eclipse.org/bugs/buglist.cgi?short_desc_type=allwordssubstr&short_desc=%5Brest%5D&product=ECF&long_desc_type=allwordssubstr&long_desc=&order=Importance query]
 
|- style="background:lightgrey;"
 
! Pencils down
 
| August 16
 
|align="left"| Make the contribution ready for ECF
 
| [[Image:Ok_green.gif]]
 
|}
 
 
== Community Involvement ==
 
  
 
=== Getting the source ===
 
=== Getting the source ===
Line 90: Line 23:
 
</pre>
 
</pre>
  
=== Open issues ===
+
==Test/Example code==
DS for ResourceRepresentations (see bug [https://bugs.eclipse.org/bugs/show_bug.cgi?id=285294 285294])
+
 
 +
See the test cases in '''org.eclipse.ecf.tests.remoteservice.rest'''.  Particularly the test classes: '''org.eclipse.ecf.tests.remoteservice.rest.RestRemoteServiceTest''' and '''org.eclipse.ecf.tests.remoteservice.rest.twitter.TwitterRemoteServiceTest'''.
  
 
=== New ideas ===
 
=== New ideas ===
Do you have a great idea for the REST abstraction? Just open a [https://bugs.eclipse.org/bugs/enter_bug.cgi?product=ECF new feature request].
+
Please open a [https://bugs.eclipse.org/bugs/enter_bug.cgi?product=ECF new feature request].
 +
 
 +
=== Under construction ===
  
 
=== Links ===
 
=== Links ===
*[http://wiki.eclipse.org/ECF/REST_abstraction Proposal]
 
*[https://bugs.eclipse.org/bugs/show_bug.cgi?id=275722 REST abstraction for ECF Bug]
 
  
 
[[Category:SOC]]
 
[[Category:SOC]]
 
[[Category:Draft Documentation]]
 
[[Category:Draft Documentation]]

Revision as of 18:09, 17 November 2009

Committer Lead: Holger Staudacher (IRC: staudi)

Other participating committers: Scott Lewis, Marcelo Mayworm

This project started as part of the Google Summer of Code 2009

Primary goals

  • A full working API for the REST client side to communicate to any RESTful web service.

Getting the source

See the appropriate project set below.

Project set file for anonymous CVS access:

<?xml version="1.0" encoding="UTF-8"?>
<psf version="2.0">
  <provider id="org.eclipse.team.cvs.core.cvsnature">
    <project reference="1.0,:pserver:anonymous@dev.eclipse.org:/cvsroot/rt,org.eclipse.ecf/framework/bundles/org.eclipse.ecf.remoteservice.rest,org.eclipse.ecf.remoteservice.rest"/>
    <project reference="1.0,:pserver:anonymous@dev.eclipse.org:/cvsroot/rt,org.eclipse.ecf/framework/bundles/org.eclipse.ecf.remoteservice.rest,org.eclipse.ecf.tests.remoteservice.rest"/>
    <project reference="1.0,:pserver:anonymous@dev.eclipse.org:/cvsroot/rt,org.eclipse.ecf/incubation/bundles/org.json,org.json"/>
  </provider>
</psf>

Test/Example code

See the test cases in org.eclipse.ecf.tests.remoteservice.rest. Particularly the test classes: org.eclipse.ecf.tests.remoteservice.rest.RestRemoteServiceTest and org.eclipse.ecf.tests.remoteservice.rest.twitter.TwitterRemoteServiceTest.

New ideas

Please open a new feature request.

Under construction

Links