Your first cloud computing service : PaaS

Project F.A.Q.

Introduction

The objective of this project is to propose an extension of the Executor mechanism to outsource its computation on remote resources. Through this interface a java developer should be able to transparently use a either ScheduledThreadPoolExecutor or a ScheduledProActiveExecutor.
You will work in groups of 4 students and the project will proceed as follows:

Content of the project deliverable

Your project will have to be submitted as a tar.gz archive named as follow : name1-name2-name3-name4.tar.gz which will deflates as a single directory named name1-name2-name3-name4, and organized as follow :

Evaluation

The next two classes will be reserved to the project. Your progression will be evaluated. Final version of the project will have to be sent by email at brian.amedro [at] activeeon.com, with all the group members in cc, no later than monday march 19th.

Criterias which will be taken into account for the project evaluation will be :

A project which does not compile will not be evaluated !

Subjet

The java.util.concurrent.ExecutorService interface represents an asynchronous execution mechanism which is capable of executing tasks in the background.
An ExecutorService is thus very similar to a thread pool. In fact, the implementation of ExecutorService present in the java.util.concurrent package is a thread pool implementation.
A nice description is given here: Executor Service

For this project you will create an ExecutorService that instead of relying on a threadpool to execute submitted tasks, send them to a ProActive Scheduler.

As sending tasks to a remote machine can take some time, your interface will have to offer a batching mechanism :

In front of this service, you will have to implement an use case which will submit some tasks on your Executor.

Your are free to propose something for this, but it will have to imply some RESTful communications. For exemple, you can retrieve some data from Google through their APIs and process them thanks to your Executor.