Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Restlet integration with Equinox

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.


Restlet integration with Equinox

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.


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


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.)


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


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


Getting the source

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


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

Back to the top