Description ----------- This pack provides an SDK for building MQTT based Mobile Messaging and M2M applications. This can be downloaded at https://www.ibmdw.net/messaging/messagesight/ MQTT is an open light weight messaging protocol that is well suited for use in Mobile, device and Machine to Machine (M2M) applications. The SDK contains client libraries and samples for use in building these types of applications. Versions ---------- v1.0.0.0 - Java, C & JavaScript Clients ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ SDK Structure ------------- WebContent ¦ ¦ ¦ WebSocket ¦ ¦ ¦ ¦-------> WebMessagingUtility.html ¦ clients ¦ ¦-------> java ¦ ¦ ¦ ¦ ¦ ------> samples ¦ ¦ ¦ ¦ ¦ ¦-----> doc ¦ ¦ ¦ ¦-------> c ¦ ¦ ¦ ¦ ¦ ¦-----> doc ¦ ¦ ¦ ¦ ¦ ¦-----> include ¦ ¦ ¦ ¦ ¦ ¦-----> linux_ia64 ¦ ¦ ¦ ¦ ¦ ¦-----> samples ¦ ¦ ¦ ¦ ¦ ¦-----> windows_ia32 ¦ readme.txt ¦ REDIST.TXT +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Client Libraries ================ Java Client - org.eclipse.paho.client.mqttv3 ----------------------------------------------- Found in directory: ../SDK/clients/java A Java library implementing the client half of the MQTT protocol, versions 3.1.1 and 3.1. The Java client will run on any suitable Java runtime from Java 1.5 onwards. Separate interfaces are provided for synchronous and asynchronous styles of operation. The synchronous API supports a style where an operation only returns to the caller when the operation has completed. This is a traditional style which may be used to implement a simple client. However the blocking nature of this api limits its usage in environments where threads are not allowed to block, or when high performance or large numbers of clients are required. The asynchronous API supports a different style in which a call returns immediately. The application can then either be notified via a callback when the operation completes or can use a token returned to the application to block until the operation completes. This style of API is better suited to mobile, event oriented and high performing applications. Applications where it may take time to complete an operation or where a thread must not be blocked are good candidates for the asynchronous API. This client is a version of the open source MQTT client that is available from the Eclipse.org Paho project. If used with an entitled IBM product such as WebSphere MQ full support is provided. Java Samples ------------------------------------------- A set of Java Samples that show how to program using both synchronous and asynchronous programming styles are provided. Pre-built in jar: org.eclipse.paho.sample.mqtv3app.jar Source is available in directory: ../SDK/clients/java/samples C client ------------------------------------------ Found in directory: ../SDK/clients/c The C implementation of the MQTT protocol, versions 3.1.1 and 3.1, like the Java equivalent has separate interfaces provided for synchronous and asynchronous styles of operation. These clients are provided for a variety of platforms. This client is a version of the open source MQTT client that is available from the Eclipse.org Paho project. If used with an entitled IBM product such as WebSphere MQ full support is provided. The source code for an example app that utilises the library is provided as a demonstration of how to use the library functions. User interfaces resulting from the Sample code are not warranted to be compliant to any accessibility standards or accessibility requirements. Client for JavaScript ----------------------------------------- Found in directory: ../SDK/WebContent/WebSocket JavaScript implementation of the MQTT protocol, versions 3.1.1 and 3.1. Enables html web pages to connect to servers and flow MQTT messages over a WebSocket. The JavaScript implementation can be loaded by the browser from a suitably configured WebSphere MQ Queue Manager or from a WebServer. "User interfaces resulting from the Sample code are not warranted to be compliant to any accessibility standards or accessibility requirements.” Servers which support the Mobile Messaging & M2M clients ---------------------------------------- The C and Java clients work with any IBM MQTT server: - IBM MessageSight (including IBM MessageSight for Developers virtual appliance) - WebSphere MQ from version 7.0.1 - Really Small Message Broker - This is a small MQTT test server suitable for evaluation purposes. - MQ Telemetry Daemon for Devices Further reading =============== The following sites provide good sources of information: - The System Requirements for WebSphere MQ V8.0 are available at: http://www.ibm.com/support/docview.wss?uid=swg27041395 - Mobile Messaging and M2M section of the IBM Messaging Community https://www.ibm.com/developerworks/connect/IBMmessaging - IBM MessageSight https://www.ibmdw.net/messaging/messagesight/ - Eclipse Paho https://www.eclipse.org/paho/ - All things MQTT: http://mqtt.org +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Known Issues and Limitations ============================ JavaScript ---------- If SDK/WebContent/index.html is opened in a browser and not from a WMQ Qmgr, the links to Java, C and MQSever API documentation do not work. To access these use the link http://www.ibm.com/developerworks/connect/IBMmessaging +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ COPYRIGHT, NOTICES AND TRADEMARKS +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Copyright and trademark information --------------------------------------- http://www.ibm.com/legal/copytrade.shtml Notices ----------- INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some jurisdictions do not allow disclaimer of express or implied warranties in certain transactions, therefore, this statement may not apply to you. This information could include technical inaccuracies or typographical errors. Changes are periodically made to the information herein; these changes will be incorporated in new editions of the publication. IBM may make improvements and/or changes in the product(s) and/or the program(s) described in this publication at any time without notice. THIRD-PARTY LICENSE TERMS AND CONDITIONS, NOTICES AND INFORMATION The license agreement for this product refers you to this file for details concerning terms and conditions applicable to third party software code included in this product, and for certain notices and other information IBM must provide to you under its license to certain software code. The relevant terms and conditions, notices and other information are provided or referenced below. Please note that any non-English version of the licenses below is unofficial and is provided to you for your convenience only. The English version of the licenses below, provided as part of the English version of this file, is the official version. Notwithstanding the terms and conditions of any other agreement you may have with IBM or any of its related or affiliated entities (collectively "IBM"), the third party software code identified below are "Excluded Components" and are subject to the following terms and conditions: * the Excluded Components are provided on an "AS IS" basis * IBM DISCLAIMS ANY AND ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS WITH RESPECT TO THE EXCLUDED COMPONENTS, INCLUDING, BUT NOT LIMITED TO, THE WARRANTY OF NON-INFRINGEMENT OR INTERFERENCE AND THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * IBM will not be liable to you or indemnify you for any claims related to the Excluded Components * IBM will not be liable for any direct, indirect, incidental, special, exemplary, punitive or consequential damages with respect to the Excluded Components. Trademarks -------------- The following terms are trademarks of International Business Machines Corporation in the United States, other countries, or both: IBM FFST MQSeries SupportPac WebSphere IOS is a trademark or registered trademark of Cisco in the U.S. and other countries and is used under license by Apple Microsoft and Windows are trademarks of Microsoft Corporation in the United States, other countries, or both. Java and all Java-based trademarks are trademarks of Oracle in the United States, other countries, or both. UNIX is a registered trademark of The Open Group in the United States and other countries Linux is a registered trademark of Linus Torvalds in the United States, other countries, or both. Other company, product, or service names may be trademarks or service marks of others. Copyright and trademark information ----------------------------------- IBM, the IBM logo and ibm.com are trademarks of International Business Machines Corp., registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at www.ibm.com/legal/copytrade.shtml.