Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

ECF/tooling/remote-service-development

< ECF

Summary

The major aim of this project is to develop a tooling kit for OSGI remote service development and testing life cycle, Basically provide a bunch of annotations to define and testing a remote service.Using those annotations developers can define what services should be test with the remote service framework,which services should be invoke in non-blocking way ...etc.

Detailed Information

When user create a remote service using the ECF SDK without using any tools steps as follows

 1- Create a service interface.
 2- Create  a service implementation for above interface
 3- Create a service container
 4- Register the Service.

Major difficulties of this approaches are developers cannot define which methods should invoke as remote services also async-remoter service. how to link with the testing framework..etc as a solution for this I am proposing annotation based tooling kit to develop RS

With the proposed tooling kit, the service interface can define using annotations in following way.

public interface Iservice {

@Remoteservice

public void methodA();

@AsyncRemoteService

public void methodB();

@Test

@Remoteservice

public void methodC();

public void methodD();

}

So , methodA will be a remoter service but that will not be testing , methodB will be Asycn-remoter service that also will not testing , methodC will be a remoter service and will be tested using remoter service testing framework and methodD will not be a any kind of service.

Basically proposed tooling kit includes annotations creator, annotation processor and a linker for testing framework.Annotation processor will be the major module of the tooling kit which will be based on the java reflection.Target service interface will be scanned using the reflection and identified the annotation list according to that list service will be registered if the @test annotation find then service will be tested by the remote service testing framework.

Background - I am already started looking the ecf code base specially remote service tooling stuff.Also I hope to familiar with the remoter service testing framework codes.

Aside form the technical stuff my major intentions to learn how to wok with the open source community,Open source project culture and gain the distributed developments experience. Once I started communicating in the ECF dev mailing list I feel it is a really good way of sharing technical stuff as well as I am enjoying lot

Deliverables -

Tool kit will be a eclipse plugin/feature Relevant Documentations and User Guides

Schedule

May 3:

Getting familiar with Remote Service Implementation (I have already started this task) Interact with the mentor and the ECF community is vital in this period.

May 28:

Start the development of the tool kit (There is a high possibility to start this work earlier)

July 20:

Complete the functionalities of the hosting and registering the service using the annotation Testing the written code should be done throughout this period

July 29:

Submit the code for midterm evaluations.

septh 16:

Complete all the functionalities

septh 27:

Complete documentation

Oct 10:

Submit completed source code

Expectations -

Basically I am expecting some direction and guideline for development, aside from the technical stuff I need to know best practise to be a good and effective open source programmer.

Contact Information -

I am undergraduate student following computer science degree, last couple year onwards I am developing eclipse plugin stuff for my university projects apart form that I am android developer too,Really enjoying working with the open source stuff.

Back to the top