Difference between revisions of "Restlet integration with Equinox"

From Eclipsepedia

Jump to: navigation, search
m (Getting the source)
m (Progress)
 
Line 53: Line 53:
 
! M1   
 
! M1   
 
| align="left" | Initial research - Restlet and Server-Side Equinox   
 
| align="left" | Initial research - Restlet and Server-Side Equinox   
 +
| [[Image:Ok green.gif]]
 +
|- style="background: lightgrey none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;"
 +
! M2 
 +
| align="left" | Design and implementation - for requirements 1-5 
 
| [[Image:Progress.gif]]
 
| [[Image:Progress.gif]]
 
|- style="background: lightgrey none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;"
 
|- style="background: lightgrey none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;"
Line 58: Line 62:
  
 
<br>
 
<br>
 +
 
==Getting the source==
 
==Getting the source==
 
The project source code is to be hosted at: [http://code.google.com/a/eclipselabs.org/p/restlet-integration-with-equinox/ Eclipse Labs]
 
The project source code is to be hosted at: [http://code.google.com/a/eclipselabs.org/p/restlet-integration-with-equinox/ Eclipse Labs]

Latest revision as of 09:34, 14 July 2010

This document is a project proposal for the GSoC project: Restlet integration with Equinox and was created by [Rajeev Sampath]. You are welcome to edit or add content.


Contents

[edit] Restlet integration with Equinox

[edit] Synopsis

Restlet [1] is an open-source comprehensive REST Web framework for Java which can be used for developing both server and client side applications. With the emergence and growth of OSGi technology, there has been efforts to build OSGi web applications due to the implicit dynamicity and flexibility they provide. This project aims to integrate Restlet Framework 2.0 with Eclipse Equinox [2] OSGi runtime which will provide a dynamic platform for REST applications.

One strong use case for this project comes from within the Eclipse community itself, which is to create an ECF [3] Remote Services Provider by leveraging this integration, which is to be carried out as a part of this project.


[edit] Description

There has already been a Restlet integration done by NASA, which provides an Equinox extension point for Restlet. However, the implementation is said to be non-friendly for commercial use, which forms the basis for this project. There have already been several discussions going on this integration in Restlet community [4], which points out the major requirements.

So far the following have been identified as major requirements for this project.

  1. Supporting various OSGi environments - This is a natural consequence of OSGi bundling
  2. Dynamic Restlet applications - Typical features of OSGi applications such as Hot deployment and update, multiple versions of a Restlet application.
  3. Leveraging Eclipse Extension points
  4. Dynamic Restlet Helpers
  5. Leveraging a Restlet Service
  6. Implementing an ECF Remote Services Provider


[edit] Benefits

  • This integration will provide a platform which can be used by e4 for client-server communication.
  • An ECF Remote Services Provider can be built leveraging this integration, which will provide server-side (optionally client-side as well) REST support for ECF (ECF on the other hand, can provide protocol independent communication for e4.)


[edit] Deliverables

  • Source code and patches which satisfy the requirements, including:
    • An OSGi service for registering/un-registering Restlet Applications and Representations
    • An Extension point for declaratively registering/un-registering Applications and Representations
    • An ECF Remote services provider
  • Documentation
  • Examples
  • Test cases


[edit] Progress

Milestone Description Status
M1 Initial research - Restlet and Server-Side Equinox  Ok green.gif
M2 Design and implementation - for requirements 1-5  Progress.gif


[edit] Getting the source

The project source code is to be hosted at: Eclipse Labs


[edit] References

[1] Restlet
[2] Equinox
[3] ECF
[4] Restlet wiki - OSGi Integration
[5] Restlet wiki - ECF Integration
[6] equinox-dev discussion: (GSoC) Restlet integration with Equinox
[7] E4 wiki - E4 Client-Server
[8] GSoC proposal on Restlet Integration with Equinox - by Samrat Dhillon