Difference between revisions of "Paho/Project Plan"

From Eclipsepedia

Jump to: navigation, search
m (0.x Release (1Q13): fix typo)
(proposing overall release "theme")
(11 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
= Open Task list =
 
= Open Task list =
  
 +
* [https://bugs.eclipse.org/bugs/buglist.cgi?bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&classification=Technology&component=MQTT&component=Samples&component=Sandbox&list_id=3090526&product=Paho&query_format=advanced&order=bug_status%2Cpriority%2Cbug_severity list of open Paho bugs]
 
* Binary releases of C and Java clients for download
 
* Binary releases of C and Java clients for download
 
* LuaRock release of Lua client for download
 
* LuaRock release of Lua client for download
Line 10: Line 11:
 
* Update MQTT specification with mqtt.org / mailing list clarifications
 
* Update MQTT specification with mqtt.org / mailing list clarifications
 
* Some idea of [[Paho/Repository#Future_needs|potential code additions]] are on the page discussing the Repository structure.
 
* Some idea of [[Paho/Repository#Future_needs|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).
  
 
= Milestones =
 
= Milestones =
Line 15: Line 17:
 
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.
 
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)==
+
== 0.1 Build (4Q12) "M0" ==
This will be an “snapshot” build of the  
+
This will be a “snapshot” build of the  
 
*Lua, C, and Java MQTT clients,  
 
*Lua, C, and Java MQTT clients,  
 
*Eclipse client view,  
 
*Eclipse client view,  
 
*Any additional example code.  
 
*Any additional example code.  
  
The 0.1 release will be as an “update site” with the primary goal learn and exercise the Eclipse Build/Release process and tools including Tycho
+
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.
 +
** .......
  
== 0.x Release (1Q13)==
 
 
*Line items (common to all clients)
 
*Line items (common to all clients)
 
**Consistent samples/examples for all language clients
 
**Consistent samples/examples for all language clients
Line 33: Line 42:
 
**…
 
**…
 
* Java client 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
 
*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
 
** 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
Line 51: Line 68:
 
*M2M Package
 
*M2M Package
 
**align with Koneki and Mihini
 
**align with Koneki and Mihini
 +
**[http://wiki.eclipse.org/Machine-to-Machine/M2MIWG/M2M_EPP_Package more information on the M2M EPP wiki]

Revision as of 12:56, 9 November 2012

Contents

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).

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)