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

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