Paho/Project Plan

From Eclipsepedia

Jump to: navigation, search

Contents

Current Plan

The plans are now being held in the project metadata - see "releases" at https://projects.eclipse.org/projects/technology.paho/documentation. I'm leaving this page for reference, for the time being (Ian Craggs).

Old Open Task list

  • list of open Paho bugs
  • Binary releases of C and Java clients for download
  • LuaRock release of Lua client for download
  • Tutorials for C and Java clients
  • How to build and use C client on iOS
  • Test suite
  • Protocol compliance suite for reference implementations
  • Raise MQTT Lua client to the same functional level as the C and Java client
  • Update MQTT specification with mqtt.org / mailing list clarifications
  • Some idea of potential code additions are on the page discussing the Repository structure.
  • Sample/examples in the Eclipse M2M Sandbox for the JavaScript and Web Sockets support (when delivered).

Old Milestones

The Paho project will target the Eclipse Kepler release (June 26th, 2013) with a 0.9 release under Incubator status, and two intermediate releases in 4Q12 and 1Q13.

0.1 Build (4Q12) "M0"

This will be a “snapshot” build of the

  • Lua, C, and Java MQTT clients,
  • Eclipse client view,
  • Any additional example code.

The 0.1 release will be as an “update site” with the primary goal to learn and exercise the Eclipse Build/Release process and tools including Tycho

0.x Release (1Q13) "M1"

  • Release Theme
    • Provide implementations of ubiquitous, platform-independent API "nuggets", with basic connect, publish, subscribe, disconnect capability to allow a device or gateway to wake or boot up and connect to an M2M, IoT or industry server, establishing a long, short or other connection as needed.
    • REST APIs and implementations that support core publish-subscribe functions that applications will need once connection is established.
    • APIs will clear differentiate configuring the implementations for both MQTT "device clients", and MQTT "application clients".
    • Extending support for mobile platforms and web-based interfaces.
    • .......
  • Line items (common to all clients)
    • Consistent samples/examples for all language clients
    • Consistent documentation
  • C client line items
  • Eclipse client view line items
  • Java client line items
    • Make jar of paho client available for download (2012)
    • Set Java client to build automatically and make jar and doc available.
    • jar available via Mavern
    • Add a non blocking API making it simpler to create applications for mobile platforms such as Android
    • Rework logging trace to use best practise tools (like java.util.logging)
    • Support for Java Micro Edition
  • MQTT JavaScript client
    • Add a MQTT JavaScript client to Paho
    • Use WebSockets to enable 1st class MQTT support from web applications running in web browsers
  • Lua client line items
    • Implement QoS, clean session bit, username/password, make sure message header fully implemented (send and receive), support message identifier, SUBACK messages should check QoS level, deal with outstanding SUBACK messages, review "last activity in / out" timers, check for PINGRESP, better "wait for CONACK" handling, handle failed subscriptions, better error / retry handling, review Lua best practices for socket I/O and error handling
  • MQTT Protocol conformance tests
    • Reference implementation test bed (wire capture?)
    • Tracing tools/integration
  • Mobile platform support
  • Sample and Example Code (integrated in IDE where possible)
    • MqGnatt
    • REST APIs with end to end examples
    • Basic MQTT exerciser (Eurotech)
    • Wizards?
    • New examples tbs
    • websockets

0.9 Release (2Q13)