Hi Jean and all,

I have implemented the nuvem-api for message queue component including the
interface and other related classes. The api interface is as follows:

public QueueMessageHandle sendMessage(QueueMessage queueMessage) throws
MessageQueueServiceException;
(Sends the queueMessage and returns a handle to the sent message)

public List<QueueMessage> receiveMessage(int numMessages) throws
MessageQueueServiceException;
(Receives the number of messages specified by numMessages from the queue
service and returns a list of queue messages)

public boolean deleteMessage(QueueMessage queueMessage) throws
MessageQueueServiceException;
(Deletes the message specified by the queueMessage and returns true if
deletion is successful)

I also have implemented this interface for Amazon platform, tested with
test cases using the account I have created in Amazon Free Usage Tier [14],
and also documented the code. I also have submitted the patch for this work
at Nuvem JIRA issues [15].

I have also implemented the interface for GAE (using Pull Queue) and
currently I am performing the tests for the implementation.

I would like to receive any comments about the work I have done so far.

Thanks

[14] - http://aws.amazon.com/free/
[15] - https://issues.apache.org/jira/browse/NUVEM-14


On Sat, Jul 7, 2012 at 9:41 AM, Sagara Gunathunga <
[email protected]> wrote:

> On Sat, May 19, 2012 at 12:36 AM, Dulini Atapattu <[email protected]>
> wrote:
> > Hi Sagara,
> >
> > Thank you very much for the comments you have mentioned and they are a
> lot
> > helpful to get done the required tasks appropriately and relevantly.
> >
> > I will focus on the activities, queue services and solutions to issues
> you
> > have mentioned and will provide the community the API design according to
> > the requirements you have mentioned.
> >
> > I added approximate completion dates to my project proposal and they are
> as
> > follows:
> >
> >
> >    - 24th April - 20th May
> >
> > Read about the Apache Qpid, Amazon SQS, Azure Message Queue REST API
> > and3rd party queue frameworks which based on App Engine menarche API
> > (24th
> > April - 30th April).
> >
> > Define the Nuvem message queue API. Discuss with Nuvem community about
> the
> > design of the API and scope of the project (1st May - 20th May).
> >
> >    - 21st May - 12th July
> >
> > Implement above Message Queue API using GAE (21st May to 11th June).
> >
> > Implement above Message Queue API using Amazon (12th June to 03rd July).
> >
> > Preparing for the mid-term evaluation of the project (4th July to 12th
> > July).
>
> Hi Dulini,
>
> We are reaching to mid term evaluation very soon. I would like to see
> codes related to above tasks either on SVN or JIRA,  those codes are
> important to measure project progress for mid term evaluation.
>
> I believe Jean will help out to bring your codes to SVN.
>
> Thanks !
>
>
> >
> >
> >
> >    - 13th July - 12th August
> >
> > Implement Queue API using Apache QPID (13th July - 27th July).
> >
> > Implement simple application to demonstrate the Nuvem Message Queue API
> > (28th July - 6th August).
> >
> >        Completing the documentation and test cases (7th August - 12th
> > August).
> >
> >
> >
> >    - August 16th - August 23rd
> >
> >  Prepare the deliverables for final submission.
> >
> > Thank you,
> > Best regards
> >
> > On Fri, May 18, 2012 at 2:19 PM, Sagara Gunathunga <
> > [email protected]> wrote:
> >
> >> Please find my in-line answers.
> >>
> >> On Fri, May 18, 2012 at 12:46 PM, Dulini Atapattu <[email protected]
> >> >wrote:
> >>
> >> > Hi Jean and all,
> >> >
> >> > With related to the project: Message Queue component for Nuvem, so
> far I
> >> > read about AmasonSQS, Azure Queue Service Rest API, MemcacheQ, Sparrow
> >> and
> >> > Depcached. According to details and APIs related to these queue
> services/
> >> > frameworks, all the queue services provide send message and receive
> >> message
> >> > functionality with related to a specified queue, and only some queue
> >> > services/ frameworks provide other related services such as creating
> >> > queues, deleting messages etc.
> >> >
> >>
> >> Sound good but you don't need to support all of above services.  You can
> >> pick around 4 widely used services here because for all those
> >> implementations you have to perform following activities.
> >>
> >> 1.) Implement X queue service for Nuvem Queue API.
> >> 2.) Provide full set of unit tests for X implantation.
> >> 3.) Provide documentation how to configure X queue service with Nuvem
> API
> >> and may be samples as well.
> >>
> >> Personally I believe following 3 services need to be included within the
> >> scope of your project.
> >>
> >> 1.) Amazon SQS
> >> 2.) GAE  (MemcacheQ)
> >> 3.) Nuvem specific implementation  ( ActiveMQ ?)
> >>
> >>
> >> Before you start you may have to find solutions for following issues
> >>
> >> *  How to test AmasonSQS  on Amazon platform. In last year student who
> did
> >> key-value component created a Amazon account for him AFAIK it's free for
> >> one year time. You may do the same or can find any alternative ?.
> >>
> >> *  Is that MemcacheQ licence compliant with Apache ?
> >>
> >> * Still you haven't focus on Nuvem specific implementation , this also a
> >> very important component.
> >>
> >>
> >>
> >> >
> >> > Therefore I came up with the following design/ interface for the
> message
> >> > queue component, which provides the user the basic two functionalities
> >> > provided by any queue services, and the implementation of this
> interface
> >> > may call other relevant functionalities relevantly according to the
> queue
> >> > service being used and as required:
> >> >
> >> > putMessage(queueName, messageBody);
> >> >
> >> > getMessage(queueName);
> >> >
> >>
> >> This API is not sufficient for enterprise applications. For example
>  it's
> >> mandatory to create and delete queues regardless of underline service
> >> provider. If the specific service provider does not support for a
> >> particular method you need to come up with solution or can throw
> >> unsupported exception. Refer the last year key-value project it has lot
> of
> >> tips to overcome such limitations.
> >>
> >>
> >> IMO we need to support following activities.
> >>
> >> 1.) create  queue , delete queue , list all queues, clear queue ( remove
> >> all message on queue)
> >> 2.) send message , receive message, delete message
> >> 3.) what else ..?
> >>
> >>
> >> >
> >> > The getMessage should return the message which is consumed by the
> queue.
> >> > Also message deletion tasks etc. should be performed inside the
> >> > implementation of getMessage.
> >> >
> >> > Also I would like to use MemcacheQ as the 3rd party queue framework
> for
> >> > GAE, and I would like to know the feedback of the community regarding
> >> this
> >> > choice.
> >> >
> >> > Also I would like to know the feedback about the API I have come up
> with.
> >> >
> >>
> >> It seems my comments on Google Melange have been ignored, in there I
> asked
> >> realistic breakdown of project according to allocated time with task.
>  You
> >> have to provide schedule for this project. what I mean here is something
> >> similar to below.
> >>
> >> Define API - estimated complete date
> >> Amazon SQS - estimated complete date
> >> GAE  (MemcacheQ) - estimated complete date
> >> Nuvem specific implementation without any of above  ( ActiveMQ ?) -
> >> estimated complete date
> >>
> >> These dates are flexible and not like deadlines but we need some kind
> of a
> >> schedule to monitor your progress.  It would be an advantage to you to
> >> complete at least 1 or 2 services before the mid-term evaluation.
> >>
> >> Thanks !
> >>
> >>
> >> >
> >> > Thank you,
> >> > Best regards
> >> >
> >> > On Thu, Apr 26, 2012 at 3:46 AM, Dulini Atapattu <[email protected]>
> >> > wrote:
> >> >
> >> > > Hi all,
> >> > >
> >> > > As my proposal for Message Queue component for Nuvem is being
> accepted
> >> > for
> >> > > GSOC 2012
> >> > > i would like to continue my work with the project and to achieve the
> >> > goals
> >> > > stated.
> >> > > I will be starting work with reading about the Apache Qpid, Amazon
> SQS,
> >> > Azure
> >> > > Message Queue REST API and 3rd party queue frameworks that are
> based on
> >> > > App Engine menarche API and defining the Nuvem message queue API.
> >> > >
> >> > > Thank you
> >> > > --
> >> > > Dulini I Atapattu
> >> > > Look around... <http://www.flickr.com/photos/dia1988>
> >> > >
> >> > >
> >> >
> >> >
> >> > --
> >> > Dulini I Atapattu
> >> > Look around... <http://www.flickr.com/photos/dia1988>
> >> >
> >>
> >>
> >>
> >> --
> >> Sagara Gunathunga
> >>
> >> Blog      - http://ssagara.blogspot.com
> >> Web      - http://people.apache.org/~sagara/
> >> LinkedIn - http://www.linkedin.com/in/ssagara
> >>
> >
> >
> >
> > --
> > Dulini I Atapattu
> > Look around... <http://www.flickr.com/photos/dia1988>
>
>
>
> --
> Sagara Gunathunga
>
> Blog      - http://ssagara.blogspot.com
> Web      - http://people.apache.org/~sagara/
> LinkedIn - http://www.linkedin.com/in/ssagara
>



-- 
Dulini I Atapattu
Look around... <http://www.flickr.com/photos/dia1988>

Reply via email to