Hi Dulini, I've started to review your patch, which looks good so far but I'll send a few comments later this evening.
In the meantime it'd be good if you could post an email to describe your design, and also give us a few pointers on how to test this. I know you have some test cases but I'm not sure how I could run them. What would I need to configure on an EC2 instance for example? Also, do you have another patch for the GAE implementation that we could review as well? Thanks! - Jean-Sebastien On Wed, Jul 11, 2012 at 8:30 PM, Dulini Atapattu <[email protected]> wrote: > Hi Jean and all, > > I have submitted a patch to JIRA issues for Message Queue Component for > Nuvem and I would like to receive any comments regarding that. Also I would > like to know whether it is alright to submit my mid-term evaluation to > melange now. > > Thanks > > On Tue, Jul 10, 2012 at 1:24 PM, Dulini Atapattu <[email protected]> > wrote: > > > 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> > > > > > > > -- > Dulini I Atapattu > Look around... <http://www.flickr.com/photos/dia1988> >
