Jump to: navigation, search

Difference between revisions of "REST abstraction for ECF"

m (Getting the source)
(Timeline)
Line 30: Line 30:
 
{| class="wikitable" style="text-align:center"
 
{| class="wikitable" style="text-align:center"
 
|- style="background:#efefef;"
 
|- style="background:#efefef;"
! Milestone !! Date !! Planned items
+
! Milestone !! Date !! Planned items !! status
 
|- style="background:lightgrey;"
 
|- style="background:lightgrey;"
 
! M1
 
! M1
 
| June 16
 
| June 16
|align="left"| Implementation of the ECF Remote Services API for REST
+
|align="left"| Implementation of the ECF Remote Services API for REST  
|- style="background:lightgrey;"
+
| [[Image:Ok_green.gif]] see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=275723 bug 275723]
 +
|- style="background:lightgrey;"  
 
! M2
 
! M2
 
| June 28
 
| June 28
|align="left"| Architecture for REST webservices (POST, GET, UPDATE, DELETE)
+
|align="left"| Architecture for REST webservices (POST, GET, UPDATE, DELETE)  
|- style="background:lightgrey;"
+
| [[Image:Ok_green.gif]] see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=281101 bug 281101]
 +
|- style="background:lightgrey;"  
 
! M3
 
! M3
 
| July 15
 
| July 15
|align="left"| Couple the abstraction layer with the remote service API implementation
+
|align="left"| Couple the abstraction layer with the remote service API implementation  
|- style="background:lightgrey;"
+
| [[Image:Ok_green.gif]]
 +
|- style="background:lightgrey;"  
 
! M4
 
! M4
 
| July 26
 
| July 26
|align="left"| The resource representation concept
+
|align="left"| The resource representation concept  
|- style="background:lightgrey;"
+
| [[Image:Progress.gif]] see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=281097 bug 281097]
 +
|- style="background:lightgrey;"  
 
! M5
 
! M5
 
| July 31
 
| July 31
|align="left"| Implementation of some resource representations (XML, RDF, HTML and so on)
+
|align="left"| Implementation of some resource representations (XML, JSON and so on)  
|- style="background:lightgrey;"
+
| [[Image:Glass.gif]] see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=281102 bug 281102] and [https://bugs.eclipse.org/bugs/show_bug.cgi?id=281104 bug 281104]
 +
|- style="background:lightgrey;"  
 
! RC1
 
! RC1
 
| August 4
 
| August 4
|align="left"| Round up the API and writing documentation
+
|align="left"| Round up the API and writing documentation  
|- style="background:lightgrey;"
+
| [[Image:Glass.gif]] see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=281106 bug 281106]
 +
|- style="background:lightgrey;"  
 
! RC2
 
! RC2
 
| August 8
 
| August 8
|align="left"| Fix some bugs
+
|align="left"| Fix some bugs  
|- style="background:lightgrey;"
+
| [[Image:Glass.gif]]
 +
|- style="background:lightgrey;"  
 
! Pencils down
 
! Pencils down
 
| August 11
 
| August 11
 
|align="left"| -
 
|align="left"| -
 +
| [[Image:Glass.gif]]
 
|}
 
|}
 
  
 
== Community Involvement ==
 
== Community Involvement ==

Revision as of 11:02, 22 June 2009

Project Lead: Holger Staudacher (IRC: staudi)

Mentor: Scott Lewis, Marcelo Mayworm

This project is 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. Twitter, Facebook and so on. The result of this is that some third parties provide Java based libraries, which covers this API's. The ECF team played a little bit with the Twitter API and use therefore a library called Twitter4J.
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 GSoC project.

Primary goals

  • 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

Legend

Glass.gif Needs some investigation/research

Progress.gif Work in progress

Ok green.gif Bug fixed / Feature added

Timeline

Here is a complete list of the milestones and release candidates planned for this plugin.

Milestone Date Planned items status
M1 June 16 Implementation of the ECF Remote Services API for REST Ok green.gif see bug 275723
M2 June 28 Architecture for REST webservices (POST, GET, UPDATE, DELETE) Ok green.gif see bug 281101
M3 July 15 Couple the abstraction layer with the remote service API implementation Ok green.gif
M4 July 26 The resource representation concept Progress.gif see bug 281097
M5 July 31 Implementation of some resource representations (XML, JSON and so on) Glass.gif see bug 281102 and bug 281104
RC1 August 4 Round up the API and writing documentation Glass.gif see bug 281106
RC2 August 8 Fix some bugs Glass.gif
Pencils down August 11 - Glass.gif

Community Involvement

Getting the source

See the appropriate project set below.

Project set file for ECF committers:

<?xml version="1.0" encoding="UTF-8"?>
<psf version="2.0">
  <provider id="org.eclipse.team.cvs.core.cvsnature">
    <project reference="1.0,:extssh:ecf1.osuosl.org:/home/cvs/ecf,rest/bundles/org.eclipse.ecf.remoteservice.rest,org.eclipse.ecf.remoteservice.rest"/>
    <project reference="1.0,:extssh:ecf1.osuosl.org:/home/cvs/ecf,rest/bundles/org.eclipse.ecf.tests.remoteservice.rest,org.eclipse.ecf.tests.remoteservice.rest"/>
  </provider>
</psf>

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:ecf1.osuosl.org:/ecf,rest/bundles/org.eclipse.ecf.remoteservice.rest,org.eclipse.ecf.remoteservice.rest"/>
    <project reference="1.0,:pserver:ecf1.osuosl.org:/ecf,rest/bundles/org.eclipse.ecf.tests.remoteservice.rest,org.eclipse.ecf.tests.remoteservice.rest"/>
  </provider>
</psf>

When the project's finished the code will be published on the appropriate Google Code Site.

Open issues

TBD

New ideas

Do you have a great idea for the REST abstraction? Just open a new feature request.

Links