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

Hi Ian and list,
so seems that we all agree on the spirit and motivations. It's the
right time to move Moquette MQTT under the Eclipse Foundation? There
is an application path to make external projects be incubated into the
foundation?
I am very honored to be able to provide a valuable open source project
to an open community.

 Andrea

On Mon, Jan 27, 2014 at 12:51 AM, Ian Craggs
<icraggs@xxxxxxxxxxxxxxxxxxxxxxx> wrote:
> Andrea,
>
> small and simple is exactly what I hoped.  If simplicity implies smallness
> and vice versa as I believe, we could simplify your motivations as well, to
> one of those.
>
> Either way, that fits the spirit of MQTT perfectly :-)
>
> Ian
>
>
> On 23/01/14 14:45, Andrea Selva wrote:
>>
>> Hi,
>> Moquette has 2 development motivations, keep ti simple and small. The
>> simplicity is to avoid hard to understand thread synchronizations, and
>> been an event protocol I thought that an event based architecture
>> could grasp this (and the spirit itself of MQTT). The other is to keep
>> it small to be manageable and understandable by everybody. The concept
>> of SPI is just to let the users to decide which authentication
>> mechanism to use, without binding one with Moquette, so I expect top
>> provide simple hooks to be usable by plug-modules.
>> This is the spirit of Moquette project.
>>
>>   Andrea
>>
>> On Thu, Jan 23, 2014 at 3:04 PM, Ian Craggs
>> <icraggs@xxxxxxxxxxxxxxxxxxxxxxx> wrote:
>>>
>>> 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
>>> email: paul.fremantle@xxxxxxxxxx, paul@xxxxxxxxxxxxx
>>> 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
>>>
>>>
>>>
>>> _______________________________________________
>>> 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
>
>


Back to the top