Dale LaBossiere created EDGENT-376:
--------------------------------------
Summary: Support an edge device using both the Edgent API and
WIoTP "Managed Device" APIs
Key: EDGENT-376
URL: https://issues.apache.org/jira/browse/EDGENT-376
Project: Edgent
Issue Type: Improvement
Components: Connectors
Reporter: Dale LaBossiere
Use case: I need to be able to write an edge device application that uses both
the Edgent APIs/programming model for analytics and the IBM Watson IoT Platform
"Managed Device" APIs for other capabilities (e.g., to support the WIoTP
"reboot the device" protocol).
I don't need the Edgent IoT connector to support WIoTP defined "Managed Device"
capabilities -- e.g., I don't need my Edgent application to be able to create a
TStream of subscribed "WIoTP device management" commands using
{{IotDevice.commands(...)}}.
Today the
[IotpDevice|https://github.com/apache/incubator-edgent/blob/master/connectors/iotp/src/main/java/org/apache/edgent/connectors/iotp/IotpDevice.java]
connector precludes this use case. It hides the WIoTP API objects used to
connect to WIoTP. The WIoTP {{DeviceClient}} API is for a simple device (used
by today's connector); {{ManagedDevice}} is for a "managed device" --
{{ManagedDevice extends DeviceClient}}.
I think the best way to enable this use case, and generally add more
flexibility in configuring an underlying WIoTP connection, would be to add a
{{IotpDevice(DeviceClient)}} constructor, allowing the application to create
and use the ManagedDevice object for WIoTP managed device capabilities and
intialize the IotpDevice connector with it.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)