[ 
https://issues.apache.org/jira/browse/BOOKKEEPER-25?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13102818#comment-13102818
 ] 

Matthieu Morel commented on BOOKKEEPER-25:
------------------------------------------

Vrulashi: It's great you'd like to contribute! What area would you like to 
participate to?

I'm working on a second milestone right now, and I'll welcome feedback on the 
current prototype.

One area which is currently half-baked is the JNDI support. Maybe you could 
have a look at that?

> Implementation of the JMS specification and API
> -----------------------------------------------
>
>                 Key: BOOKKEEPER-25
>                 URL: https://issues.apache.org/jira/browse/BOOKKEEPER-25
>             Project: Bookkeeper
>          Issue Type: Task
>            Reporter: Matthieu Morel
>         Attachments: JMS implementation.pdf, JMS implementation.pdf, 
> hedwigjms-milestone1preview.pdf
>
>
> Here is a proposal for implementing JMS on top of Hedwig.
> Overview:
> ---------
> After comparing the JMS spec and Hedwig's current implementation, it appears 
> that Hedwig provides most concepts of the JMS spec. The work will therefore 
> mostly be implementing wrappers around Hedwig's primitives.
> There is no 1 to 1 mapping most of the time though, and there are some 
> subtleties in the JMS spec that we must be cautious about. There are also 
> things that don't exist in Hedwig and that we'll have to add. 
> For instance, "administered objects", the different kinds of standard 
> messages, or a parser for the SQL-like selector queries. These are marked 
> with a triangular flag on the attached mindmap.
> The JMS spec also specifies support for distributed transactions (XA) but 
> this part is optional. I would suggest to leave that for later, if there is 
> any request for it.
> Design:
> -------
> I suggest to separate all JMS-related code in a separate project (as 
> hedwig-client and hedwig-protocol). 
> We'll therefore make sure that Hedwig-server is JMS agnostic, and it will 
> later be possible to use the same approach for implementing AMQP or JMS2, 
> without mixing all concepts.
> Development:
> -----------
> An iterative approach is well suited. We could start with fundamentals, and 
> progressively add some meat: 
> 1. messages, connections and sessions
> 2. basic messaging with selectors
> 3. all cases of messaging models
> 4. validation tests
> 5. performance tests (I checked and unfortunately, there does not seem to be 
> any "free" standard for benchmarking jms implementation...)
> Each iteration would involve adding regression tests and doing a review.
> About the time this would take:
> My rough estimation (not being very familiar with Hedwig's codebase): in the 
> order 1 or 2 weeks for each of these iterations.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to