|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.jarOne 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/andypiperRegards 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