Sounds good to me.

Thanks !

On Fri, May 25, 2012 at 12:24 AM, Dulini Atapattu <[email protected]>wrote:

> Hi Jean and all,
>
> I re-designed the message queue api according to Sagara's comments which
> was helpful.
> According to the comments it was reallized that the api should have
> seperate services representing different tasks, where a given queue service
> may not support all the services in the api we are providing.
>
> According to the information that I read so far, AmazonSQS has the api that
> provides the most number of services.
> Thus our api should have separate services to each of those services in
> AmazonSQS, where then services provided by
> each other queue service (MemcacheQ etc.) becomes a subset of those
> services that we may provide with our api.
> Also this such api provides flexibility to add more services to the api as
> required and as different queue services may introduce more services or we
> need our api to be adopted to any other queue service.
>
> Thus I would propose the api as follows:
>
> *Queue related services:*
>
> *createQueue - create a new queue*
> *deleteQueue - delete the specified queue
> **listAllQueues - list all the queues*
> clearQueue - clear the contents of a specified queue
> clearAllQueues - clear the contents of all the queues
> *SetQueueAttributes - set the queue related properties*
> *GetQueueAttributes - get the queue related properties*
> *GetQueueUrl - get the queue URL*
> *SetQueuePermission - set queue related permissions*
> *RevokeQueuePermission - get existing queue related permissions*
>
> *Message related services in queues*
>
> *SendMessage* - add a message to a specified queue
> *SendMessages* - add multiple messages to a specified queue
> *ReceiveMessage - receive a message/ s from a specified queue*
> *DeleteMessage - delete a message in a queue*
> *DeleteMessages* - *delete multiple messages in a queue*
> *ChangeMessageVisibility* - change visibility timeout for the previous
> received message
> *ChangeMessagesVisibility* - change visibility timeout for the previous
> received messages
>
> Exceptions will be thrown in our implementations of the above api for
> different queue services, where the services are not supported according to
> the queue service.
>
> Also I will be considering on implementing the above api for,
>
>   - GAE: MemchacheQ
>   - AmazonSQS
>   - ActiveMQ (according to my readings so far, ActiveMQ is the mostly
>   being used and more powerful upto now, thus I suppose implementing to
>   ActiveMQ would be much useful [1], [2])
>
> **Also regarding the licenses, MemcacheQ [3] has the New BSD License which
> is compliant with Apache [4].
>
> I also will be using the AWS Free Usage Tier [5] which provides many
> services free for one year and where SQS will be free indefinitely,
> which will be helpful in testing api with Amazon plateform (According to
> Pasindu Gunarathne).
>
> I would like to know the comments about the api and would like to start
> implementation for MemchacheQ first.
>
> Thanks
>
> [1] -
>
> http://activemq.markmail.org/search/?q=activemq#query:activemq%20list%3Aorg.apache.activemq.users+page:1+state:facets
> [2] -
>
> http://apache.markmail.org/search/?q=qpid#query:qpid%20list%3Aorg.apache.incubator.qpid-users+page:1+state:facets
> [3] - http://code.google.com/p/memcacheq/
> [4] - http://apache.org/legal/resolved.html
> [5] - http://aws.amazon.com/free/
>
>
> 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).
> >
> >
> >
> >    - 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>
> >
> >
>
>
> --
> 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

Reply via email to