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.
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.
Contents
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.
- Supporting various OSGi environments - This is a natural consequence of OSGi bundling
- Dynamic Restlet applications - Typical features of OSGi applications such as Hot deployment and update, multiple versions of a Restlet application.
- Leveraging Eclipse Extension points
- Dynamic Restlet Helpers
- Leveraging a Restlet Service
- 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 | |
M2 | Design and implementation - for requirements 1-5 |
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