Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [mosquitto-dev] [paho-dev] Java MQTT broker

I agree the approach looks exciting.  The only question I have, does it enlarge the size of the broker to a great extent?  The goal of RSMB, and I believe Mosquitto (Roger, correct me if I'm wrong) is to be smaller rather than faster.  (If it can be both small and fast, so much the better!)

Would the goal of Moquette also to be small?   That's how the Eclipse Mosquitto project is currently described.

In any case, I'm in favour of Andrea contributing Moquette.

Ian

On 22/01/14 17:57, Paul Fremantle wrote:
Andrea

I'm really excited about your approach. We at WSO2 have also done work around Disruptor but based on the AMQP protocol. I'd love to get involved. I also agree with having an SPI for security. JAAS is one option, but there are simpler SPIs too.

I think your dependencies are all fine for Eclipse.

Paul


On 21 January 2014 20:48, Andrea Selva <selva.andre@xxxxxxxxx> wrote:
Hi Ian and Andy,






On Tue, Jan 21, 2014 at 7:16 PM, Andy Piper <andypiperuk@xxxxxxxxx> wrote:
> Hi Andrea!
>
> We've started to discuss this over the on the Paho mailing list, and we're
> really excited about the possibility of you joining us. Maybe we could
> include a Java broker implementation as part of the mosquitto project.
>
> As Ian says, there are some legal things to consider here around use of
> third party libraries and licenses, and your own decision to potentially
> re-license moquette under EPL. Nothing that cannot be worked through, if you
> would like to join us.

I use some third party libraries, most of all are licensed with Apache
License v2 (it should be compliant with EPL) and the remaining
(slf4j-api and slf4j-log4j12) has a special license
(https://github.com/qos-ch/slf4j/blob/master/slf4j-api/LICENSE.txt)
that I don't know if it's EPL compliant but I expect so.
The third party libs are:
APLv2 commons-logging-1.1.jar
APLv2 disruptor-2.7.1.jar
APLv2 hawtbuf-1.9.jar
APLv2 hawtdb-1.6.jar
APLv2 log4j-1.2.17.jar
APLv2 netty
*custom license slf4j-api-1.7.5.jar
*custom license slf4j-log4j12-1.7.5.jar

>
> One of the interesting things about having a Java broker would be the
> possibility of making use of OSGi technology and fitting in with the Eclipse
> ecosystem. Any thoughts on that?

On OSGi side and the integration with Eclipse side I think that could
be a big plus for Moquette be OSGi compliant, exposing some activities
(or services) to be managed by other modules, so moving in the
direction to integrate with Eclipse workbench the most fruitful step
could be to provide a valid OSGi descriptor in the broker's jar.

>
> Andy
>
>
> On Tue, Jan 21, 2014 at 2:44 PM, Ian Craggs
> <icraggs@xxxxxxxxxxxxxxxxxxxxxxx> wrote:
>>
>> Andrea,
>>
>> thanks for the information.  It's not a problem how much time you have
>> available to work on it, I was asking more for information. Many great
>> projects have been completed in "spare" time!
>>
>> I assume that the 3rd party libraries are open source and are licensed in
>> a way that Eclipse will find acceptable.  But that would be reviewed by
>> Eclipse legal as part of the contribution process.
>>
>> Isn't a JAAS interface the obvious way to implement authentication and
>> authorization?

About the authentication side I was thinking to provide an SPI and let
other modules give the implementation, maybe using JAAS or JSecurity
that seems more manageable (I don't know the details because I've
always experienced web security with Spring Security).

>>
>> A key advantage of a Java broker over one implemented in C would be the
>> way it could integrate into the Eclipse workbench.  That is something I
>> would be keen to make sure works well.
>>
>> Ian
>>
>>
>> On 20/01/14 20:01, Andrea Selva wrote:
>>>
>>> Hi Ian,
>>>
>>> moquette is is MQTT 3.1 compliant, but ha some part to be developer
>>> better, for example it need a better implementation of QoS 1-2
>>> messages handling. Moquette lacks an authentication mechanism (by now
>>> there is just a dummy interface to be extended) but I expect to
>>> introduce a plug system based on java's ServiceLocator APIs. Moquette
>>> lacks also a mechanism to manage and monitor it (I'm thinking to
>>> create some JMX stuff) and completely miss a configuration system (no
>>> conf directory to fill with properties or xml files); so I expect to
>>> be quite behind of Mosquitto.
>>>
>>>   Also Moquette hasn't any documentation on google code, an area that
>>> should be improved a lot.
>>>
>>> On the architectural side, Moquette has a front Netty parsing library
>>> that push MQTT decoded messages in a LMAX's magic ring buffer, the
>>> protocol logic pulls out event from this queue and process them in
>>> single threaded fashion ( a single thread event processor), than use
>>> another ring buffer on the back to send out the MQTT messages (always
>>> using Netty).
>>>
>>> By now there is only me involved in the development, and usually I try
>>> to handle the development in the evening or during spare weekends, I
>>> know is not so much.
>>>
>>> Ask me any question, I'll try to give you answers.
>>>
>>> Best regards
>>>
>>>    Andrea Selva
>>>
>>> On Mon, Jan 20, 2014 at 12:42 PM, Ian Craggs
>>> <icraggs@xxxxxxxxxxxxxxxxxxxxxxx> wrote:
>>>>
>>>> Hi Andrea,
>>>>
>>>> thanks for your input, there certainly is a chance!
>>>>
>>>> Can you summarize what functions are implemented in moquette at the
>>>> moment,
>>>> and what you think is left to do (in comparison to Mosquitto for
>>>> instance)?
>>>> Is there some documentation to look at?
>>>>
>>>> It would be cool, although not essential, if each of the brokers were
>>>> configured in a similar way.  How is moquette configured?
>>>>
>>>> Are there any developers other than you?   How much time do you think
>>>> you
>>>> would be able to spend on maintaining and improving it, if it were in
>>>> Eclipse?
>>>>
>>>> Thanks.
>>>>
>>>> Ian Craggs
>>>>
>>>>
>>>> On 18/01/14 11:26, Andrea Selva wrote:
>>>>>
>>>>> Hi mosquitto list,
>>>>> I'm Andrea Selva the moquette broker's developer and lately (thanks to
>>>>> Kai Kreuzer) I've seen that there is a chance that the M2M is
>>>>> eventually interested in accepting the moquette broker as a starting
>>>>> implementation of a Paho Java broker. That, for me, sounds great!! I'm
>>>>> available to discuss this topic.
>>>>>
>>>>> Best regards
>>>>>
>>>>>     Andrea Selva
>>>>> _______________________________________________
>>>>> mosquitto-dev mailing list
>>>>> mosquitto-dev@xxxxxxxxxxx
>>>>> https://dev.eclipse.org/mailman/listinfo/mosquitto-dev
>>>>
>>>>
>>
>> _______________________________________________
>> mosquitto-dev mailing list
>> mosquitto-dev@xxxxxxxxxxx
>> https://dev.eclipse.org/mailman/listinfo/mosquitto-dev
>
>
>
>
> --
> Andy Piper | Kingston upon Thames, London (UK)
> blog: http://andypiper.co.uk   |   skype: andypiperuk
> twitter: @andypiper  |  images: http://www.flickr.com/photos/andypiper



Regards

  Andrea
_______________________________________________
mosquitto-dev mailing list
mosquitto-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/mosquitto-dev



--
Paul Fremantle
Part-time PhD student - School of Computing
twitter: pzfreo / skype: paulfremantle / blog: http://pzf.fremantle.org
CTO and Co-Founder, WSO2
OASIS WS-RX TC Co-chair, Apache Member
07740 199 729


_______________________________________________
mosquitto-dev mailing list
mosquitto-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/mosquitto-dev


Back to the top