GSoC 2014 Proposal: Tooling Support For OSGi Remote Services

Short description :-

when user create OSGI remote service 

  1. Create a interface and include all the methods
  2. Create an implementation for above interface
  3. Register the service

Would be a basic three steps. Those first two steps can all be done via any existing tooling and/or frameworks...e.g. Eclipse, bndtools, declarative services, blueprint. Also in the PDE there is PDE project examples that shows two new PDE example templates but this depends upon PDE templates, so it's only usable with PDE. so there is no any other simple way to create complete generic OSGI remote service projects.

This project focus on creating brand new tooling support for simplifying the creation and registration of OSGi Remote Services with specific distribution providers and specifications. And the related documentation to the project.

Detailed Information:-

This project will develop a new project category call “ECF OSGI Remote Service” in to eclipse following new project wizard.

Users will be able to select the category and able to create new OSGI remote service project using Wizard like shown below this wizard will allow user to specify the project name, working directory and execution environment settings.

Once we collect those information it will direct to next page that asks user about basic infrastructure of the remote service project.
In that wizard page it will gather information about service interfaces and their implementation classes and their packaging information. for this phase I think Eclipse JFace TableViewer in JFace framework would be suitable. Once user complete this wizard page those information will be added to MANIFEST.MF file in OSGI bundle.
After that wizard it will direct to another wizard page which ask about the dependencies of the OSGI project. in this phase it will add those dependencies to the MENFEST.MF of the OSGI project. Page may look like page shown below.

Once user have completed the page it will invoke another page.In that wizard page it will ask information about service registration 
In this phase it user can specify about their distribution provider and which of the interfaces of the service need to be exported all of the above information may gather into final service activator class which will register the service  as a remote service.
The ability to create a OSGI remote service project via simplified automated way it will really appealing. particularly for the novice OSGI developers. Since additional Eclipse-based tooling were made available, it would be helpful to provide more tutorial-style documentation that uses that improved tooling .therefor creating Tooling support for OSGI Remote Services will be a benefit to developers.

Background :-

In the time leading up to the start of the GSoC program I am going to improve my knowledge about Eclipse Communication Framework . And my major goal is to get familiar with the OSGi Remote Services and Eclipse based Tooling .And thoroughly study the source code for existing Tooling supports for various eclipse projects. To improve my knowledge on above aspects I expect to read the documents regarding them and to have a discussion with the project mentors.

Deliverables :-

Working Tool for create OSGI Remote services.

Schedule :- 

March 25 - April 2
  • Familiarize with ECF.
  • Study the documentation about OSGi and Eclipse Tooling.
April 3 - May 16
  • Try out existing OSGI Remote service Workflow
  • Research about Eclipse existing tooling Supports.
  • Research about OSGi
  • Get more familiar with ECF
May 17 - June 15
  • Discuss and design a OSGi remote service
  • Start coding to integrate designed service
  • Start working  on GUI
  • Testing
June 16 - June 27
  • Mid term Evaluation
June 28 - July 24
  • Add required new classes and update existing classes which requires to add OSGi Remote service.
  • Further develop the GUI and integrate it with the code
  • Integrate all implemented parts eclipse single project.
July 25 - August 6
  • Test if added new functionality and old functionality is working properly.
  • Do the required changes to fix the bugs.
August  7 - August 14
  • Documentation
August  14 - August 18
  • Finish project and Submit Deliverable

Expectations :-

I hope to  discussion with my mentors about the idea which will help to reduce the ambiguity of the requirements.
I am going to put effort and do my best to understand but if I am unable to do so I would like to get help from the mentors clarify things that  I do not understand about PDE and OSGI.

Contact Information :-

  • Email :
  • Phone number : +94776070991
  • Time-Zone : GMT+5:30
I’m Sakith Indula. I am a third year  undergraduate in Department of Computing and information System in Sabaragamuwa University Of Srilanka .I have much experience in java and developing various applications, basically I am doing programming with Java therefor I have a advance knowledge with programming in Java also I have experience with programming in  C,C++ and XML.I have implemented many projects in java including a one which spanned for four months .Also I was a project team member of the following  projects which were conducted by our department.

Track M : Bus Tracking System For National Trans Port Board [1]
Reader : Book Sharing Platform for Book collectors Club [2]

I am able to work 50 hours a week  for GSoC from April to August ( 6 hours on weekdays and 10 hours on weekends).So I’m confident enough to take up this project as I have the required skill set for this project and I will deliver my best to make this project a success. ‘And I would like continue  forward the work for ECF even after GSoC finishes and to complete the work all the way to deployment.


Popular Posts