Giter Club home page Giter Club logo

streamsx.iot's Introduction

This toolkit is deprecated. Please use streamsx.mqtt directly.

com.ibm.streamsx.iot

Overview

A toolkit that provides Internet of Things (IoT) functionality for IBM Streams, including:

  • IoT device model
  • Separation of device connectivty and analytics.
  • Application integration with IBM Watson IoT Platform
  • Application integration with Apache Edgent

IoT device model.

A generic IoT device model where:

  • Devices have a type (e.g. Raspberry_Pi_B) and a identifier, with the pair being unique.
  • Devices send events comprising of a event identifier and an event specific payload.
  • Devices receive commands comprising of a command identifier and a command specific payload.

Devices typically communicate through an internet of things scale message hub to send device events and receive device commands.

IBM Streams applications subscribe to device events and device commands to perform analytics against the state of device and other revelant data (such as weather, systems of record etc.). The result of these analytics may result in device commands being sent to the device to alter its behaviour etc.

The device model matches the ones used by Apache Edgent and IBM Watson IoT Platform for devices connected to Streams through a message hub.

Microservice architecture

This toolkits uses the streaming publish-subscribe model within IBM Streams applications to separate connectivity to the message hub from analytical applications. An independent applications connects to the message hub and publishes streamsfor device events, device commands and device statues (if supported by the message hub). Analytics applications then subscribe to device events and or commands of interest.

In addition the message hub connectivity application subscribes to streams published by applications wanting to send device commands.

Integration with IBM Watson IoT Platform

Provide the ability to have an IBM Streams application easily interact with IBM Watson IoT Platform, either on IBM Cloud (Streaming Analytics Service) or on-premises (IBM Streams).

IBM Watson IoT Platform

The IBM Watson IoT Platform service lets your IBM Streams applications communicate with and consume data collected by your connected devices, sensors, and gateways.

IBM Watson IoT Platform provides a model around devices where devices produce events (for example, sensor data) and subscribe to commands (for example, control instructions, such as reduce maximum rpm for an engine).

Streams applications can use this toolkit to provide real time analytics against all the events from potentially thousands of devices, including sending commands to specific devices based upon the analytics.

Apache Edgent

Edgent is a programming model and runtime that can be embedded in gateways and devices. An open source solution for implementing and deploying edge analytics on varied data streams and devices.

Edgent interacts with IBM Streams through IBM Watson IoT Plaform. Edgent locally separates the interesting from the mundane, so you don’t have to send every sensor reading over a network. If 99% of readings are normal, Edgent detects the 1% anomalies and just sends those as device events for further analysis with IBM Streams.

IBM Streams applications analyze device events from Edgent applications and then can control individual devices by sending device commands based upon the analytics.

NLS feature

This toolkit implements the NLS feature. Use the guidelines for the message bundle that are described in The messages and the NLS for toolkits

streamsx.iot's People

Contributors

chanskw avatar ddebrunner avatar dlaboss avatar natashadsilva avatar rnostream avatar schulz2 avatar zollnapa avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

streamsx.iot's Issues

Sample application

Need a sample application that can connect to Watson IoT with all components.

EventSubscribe() is not enough.

What about on premise ?
any tutorial ?

check/update behavior wrt "d"-less JSON device cmds and events

Check/update streamsx.iot wrt:

  • receiving JSON device events that lack wrapping of the actual event data in a "d" element
  • generating device commands that omit wrapping of the actual cmd data in a "d" element (and omit a "ts" element)

The WIoTP iot-java client API's behavior changed from 0.1.5 to 0.2.1. Apparently it was behind the times and was doing this "d"-wrapping in cmds while other client/device APIs were not: iot-java-Issue50.

Now iot-java >= 0.2.1 by default does not generate cmds with "d"-wrapping or "ts" inclusion. Ditto for iot-java generated device event msgs. See migration-from-release-015-to-021. Also see iot-java release info.

NOTE: Apache Edgent 1.0.0 uses iot-java 0.1.5. Furthermore, Edgent 1.0.0's WIoTP connector treats a cmd lacking a "d"-wrapper as having no cmd data. Ugh. (clearly that Edgent version hasn't been used with an application generating "d"-less cmds). The connector is being upgraded to iot-java 0.2.2 and also its handling of "d"-less cmds is being corrected (while still properly handling "d"-wrapped cmds). I expect that update to be in the upcoming Edgent 1.1.0 release. See edgent-pull-283.

streamsx.iot doesn't use the iot-java API but it must be able to interoperate with devices that do. Perhaps streamsx.iot should mirror current iot-java version default behavior and offer a similar capability to have it behave the "old way" if a usage needs it to. Or perhaps streamsx.iot should continue to generate "d"-wrapped cmds by default and/or until someone complains about that.

I haven't looked closely enough at streamsx.iot to know if it will be negatively affected by receiving "d"-less device events.

Document that Java Topology API samples require toolkits in STREAMS_SPLPATH

Running the Java Topology API samples here: https://github.com/IBMStreams/streamsx.iot/blob/master/com.ibm.streamsx.iot/impl/java/src/com/ibm/streamsx/iot/sample/ requires that the com.ibm.streamsx.iot, com.ibm.streamsx.json, and com.ibm.streamsx.datatime toolkits are in the STREAMS_SPLPATH, otherwise they must be specified in the code similar to this:

        SPL.addToolkit(topology, new File("/home/streamsadmin/git/streamsx.iot/com.ibm.streamsx.iot"));
        SPL.addToolkit(topology, new File("/home/streamsadmin/Downloads/IoTF/com.ibm.streamsx.json"));
        SPL.addToolkit(topology, new File("/home/streamsadmin/Downloads/IoTF/com.ibm.streamsx.datetime"));

Please include the IotPlatform and IotPlatformBluemix applications in the latest release

Hi, I just noticed that there are no binaries for the latest release of the IoT toolkit. This means that the IotPlatform.sab application and the related helper applications have not been updated with the latest fixes, e.g. support for JSON commands. Since these applications are crucial for users of the toolkit, could they please be added to the latest release?
Thanks.

Review timestamp handling in topology part of the TK

It seems that the timestamp handling in topology part is not consistent related to the supported date-time strings.

In IoTUtils.java the functions newDeviceEvent() and newDeviceCmd() use different conversions each one having its own restrictions.
We need to check this and probably need to use a common function for both which has less restrictions regarding the date-time string to be parsed (from java.time). These functions are available with Java 1.8 but we have already dependency to java 1.8, so this should be no problem.

Support JSON commands

I have submitted pull request #59 as a suggestion. I am using the Python API and since the IoTPlatform application only supports SPL commands, I can't directly publish commands from Python.
I have to publish my commands as JSON from Python and write a separate SPL application that subscribes to the JSON stream, and then publishes it as SPL
If this proposal is accepted then I don't have to have an intermediary.
The latest, as yet unreleased code in the Python API allows you to convert Python to SPL but I think this solution is better and prevents Python users from having to understand SPL Schemas.

IotPlatform in standalone mode?

Can the IotPlatform subscribe be used in standalone mode? It gives me a warning that the tuples cannot be imported/exported and fails with an error message after that.

Extend timeout for e2etests

In some test setups the e2etest (which include integration with IBM Cloud IOTF) fail because of a some reasons (possible load dependent). The timeout of the topology tester of 30s is to low in these scenarios.

Need to extend the timeout to 60s to cover also these somehow slow test setups.

Adjust product and toolkit dependencies

The toolkit depends on following other toolkits:

    <info:toolkit>
      <common:name>com.ibm.streamsx.mqtt</common:name>
      <common:version>[1.0.0,2.0.0)</common:version>
    </info:toolkit>

    <info:toolkit>
      <common:name>com.ibm.streamsx.json</common:name>
      <common:version>[1.1.1,3.0.0)</common:version>
    </info:toolkit>

    <info:toolkit>
      <common:name>com.ibm.streamsx.datetime</common:name>
      <common:version>[1.1.1,2.0.0)</common:version>
    </info:toolkit>

    <info:toolkit>
      <common:name>com.ibm.streamsx.topology</common:name>
      <common:version>[1.3.0,2.0.0)</common:version>
    </info:toolkit>

The upper bounds prevent the dependent toolkits from being upgraded to the next major version. In practice, virtually all toolkit dependencies are minimum dependencies. All upper version bounds should be set to a high version suggesting that the upper bound does not matter, for example to 99.0.0.

Dependencies on product version:

  • com.ibm.streamsx.topology: 4.2
  • com.ibm.streamsx.datetime: 3.2.0
  • com.ibm.streamsx.json: 4.3.0
  • com.ibm.streamsx.mqtt: 4.2.0.0
  • this toolkit: 4.2.0.0

As the JSON toolkit requires at minimum 4.3.0, this toolkit should be adjusted also to 4.3.0 to avoid version conflicts.

Toolkit now depends on 4.2.

The MQTT toolkit is dependent on 4.2 so this toolkit is now dependent on 4.2.

At least a couple of cleanup items:

  • Fix product version in info.xml (s)
  • Can depend on application configurations so only a single IoTPlatform application is needed.

Globalizing the toolkit

Provide log messages for different locales via unique message ids: German (de_DE), French (fr_FR), Italian (it_IT), Spanish (es_ES). Brazilian Portuguese (pt_BR), Japanese (ja_JP), Simplified Chinese (zh_CN), Russian (ru_RU), Traditional Chinese (zh_TW), Korean (ko_KR).

Change from streamsx.messaging to streamsx.mqtt toolkit

There is now a new toolkit available providing the mqtt functionality: streamsx.mqtt

It provides in version 1.0.0 exactly same functionality as the mqtt functionality available with streamsx.messaging.mqtt. The mqtt functionality within streamsx.messaging is now deprecated.
Changes to mqtt functionality will be done from now on only in the new streamsx.mqtt toolkit.

So streamsx.iot has to make use of the new streamsx.mqtt toolkit.

To adapt to streamsx.mqtt within streamsx.iot just the name space of the mqtt functionality needs to be changed. No further code change is necessary because of same functionality and interfaces.

Nevertheless this requires to make a new release of streamsx.iot which will have now have a dependency to the streamsx.mqtt.

Any application which use streamsx.iot doesn't need to be changed but the streamsx.mqtt toolkit has to be available in the toolkit path.
So the new streamsx.mqtt toolkit needs to be downloaded and installed in the location where streamsx.messaging was installed.

[possible?] Typo in documentation regarding topics for events/commands

On this page:
http://ibmstreams.github.io/streamsx.iot/doc/spldoc/html/tk$com.ibm.streamsx.iot/spl$com.ibm.streamsx.iot$pubsub.html
The doc says the topics are streamsx/iot/device/*
CommandsSubscribe: Subscribe to device commands published under the streams topic streamsx/iotdevice/commands/sent. (missing a '/' between iot and device)
EventsSubscribe: Subscribe to device events published under the streams topic streamsx/iot/device/events.
StatusesSubscribe: Subscribe to device status updates published under the streams topic streamsx/iot/device/statuses.

Yet here, it says the topic is streamsx/iot/devices/
http://ibmstreams.github.io/streamsx.iot/doc/spldoc/html/tk$com.ibm.streamsx.iot/spl$com.ibm.streamsx.iot.watson.apps$IotPlatform.html
Device events with streams topic: streamsx/iot/devices/events with schema of DeviceEvent
Device commands with streams topic: streamsx/iot/devices/commands/sent with schema of DeviceCmd
Device status updates with streams topic: streamsx/iot/devices/statuses with schema of DeviceStatus

Using streamsx/iot/devices did not work for me.

Include pre-built `IoTPlatformBluemix` and other apps for latest release

We have content on developerWorks, Watson Studio and Streamsdev that tell users to visit the release page and download the
IotpSensors app, and the IoTPlatformBluemix app. These are not present in latest release.

Please add the missing apps to match what was released in v1.0.2.
Is it possible to add these to the release creation Ant scripts?

Expose additional MQTT settings as optional parameters

Allow the user of the composite operators in the toolkit toolkit to set the underlying MQTTSource/Sink values for the retry policy, keepalive, timeout, and client ID.

We had a problem reported by a Bluemix Streaming Analytics customer about data flow stopping which looks like its due the MQTTSource default of the retry parameter to 5.

Also, it looks like there's the possibility of name collisions on the generated client IDs in the toolkit, if the user has two Streams instances and the same Streams app is submitted to both (and runs under the same job number).

Sample applications need Makefiles

The CountEvents and Edgent samples don't have Makefiles or Streams studio build configs which would really help in getting up and running.

cannot connect to iot(watson iot platform) properly

When running the com.ibm.streamsx.iot.watson.apps.IotPlatform.sab app in version 1.2.0 of the com.ibm.streamsx.iot release to connect to watson iot platform, the connection fails, and gives this MQTT Client Error while handling MQTT client request: Connection lost error (scroll down for log). I'm running the app in the streaming analytics service in cloud.

The same setup worked when I used the python simple app.

27 May 2019 17:03:35.263+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[MqttSourceOperator.java:com.ibm.streamsx.mqtt.MqttSourceOperator.handleClientRequests:471]  - CDIST3214E [Request Queue:] MQTT Client Error while handling MQTT client request: Connection lost
27 May 2019 17:03:35.265+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  - Connection lost (32109) - java.io.EOFException
27 May 2019 17:03:35.342+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:146)
27 May 2019 17:03:35.342+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at java.lang.Thread.run(Thread.java:812)
27 May 2019 17:03:35.342+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  - Caused by: java.io.EOFException
27 May 2019 17:03:35.342+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at java.io.DataInputStream.readByte(DataInputStream.java:278)
27 May 2019 17:03:35.342+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at org.eclipse.paho.client.mqttv3.internal.wire.MqttInputStream.readMqttWireMessage(MqttInputStream.java:65)
27 May 2019 17:03:35.343+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:107)
27 May 2019 17:03:35.343+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    ... 1 more
27 May 2019 17:03:35.566+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[MqttSourceOperator.java:com.ibm.streamsx.mqtt.MqttSourceOperator.handleClientRequests:471]  - CDIST3214E [Request Queue:] MQTT Client Error while handling MQTT client request: Connection lost
27 May 2019 17:03:35.567+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  - Connection lost (32109) - java.io.EOFException
27 May 2019 17:03:35.568+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:146)
27 May 2019 17:03:35.568+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at java.lang.Thread.run(Thread.java:812)
27 May 2019 17:03:35.568+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  - Caused by: java.io.EOFException
27 May 2019 17:03:35.568+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at java.io.DataInputStream.readByte(DataInputStream.java:278)
27 May 2019 17:03:35.568+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at org.eclipse.paho.client.mqttv3.internal.wire.MqttInputStream.readMqttWireMessage(MqttInputStream.java:65)
27 May 2019 17:03:35.569+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:107)
27 May 2019 17:03:35.569+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    ... 1 more
27 May 2019 17:03:35.865+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[MqttSourceOperator.java:com.ibm.streamsx.mqtt.MqttSourceOperator.handleClientRequests:471]  - CDIST3214E [Request Queue:] MQTT Client Error while handling MQTT client request: Connection lost
27 May 2019 17:03:35.866+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  - Connection lost (32109) - java.io.EOFException
27 May 2019 17:03:35.866+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:146)
27 May 2019 17:03:35.866+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at java.lang.Thread.run(Thread.java:812)
27 May 2019 17:03:35.866+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  - Caused by: java.io.EOFException
27 May 2019 17:03:35.867+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at java.io.DataInputStream.readByte(DataInputStream.java:278)
27 May 2019 17:03:35.867+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at org.eclipse.paho.client.mqttv3.internal.wire.MqttInputStream.readMqttWireMessage(MqttInputStream.java:65)
27 May 2019 17:03:35.867+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:107)
27 May 2019 17:03:35.867+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    ... 1 more
27 May 2019 17:03:36.066+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[MqttSourceOperator.java:com.ibm.streamsx.mqtt.MqttSourceOperator.handleClientRequests:471]  - CDIST3214E [Request Queue:] MQTT Client Error while handling MQTT client request: Connection lost
27 May 2019 17:03:36.066+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  - Connection lost (32109) - java.io.EOFException
27 May 2019 17:03:36.067+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:146)
27 May 2019 17:03:36.067+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at java.lang.Thread.run(Thread.java:812)
27 May 2019 17:03:36.067+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  - Caused by: java.io.EOFException
27 May 2019 17:03:36.067+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at java.io.DataInputStream.readByte(DataInputStream.java:278)
27 May 2019 17:03:36.067+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at org.eclipse.paho.client.mqttv3.internal.wire.MqttInputStream.readMqttWireMessage(MqttInputStream.java:65)
27 May 2019 17:03:36.068+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:107)
27 May 2019 17:03:36.068+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    ... 1 more
27 May 2019 17:03:36.267+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[MqttSourceOperator.java:com.ibm.streamsx.mqtt.MqttSourceOperator.handleClientRequests:471]  - CDIST3214E [Request Queue:] MQTT Client Error while handling MQTT client request: Connection lost
27 May 2019 17:03:36.267+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  - Connection lost (32109) - java.io.EOFException
27 May 2019 17:03:36.268+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:146)
27 May 2019 17:03:36.268+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at java.lang.Thread.run(Thread.java:812)
27 May 2019 17:03:36.268+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  - Caused by: java.io.EOFException
27 May 2019 17:03:36.268+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at java.io.DataInputStream.readByte(DataInputStream.java:278)
27 May 2019 17:03:36.269+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at org.eclipse.paho.client.mqttv3.internal.wire.MqttInputStream.readMqttWireMessage(MqttInputStream.java:65)
27 May 2019 17:03:36.269+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:107)
27 May 2019 17:03:36.341+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    ... 1 more
27 May 2019 17:03:36.467+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[MqttSourceOperator.java:com.ibm.streamsx.mqtt.MqttSourceOperator.handleClientRequests:471]  - CDIST3214E [Request Queue:] MQTT Client Error while handling MQTT client request: Connection lost
27 May 2019 17:03:36.467+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  - Connection lost (32109) - java.io.EOFException
27 May 2019 17:03:36.468+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:146)
27 May 2019 17:03:36.468+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at java.lang.Thread.run(Thread.java:812)
27 May 2019 17:03:36.468+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  - Caused by: java.io.EOFException
27 May 2019 17:03:36.469+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at java.io.DataInputStream.readByte(DataInputStream.java:278)
27 May 2019 17:03:36.469+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at org.eclipse.paho.client.mqttv3.internal.wire.MqttInputStream.readMqttWireMessage(MqttInputStream.java:65)
27 May 2019 17:03:36.469+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:107)
27 May 2019 17:03:36.470+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    ... 1 more
27 May 2019 17:03:36.642+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[MqttSourceOperator.java:com.ibm.streamsx.mqtt.MqttSourceOperator.handleClientRequests:471]  - CDIST3214E [Request Queue:] MQTT Client Error while handling MQTT client request: Connection lost
27 May 2019 17:03:36.643+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  - Connection lost (32109) - java.io.EOFException
27 May 2019 17:03:36.643+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:146)
27 May 2019 17:03:36.643+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at java.lang.Thread.run(Thread.java:812)
27 May 2019 17:03:36.643+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  - Caused by: java.io.EOFException
27 May 2019 17:03:36.644+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at java.io.DataInputStream.readByte(DataInputStream.java:278)
27 May 2019 17:03:36.644+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at org.eclipse.paho.client.mqttv3.internal.wire.MqttInputStream.readMqttWireMessage(MqttInputStream.java:65)
27 May 2019 17:03:36.644+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:107)
27 May 2019 17:03:36.644+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    ... 1 more
27 May 2019 17:03:36.763+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[MqttSourceOperator.java:com.ibm.streamsx.mqtt.MqttSourceOperator.handleClientRequests:471]  - CDIST3214E [Request Queue:] MQTT Client Error while handling MQTT client request: Connection lost
27 May 2019 17:03:36.764+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  - Connection lost (32109) - java.io.EOFException
27 May 2019 17:03:36.764+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:146)
27 May 2019 17:03:36.765+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at java.lang.Thread.run(Thread.java:812)
27 May 2019 17:03:36.765+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  - Caused by: java.io.EOFException
27 May 2019 17:03:36.765+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at java.io.DataInputStream.readByte(DataInputStream.java:278)
27 May 2019 17:03:36.765+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at org.eclipse.paho.client.mqttv3.internal.wire.MqttInputStream.readMqttWireMessage(MqttInputStream.java:65)
27 May 2019 17:03:36.766+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:107)
27 May 2019 17:03:36.766+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    ... 1 more
27 May 2019 17:03:36.962+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[MqttSourceOperator.java:com.ibm.streamsx.mqtt.MqttSourceOperator.handleClientRequests:471]  - CDIST3214E [Request Queue:] MQTT Client Error while handling MQTT client request: Connection lost
27 May 2019 17:03:36.962+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  - Connection lost (32109) - java.io.EOFException
27 May 2019 17:03:36.962+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:146)
27 May 2019 17:03:36.963+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at java.lang.Thread.run(Thread.java:812)
27 May 2019 17:03:36.963+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  - Caused by: java.io.EOFException
27 May 2019 17:03:36.963+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at java.io.DataInputStream.readByte(DataInputStream.java:278)
27 May 2019 17:03:36.963+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at org.eclipse.paho.client.mqttv3.internal.wire.MqttInputStream.readMqttWireMessage(MqttInputStream.java:65)
27 May 2019 17:03:36.964+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:107)
27 May 2019 17:03:36.964+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    ... 1 more
27 May 2019 17:03:37.261+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[MqttSourceOperator.java:com.ibm.streamsx.mqtt.MqttSourceOperator.handleClientRequests:471]  - CDIST3214E [Request Queue:] MQTT Client Error while handling MQTT client request: Connection lost
27 May 2019 17:03:37.262+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  - Connection lost (32109) - java.io.EOFException
27 May 2019 17:03:37.262+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:146)
27 May 2019 17:03:37.262+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at java.lang.Thread.run(Thread.java:812)
27 May 2019 17:03:37.263+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  - Caused by: java.io.EOFException
27 May 2019 17:03:37.263+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at java.io.DataInputStream.readByte(DataInputStream.java:278)
27 May 2019 17:03:37.263+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at org.eclipse.paho.client.mqttv3.internal.wire.MqttInputStream.readMqttWireMessage(MqttInputStream.java:65)
27 May 2019 17:03:37.263+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:107)
27 May 2019 17:03:37.263+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    ... 1 more
27 May 2019 17:03:37.446+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[MqttClientWrapper.java:com.ibm.streamsx.mqtt.MqttClientWrapper.doConnectToServer:264]  - CDIST3204E [Connect:] Unable to connect to server.
27 May 2019 17:03:37.447+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  - Connection lost (32109) - java.io.EOFException
27 May 2019 17:03:37.447+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:146)
27 May 2019 17:03:37.447+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at java.lang.Thread.run(Thread.java:812)
27 May 2019 17:03:37.448+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  - Caused by: java.io.EOFException
27 May 2019 17:03:37.448+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at java.io.DataInputStream.readByte(DataInputStream.java:278)
27 May 2019 17:03:37.448+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at org.eclipse.paho.client.mqttv3.internal.wire.MqttInputStream.readMqttWireMessage(MqttInputStream.java:65)
27 May 2019 17:03:37.448+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:107)
27 May 2019 17:03:37.448+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    ... 1 more
27 May 2019 17:04:37.858+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[MqttSourceOperator.java:com.ibm.streamsx.mqtt.MqttSourceOperator.handleClientRequests:471]  - CDIST3214E [Request Queue:] MQTT Client Error while handling MQTT client request: Connection lost
27 May 2019 17:04:37.859+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  - Connection lost (32109) - java.io.EOFException
27 May 2019 17:04:37.859+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:146)
27 May 2019 17:04:37.860+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at java.lang.Thread.run(Thread.java:812)
27 May 2019 17:04:37.860+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  - Caused by: java.io.EOFException
27 May 2019 17:04:37.860+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at java.io.DataInputStream.readByte(DataInputStream.java:278)
27 May 2019 17:04:37.860+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at org.eclipse.paho.client.mqttv3.internal.wire.MqttInputStream.readMqttWireMessage(MqttInputStream.java:65)
27 May 2019 17:04:37.860+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:107)
27 May 2019 17:04:37.861+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    ... 1 more
27 May 2019 17:04:37.962+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[MqttSourceOperator.java:com.ibm.streamsx.mqtt.MqttSourceOperator.handleClientRequests:471]  - CDIST3214E [Request Queue:] MQTT Client Error while handling MQTT client request: Connection lost
27 May 2019 17:04:37.963+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  - Connection lost (32109) - java.io.EOFException
27 May 2019 17:04:37.963+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:146)
27 May 2019 17:04:37.963+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at java.lang.Thread.run(Thread.java:812)
27 May 2019 17:04:37.964+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  - Caused by: java.io.EOFException
27 May 2019 17:04:37.964+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at java.io.DataInputStream.readByte(DataInputStream.java:278)
27 May 2019 17:04:37.964+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at org.eclipse.paho.client.mqttv3.internal.wire.MqttInputStream.readMqttWireMessage(MqttInputStream.java:65)
27 May 2019 17:04:37.964+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:107)
27 May 2019 17:04:37.964+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    ... 1 more
27 May 2019 17:04:38.124+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[MqttSourceOperator.java:com.ibm.streamsx.mqtt.MqttSourceOperator.handleClientRequests:471]  - CDIST3214E [Request Queue:] MQTT Client Error while handling MQTT client request: Connection lost
27 May 2019 17:04:38.125+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  - Connection lost (32109) - java.io.EOFException
27 May 2019 17:04:38.125+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:146)
27 May 2019 17:04:38.125+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at java.lang.Thread.run(Thread.java:812)
27 May 2019 17:04:38.125+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  - Caused by: java.io.EOFException
27 May 2019 17:04:38.125+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at java.io.DataInputStream.readByte(DataInputStream.java:278)
27 May 2019 17:04:38.126+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at org.eclipse.paho.client.mqttv3.internal.wire.MqttInputStream.readMqttWireMessage(MqttInputStream.java:65)
27 May 2019 17:04:38.126+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:107)
27 May 2019 17:04:38.126+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    ... 1 more
27 May 2019 17:04:38.208+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[MqttSourceOperator.java:com.ibm.streamsx.mqtt.MqttSourceOperator.handleClientRequests:471]  - CDIST3214E [Request Queue:] MQTT Client Error while handling MQTT client request: Connection lost
27 May 2019 17:04:38.209+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  - Connection lost (32109) - java.io.EOFException
27 May 2019 17:04:38.209+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:146)
27 May 2019 17:04:38.209+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at java.lang.Thread.run(Thread.java:812)
27 May 2019 17:04:38.210+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  - Caused by: java.io.EOFException
27 May 2019 17:04:38.210+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at java.io.DataInputStream.readByte(DataInputStream.java:278)
27 May 2019 17:04:38.210+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at org.eclipse.paho.client.mqttv3.internal.wire.MqttInputStream.readMqttWireMessage(MqttInputStream.java:65)
27 May 2019 17:04:38.210+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:107)
27 May 2019 17:04:38.210+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    ... 1 more
27 May 2019 17:04:38.347+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[MqttClientWrapper.java:com.ibm.streamsx.mqtt.MqttClientWrapper.doConnectToServer:264]  - CDIST3204E [Connect:] Unable to connect to server.
27 May 2019 17:04:38.347+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  - Connection lost (32109) - java.io.EOFException
27 May 2019 17:04:38.347+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:146)
27 May 2019 17:04:38.348+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at java.lang.Thread.run(Thread.java:812)
27 May 2019 17:04:38.348+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  - Caused by: java.io.EOFException
27 May 2019 17:04:38.348+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at java.io.DataInputStream.readByte(DataInputStream.java:278)
27 May 2019 17:04:38.348+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at org.eclipse.paho.client.mqttv3.internal.wire.MqttInputStream.readMqttWireMessage(MqttInputStream.java:65)
27 May 2019 17:04:38.349+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:107)
27 May 2019 17:04:38.349+0000 [421] ERROR #splapptrc,J[2],P[2],Commands[0].Commands.RawCommands.Messages M[?:?:0]  -    ... 1 more

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.