Re: [GSOC] Message Queue component for Nuvem

2012-04-05 Thread Dulini Atapattu
Hi!

I submitted my proposal [1] to GSOC. So please look at it and provide some
feedback.

thanks,

[1] -
http://www.google-melange.com/gsoc/proposal/review/google/gsoc2012/dulini88/1#

On Tue, Apr 3, 2012 at 7:44 AM, Jean-Sebastien Delfino jsdelf...@apache.org
 wrote:

 On Sun, Apr 1, 2012 at 10:52 AM, Dulini Atapattu dulin...@gmail.com
 wrote:

  Hi!
 
  I'm exciting to work on this issue [1] for GSoC. Would anyone like to
  mentor this project ?
 
  [1] - https://issues.apache.org/jira/browse/NUVEM-14
 
  --
  Dulini I Atapattu
  Look around... http://www.flickr.com/photos/dia1988
 

 Hi!

 I'd be happy to mentor you for this project.

 I'm a member of the Apache Nuvem and Apache Tuscany PPMCs and I have
 already mentored GSoC projects in the last few years.

 - Jean-Sebastien




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


Re: GSOC 2012 - Message Queue component for Nuvem

2012-07-11 Thread Dulini Atapattu
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 dulin...@gmail.com 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 ListQueueMessage 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 
 sagara.gunathu...@gmail.com wrote:

 On Sat, May 19, 2012 at 12:36 AM, Dulini Atapattu dulin...@gmail.com
 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 
  sagara.gunathu...@gmail.com wrote:
 
  Please find my in-line answers.
 
  On Fri, May 18, 2012 at 12:46 PM, Dulini Atapattu dulin...@gmail.com
  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

Re: GSOC 2012 - Message Queue component for Nuvem

2012-07-11 Thread Dulini Atapattu
Thank you very much for the comments Sagara and I will submit the
evaluation now.

Thanks

On Thu, Jul 12, 2012 at 9:09 AM, Sagara Gunathunga 
sagara.gunathu...@gmail.com wrote:

 Jean will perform your mid-term evaluation as your mentor. You don't
 need to wait to submit your evaluation please submit it. I think we
 are very close to mid-term deadline.

 Thanks !

 On Thu, Jul 12, 2012 at 9:00 AM, Dulini Atapattu dulin...@gmail.com
 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 dulin...@gmail.com
 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 ListQueueMessage 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 
  sagara.gunathu...@gmail.com wrote:
 
  On Sat, May 19, 2012 at 12:36 AM, Dulini Atapattu dulin...@gmail.com
  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 
   sagara.gunathu...@gmail.com wrote:
  
   Please find my in-line answers.
  
   On Fri, May 18, 2012 at 12:46 PM, Dulini Atapattu 
 dulin...@gmail.com
   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

Re: GSOC 2012 - Message Queue component for Nuvem

2012-07-13 Thread Dulini Atapattu
Hi Jean and all,

The design for the api of message queue component for nuvem is as follows
(The MessageQueueService interface):

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

*public ListQueueMessage 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)

The *QueueMessage* class represents a message sent by the user to a queue,
and has attribtues: id and messageBody, that stores the id of a message and
message body text of the message. User may set the messageBody in a
QueueMessage object and pass it to the sendMessage method, then the method
return a QueueMessageHandle object, with the id returned to the message and
message body. When receiving a messages, a user has to pass the number of
messages he/ she needs to receive and pass it to the receiveMessage method.
The receiveMessage method will then return a list of QueueMessage objects,
each representing a message in the queue. The user may delete a message by
passing a required QueueMessage object received by receiveMessage method,
to the deleteMessage method and the method will return true, if deletion is
successful.

This interface is implemented to Amazon and GAE platforms using AmazonSQS
and TaskQueue  (PullQueue) respectively. I used the AWS SDK for Java
related to AmazonSQS [16] to implement for Amazon platform and TaskQueue
REST API [17] to to implement for GAE platform. The Task Queue REST API
allows consumption of messages from task queue, for the consumers that may
be hosted even outside GAE.

The user may call the required constructor from the required implementation
and the rest of the user code may remain unchanged.

*The Configuration and running of test cases is as follows:*


   - Add the AWS access key and secret key of the user to the
   nuvem-amazon/source/test/resources/test.properties file.


   - Remove the following line in nuvem-amazon/pom.xml file:

exclude**/AmazonMessageQueueServiceImplTestCase.java/exclude

   - Create a queue named MyQueue in the Amazon cluster.
   - Then run the project using mvn clean install

*Implementation to GAE:*

I am now on the testing stage of GAE implementation and I have few problems
related to configuring to GAE Taskqueue as I am using the REST API in the
implementation.

I would like to receive any comments regarding the work.

Thanks
[16] -
http://docs.amazonwebservices.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/sqs/package-summary.html
[17] - https://developers.google.com/appengine/docs/python/taskqueue/rest

On Thu, Jul 12, 2012 at 9:06 PM, Jean-Sebastien Delfino 
jsdelf...@apache.org wrote:

 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 dulin...@gmail.com
 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 dulin...@gmail.com
  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 ListQueueMessage 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

Re: [jira] [Commented] (NUVEM-14) Message Queue component for Nuvem

2012-08-23 Thread Dulini Atapattu
Hi Jean,

Thanks a lot for your reply and I am awaiting for comments from you
regarding the patch.

Thanks
Best Regards

On Thu, Aug 23, 2012 at 11:51 AM, Jean-Sebastien Delfino (JIRA) 
j...@apache.org wrote:


 [
 https://issues.apache.org/jira/browse/NUVEM-14?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13440078#comment-13440078]

 Jean-Sebastien Delfino commented on NUVEM-14:
 -

 This is progressing. I've started to review the patches and will post some
 comments and commit part of this code over the weekend. Thanks!

  Message Queue component for Nuvem
  --
 
  Key: NUVEM-14
  URL: https://issues.apache.org/jira/browse/NUVEM-14
  Project: Nuvem
   Issue Type: Improvement
 Reporter: Sagara Gunathunga
   Labels: gsoc2012
  Attachments: NUVEM-14.nuvem-api,
 Nuvem-14-[nuvem-gae-taskqueue].patch,
 Nuvem-14-[nuvem-standalone-activemq].patch,
 Nuvem-14-[redesign][nuvem-amazon-sqs].patch,
 Nuvem-14-[redesign][nuvem-api].patch
 
 
  Message queues are necessary integral of enterprise application. In
 cloud platform number of vendors provide their own queues components. The
 aim of this project to provide a standard vendor independent API  and
 implementations for Nuvem.

 --
 This message is automatically generated by JIRA.
 If you think it was sent incorrectly, please contact your JIRA
 administrators:
 https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
 For more information on JIRA, see: http://www.atlassian.com/software/jira





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


[jira] [Updated] (NUVEM-19) Add missing documentation comment for nuvem-api

2012-04-09 Thread Dulini Atapattu (Updated) (JIRA)

 [ 
https://issues.apache.org/jira/browse/NUVEM-19?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dulini Atapattu updated NUVEM-19:
-

Attachment: File.NUVEM-19.patch

Submit the patch

 Add missing documentation comment for nuvem-api
 ---

 Key: NUVEM-19
 URL: https://issues.apache.org/jira/browse/NUVEM-19
 Project: Nuvem
  Issue Type: Improvement
Reporter: Dulini Atapattu
 Attachments: File.NUVEM-19.patch


 Add missing documentation comment for nuvem-api.
 nuvem-api/src/main/java/org/apache/nuvem/cloud/data/NotFoundException.java
 nuvem-api/src/main/java/org/apache/nuvem/cloud/dataService/DataServiceUtil.java
 nuvem-api/src/main/java/org/apache/nuvem/cloud/user/UserService.java
 nuvem-api/src/main/java/org/apache/nuvem/cloud/user/UserContext.java
 nuvem-api/src/main/java/org/apache/nuvem/cloud/user/User.java

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (NUVEM-14) Message Queue component for Nuvem

2012-08-14 Thread Dulini Atapattu (JIRA)

 [ 
https://issues.apache.org/jira/browse/NUVEM-14?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dulini Atapattu updated NUVEM-14:
-

Attachment: Nuvem-14-[nuvem-standalone-activemq].patch
Nuvem-14-[nuvem-gae-taskqueue].patch
Nuvem-14-[redesign][nuvem-amazon-sqs].patch
Nuvem-14-[redesign][nuvem-api].patch

I have attached the patches for Message Queue Component for Nuvem which 
includes, the Nuvem API and Nuvem Amazon SQS re-design that according to Jean's 
comment and also include the implementation of the interface to GAE Task Queue 
, ActiveMQ and the test cases. Please review patches.

 Message Queue component for Nuvem 
 --

 Key: NUVEM-14
 URL: https://issues.apache.org/jira/browse/NUVEM-14
 Project: Nuvem
  Issue Type: Improvement
Reporter: Sagara Gunathunga 
  Labels: gsoc2012
 Attachments: NUVEM-14.nuvem-api, 
 Nuvem-14-[nuvem-gae-taskqueue].patch, 
 Nuvem-14-[nuvem-standalone-activemq].patch, 
 Nuvem-14-[redesign][nuvem-amazon-sqs].patch, 
 Nuvem-14-[redesign][nuvem-api].patch


 Message queues are necessary integral of enterprise application. In cloud 
 platform number of vendors provide their own queues components. The aim of 
 this project to provide a standard vendor independent API  and 
 implementations for Nuvem.  

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira