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)

Reply via email to