OSGi Remote Services Testing framework for ECF
Jasintha Kapilajith Dasanayake
Short description: ECF has provided an implementation for OSGI Remote service Specification and provides a good interface to develop OSGI Remote Services but there is no proper implementation for testing those services.The main goal of this project is to provide an annotation based extendible test framework for testing remote services which has been implemented using the ECF .
Abstract
ECF has provided an implementation for OSGI Remote service Specification. The OSGI remote service specification 4.2 has been implemented in the latest release of the ECF.
Although ECF provides a good interface to develop OSGI Remote Services, there is no proper implementation for testing those services. We can write unit tests, but it isn't good enough to test remote services Therefore I am proposing a remote service testing framework for ECF.
Detailed Information
The main goal of this project is to provide an annotation based extendible test framework for testing remote services which has been implemented using the ECF .
Following are the major tasks in implementing this framework.
1. Introduce annotations
Introduce new annotations based on the remote service functionalities.
e.g.: @hostService , @regService, etc.
2 Process the annotations
Develop a processor to process above annotations and identify the meaning of the annotations.
The test class will be read using java reflection then those annotation will be processing using the java annotation tool framework which provide an annotation processor.
3 Invoke tests
Start the test process according to the provided annotations.
Example
Assume there is a service called FooService which has 3 operation calls X, Y and Z.
Using the proposed test framework, we can implement tests as follows,
In the test Class
@hostService{ // ' provide the relevant parameters here ex.. IP of the host '}
@regService {//'provide the param which need to publish the service in registy ex: Service name... '}
@X
public void testXoperation(){
//implemetation
}
@Y
public void testYoperation(){
}
…………….
@hostService - Host the Service in the given server
@regservice - Register and publish the service in service registry
@X or @Y - provide the mapping to service operation
More information is available on the project wiki page
Background
I expect to go through the ECF Remote service implementation to get a better idea about
how ECF support for implementing OSGI remote services. Also I will have to get a clear understand the java annotation tool framework to use annotation processor. I will need lot s of help to understand the implementation of remote service specification in ECF
Timeline:
April 25:
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 23:
Start the development of the framework (There is a high possibility to start this work earlier)
July 11:
Complete the functionalities of the hosting and registering the service using the annotation
Testing the written code should be done throughout this period
July 14:
Submit the code for midterm evaluations.
August 15:
Complete the functionalities of the operation mapping annotations
Testing the written code should be done throughout this period
August 22:
Complete documentation
August 25:
Submit completed source code
Deliverable
Test framework implementation
Relevant Documentations and User Guides
Expectations.
need to help to define the phases of the project also need to discuss what kind of things should provide as annotations
Contact Information
Name: Jasintha Kapilajith Dasanayake
E-mail: jasinthad@gmail.com
I have more than one year working experience as Software Engineer at WSO2 Inc. which is based on the open source model. At there I involve in the projects of WSO2 eclipse tooling team. The tooling team develops eclipse plug-ins for their products. So I am very much familiar with Eclipse plug-in development.
I have a good experience with open source technologies and tools and working with open source communities.
My bachelor desertion was about the Service oriented Architecture in the Enterprise Resources Planing
Possible Mentors:
Scott Lewis
Markus Kuppe
Harshana Martin
