Re: [Architecture] Restructuring Device Type Plugins for IoT

2016-11-30 Thread Harshan Liyanage
Hi Ruwan,

We have included the notification providers like GCM, MQTT, FireBase inside
the core (in device-mgt-extensions component) in the existing
implementation of device-mgt. I do agree with your comment that says those
are only extensions to the core framework. Have we thought of moving them
out from core as a plugin-extension?

Thanks,

Harshan Liyanage
EMM/IoT TG
Mobile: *+94765672894*
Email: hars...@wso2.com
Blog : http://harshanliyanage.blogspot.com/
*WSO2, Inc. :** wso2.com *
lean.enterprise.middleware.

On Wed, Nov 23, 2016 at 9:26 AM, Ruwan Yatawara  wrote:

> @Dilan,
> The idea here is that things like the transports adapters and the
> appm-connector are modular plugins that are just complementing the CDMF
> which is s framework. The framework does not necessarily need these to
> function and perform its core tasks. Hence these should evolve/get added
> independently from the framework. Furthermore given that, once the core
> matures, releases of these extensions will be more frequent than changes to
> the core, hence all the more need for this to be managed separately. We may
> later even need to make a separate repository out of these extensions, as
> one can also argue that such extensions do not belong in the device-type
> repo.
>
> @Chathura,
> As of this moment, we do not promote dynamic deployment of device types.
> But yes, you are right we will have to think about this at some point down
> the line when we support same.
>
> Thanks and Regards,
>
> Ruwan Yatawara
>
> Associate Technical Lead,
> WSO2 Inc.
>
> email : ruw...@wso2.com
> mobile : +94 77 9110413
> blog : http://ruwansrants.blogspot.com/
>   https://500px.com/ruwan_ace
> www: :http://wso2.com
>
>
> On Wed, Nov 23, 2016 at 5:47 AM, Chathura Dilan 
> wrote:
>
>> Hi Ruwan,
>>
>> How about having a UI for the plugin deployment? So plugins can be
>> installed and uninstalled via the UI like how we install/uninstall features
>> in the carbon console.
>>
>> On Tue, Nov 22, 2016 at 9:59 PM, Dilan Udara Ariyaratne 
>> wrote:
>>
>>> Hi Ruwan,
>>>
>>> Why would not analytics be inside a particular device type ?, this is in
>>> fact the idea provided in [1].
>>> And also, if these Input/Output transport adapters and extensions for
>>> MB/APP-M are in common to any device type,
>>> cannot we move them down to carbon-device-mgt platform layer ?
>>>
>>> References :
>>> [1] [Architecture] [IoT] Simplifying IoT device type plugin with a
>>> descriptor
>>>
>>> Thanks,
>>> Dilan.
>>>
>>>
>>> *Dilan U. Ariyaratne*
>>> Senior Software Engineer
>>> WSO2 Inc. 
>>> Mobile: +94766405580 <%2B94766405580>
>>> lean . enterprise . middleware
>>>
>>>
>>> On Tue, Nov 22, 2016 at 11:58 AM, Ruwan Yatawara 
>>> wrote:
>>>
 Hi All,

 In line with the changes that have been done to introduce the
 device-type descriptor in [1], I have gone ahead and done some refactoring
 to the existing plugins to standardise + make them self-contained.
 Following are a list of changes introduced.

- Mobile Base plugin is no more :
   - Earlier windows/ios/android plugins relied on a shared
   component called the base plugin to include common functionality. 
 This
   consisted of an OSGi component + a jaggery application. This made 
 the 3
   plugins interdependent. With the new structure, all 3 plugins would 
 be
   self-contained and they would pack all the necessary backend 
 functionality
   within themselves. The shared jaggery application has been broken 
 down to 3
   parts android-web-agent, windows-web-agent and ios-web-agent. Each
   application would get deployed and undeployed with the corresponding 
 device
   type.
- Each device type would be injecting the necessary UI units to a
page/template unit contained inside of a the cdmf framework.
- Each device type would be declaring its features/sensors and
relevant tables as per [1]
- Samples renamed to plugins and samples-deployer.xml renamed to
plugins-deployer.xml
- Input/Output transport adapters and extensions for MB/APPM moved
to a separate section called extensions inside the plugins repo.
- Analytics scripts moved to analytics section of the plugins repo
- All the device types have now been moved to the device-types
folder, as the EMM release is still on going, to make merging of ongoing
development work easier we have left the mobile plugins as it is. In the
future, once the EMM release concludes we will be moving the same inside
the device-types folder.

 In summary, as per the changes, the carbon-device-mgt-plugins repo
 structure is as follows. (We may have to break this up in to three
 different repos, in the future if need be)


Re: [Architecture] Restructuring Device Type Plugins for IoT

2016-11-22 Thread Ruwan Yatawara
@Dilan,
The idea here is that things like the transports adapters and the
appm-connector are modular plugins that are just complementing the CDMF
which is s framework. The framework does not necessarily need these to
function and perform its core tasks. Hence these should evolve/get added
independently from the framework. Furthermore given that, once the core
matures, releases of these extensions will be more frequent than changes to
the core, hence all the more need for this to be managed separately. We may
later even need to make a separate repository out of these extensions, as
one can also argue that such extensions do not belong in the device-type
repo.

@Chathura,
As of this moment, we do not promote dynamic deployment of device types.
But yes, you are right we will have to think about this at some point down
the line when we support same.

Thanks and Regards,

Ruwan Yatawara

Associate Technical Lead,
WSO2 Inc.

email : ruw...@wso2.com
mobile : +94 77 9110413
blog : http://ruwansrants.blogspot.com/
  https://500px.com/ruwan_ace
www: :http://wso2.com


On Wed, Nov 23, 2016 at 5:47 AM, Chathura Dilan  wrote:

> Hi Ruwan,
>
> How about having a UI for the plugin deployment? So plugins can be
> installed and uninstalled via the UI like how we install/uninstall features
> in the carbon console.
>
> On Tue, Nov 22, 2016 at 9:59 PM, Dilan Udara Ariyaratne 
> wrote:
>
>> Hi Ruwan,
>>
>> Why would not analytics be inside a particular device type ?, this is in
>> fact the idea provided in [1].
>> And also, if these Input/Output transport adapters and extensions for
>> MB/APP-M are in common to any device type,
>> cannot we move them down to carbon-device-mgt platform layer ?
>>
>> References :
>> [1] [Architecture] [IoT] Simplifying IoT device type plugin with a
>> descriptor
>>
>> Thanks,
>> Dilan.
>>
>>
>> *Dilan U. Ariyaratne*
>> Senior Software Engineer
>> WSO2 Inc. 
>> Mobile: +94766405580 <%2B94766405580>
>> lean . enterprise . middleware
>>
>>
>> On Tue, Nov 22, 2016 at 11:58 AM, Ruwan Yatawara  wrote:
>>
>>> Hi All,
>>>
>>> In line with the changes that have been done to introduce the
>>> device-type descriptor in [1], I have gone ahead and done some refactoring
>>> to the existing plugins to standardise + make them self-contained.
>>> Following are a list of changes introduced.
>>>
>>>- Mobile Base plugin is no more :
>>>   - Earlier windows/ios/android plugins relied on a shared
>>>   component called the base plugin to include common functionality. This
>>>   consisted of an OSGi component + a jaggery application. This made the 
>>> 3
>>>   plugins interdependent. With the new structure, all 3 plugins would be
>>>   self-contained and they would pack all the necessary backend 
>>> functionality
>>>   within themselves. The shared jaggery application has been broken 
>>> down to 3
>>>   parts android-web-agent, windows-web-agent and ios-web-agent. Each
>>>   application would get deployed and undeployed with the corresponding 
>>> device
>>>   type.
>>>- Each device type would be injecting the necessary UI units to a
>>>page/template unit contained inside of a the cdmf framework.
>>>- Each device type would be declaring its features/sensors and
>>>relevant tables as per [1]
>>>- Samples renamed to plugins and samples-deployer.xml renamed to
>>>plugins-deployer.xml
>>>- Input/Output transport adapters and extensions for MB/APPM moved
>>>to a separate section called extensions inside the plugins repo.
>>>- Analytics scripts moved to analytics section of the plugins repo
>>>- All the device types have now been moved to the device-types
>>>folder, as the EMM release is still on going, to make merging of ongoing
>>>development work easier we have left the mobile plugins as it is. In the
>>>future, once the EMM release concludes we will be moving the same inside
>>>the device-types folder.
>>>
>>> In summary, as per the changes, the carbon-device-mgt-plugins repo
>>> structure is as follows. (We may have to break this up in to three
>>> different repos, in the future if need be)
>>>
>>> carbon-device-mgt-plugins
>>>
>>> | analytics
>>>
>>> | extensions
>>>
>>> | device-types
>>>
>>> Note that when trying out the IoT distribution, in order to install
>>> device type plugins, from the server home, run the following command.
>>>
>>> *mvn clean install -f plugins/plugins-deployer.xml  *
>>>
>>> You may change the plugin-deployer.xml to include/exclude the plugins as
>>> required.
>>>
>>> [1] - [Architecture] [IoT] Simplifying IoT device type plugin with a
>>> descriptor
>>>
>>> Thanks and Regards,
>>>
>>> Ruwan Yatawara
>>>
>>> Associate Technical Lead,
>>> WSO2 Inc.
>>>
>>> email : ruw...@wso2.com
>>> mobile : +94 77 9110413
>>> blog : http://ruwansrants.blogspot.com/
>>>   https://500px.com/ruwan_ace
>>> www: 

Re: [Architecture] Restructuring Device Type Plugins for IoT

2016-11-22 Thread Chathura Dilan
Hi Ruwan,

How about having a UI for the plugin deployment? So plugins can be
installed and uninstalled via the UI like how we install/uninstall features
in the carbon console.

On Tue, Nov 22, 2016 at 9:59 PM, Dilan Udara Ariyaratne 
wrote:

> Hi Ruwan,
>
> Why would not analytics be inside a particular device type ?, this is in
> fact the idea provided in [1].
> And also, if these Input/Output transport adapters and extensions for
> MB/APP-M are in common to any device type,
> cannot we move them down to carbon-device-mgt platform layer ?
>
> References :
> [1] [Architecture] [IoT] Simplifying IoT device type plugin with a
> descriptor
>
> Thanks,
> Dilan.
>
>
> *Dilan U. Ariyaratne*
> Senior Software Engineer
> WSO2 Inc. 
> Mobile: +94766405580 <%2B94766405580>
> lean . enterprise . middleware
>
>
> On Tue, Nov 22, 2016 at 11:58 AM, Ruwan Yatawara  wrote:
>
>> Hi All,
>>
>> In line with the changes that have been done to introduce the device-type
>> descriptor in [1], I have gone ahead and done some refactoring to the
>> existing plugins to standardise + make them self-contained. Following are a
>> list of changes introduced.
>>
>>- Mobile Base plugin is no more :
>>   - Earlier windows/ios/android plugins relied on a shared component
>>   called the base plugin to include common functionality. This consisted 
>> of
>>   an OSGi component + a jaggery application. This made the 3 plugins
>>   interdependent. With the new structure, all 3 plugins would be
>>   self-contained and they would pack all the necessary backend 
>> functionality
>>   within themselves. The shared jaggery application has been broken down 
>> to 3
>>   parts android-web-agent, windows-web-agent and ios-web-agent. Each
>>   application would get deployed and undeployed with the corresponding 
>> device
>>   type.
>>- Each device type would be injecting the necessary UI units to a
>>page/template unit contained inside of a the cdmf framework.
>>- Each device type would be declaring its features/sensors and
>>relevant tables as per [1]
>>- Samples renamed to plugins and samples-deployer.xml renamed to
>>plugins-deployer.xml
>>- Input/Output transport adapters and extensions for MB/APPM moved to
>>a separate section called extensions inside the plugins repo.
>>- Analytics scripts moved to analytics section of the plugins repo
>>- All the device types have now been moved to the device-types
>>folder, as the EMM release is still on going, to make merging of ongoing
>>development work easier we have left the mobile plugins as it is. In the
>>future, once the EMM release concludes we will be moving the same inside
>>the device-types folder.
>>
>> In summary, as per the changes, the carbon-device-mgt-plugins repo
>> structure is as follows. (We may have to break this up in to three
>> different repos, in the future if need be)
>>
>> carbon-device-mgt-plugins
>>
>> | analytics
>>
>> | extensions
>>
>> | device-types
>>
>> Note that when trying out the IoT distribution, in order to install
>> device type plugins, from the server home, run the following command.
>>
>> *mvn clean install -f plugins/plugins-deployer.xml  *
>>
>> You may change the plugin-deployer.xml to include/exclude the plugins as
>> required.
>>
>> [1] - [Architecture] [IoT] Simplifying IoT device type plugin with a
>> descriptor
>>
>> Thanks and Regards,
>>
>> Ruwan Yatawara
>>
>> Associate Technical Lead,
>> WSO2 Inc.
>>
>> email : ruw...@wso2.com
>> mobile : +94 77 9110413
>> blog : http://ruwansrants.blogspot.com/
>>   https://500px.com/ruwan_ace
>> www: :http://wso2.com
>>
>>
>> ___
>> Architecture mailing list
>> Architecture@wso2.org
>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>
>>
>
> ___
> Architecture mailing list
> Architecture@wso2.org
> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>
>


-- 
Regards,

Chatura Dilan Perera
*Associate Tech Lead** - WSO2 Inc.*
www.dilan.me
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] Restructuring Device Type Plugins for IoT

2016-11-22 Thread Dilan Udara Ariyaratne
Hi Ruwan,

Why would not analytics be inside a particular device type ?, this is in
fact the idea provided in [1].
And also, if these Input/Output transport adapters and extensions for
MB/APP-M are in common to any device type,
cannot we move them down to carbon-device-mgt platform layer ?

References :
[1] [Architecture] [IoT] Simplifying IoT device type plugin with a
descriptor

Thanks,
Dilan.


*Dilan U. Ariyaratne*
Senior Software Engineer
WSO2 Inc. 
Mobile: +94766405580 <%2B94766405580>
lean . enterprise . middleware


On Tue, Nov 22, 2016 at 11:58 AM, Ruwan Yatawara  wrote:

> Hi All,
>
> In line with the changes that have been done to introduce the device-type
> descriptor in [1], I have gone ahead and done some refactoring to the
> existing plugins to standardise + make them self-contained. Following are a
> list of changes introduced.
>
>- Mobile Base plugin is no more :
>   - Earlier windows/ios/android plugins relied on a shared component
>   called the base plugin to include common functionality. This consisted 
> of
>   an OSGi component + a jaggery application. This made the 3 plugins
>   interdependent. With the new structure, all 3 plugins would be
>   self-contained and they would pack all the necessary backend 
> functionality
>   within themselves. The shared jaggery application has been broken down 
> to 3
>   parts android-web-agent, windows-web-agent and ios-web-agent. Each
>   application would get deployed and undeployed with the corresponding 
> device
>   type.
>- Each device type would be injecting the necessary UI units to a
>page/template unit contained inside of a the cdmf framework.
>- Each device type would be declaring its features/sensors and
>relevant tables as per [1]
>- Samples renamed to plugins and samples-deployer.xml renamed to
>plugins-deployer.xml
>- Input/Output transport adapters and extensions for MB/APPM moved to
>a separate section called extensions inside the plugins repo.
>- Analytics scripts moved to analytics section of the plugins repo
>- All the device types have now been moved to the device-types folder,
>as the EMM release is still on going, to make merging of ongoing
>development work easier we have left the mobile plugins as it is. In the
>future, once the EMM release concludes we will be moving the same inside
>the device-types folder.
>
> In summary, as per the changes, the carbon-device-mgt-plugins repo
> structure is as follows. (We may have to break this up in to three
> different repos, in the future if need be)
>
> carbon-device-mgt-plugins
>
> | analytics
>
> | extensions
>
> | device-types
>
> Note that when trying out the IoT distribution, in order to install device
> type plugins, from the server home, run the following command.
>
> *mvn clean install -f plugins/plugins-deployer.xml  *
>
> You may change the plugin-deployer.xml to include/exclude the plugins as
> required.
>
> [1] - [Architecture] [IoT] Simplifying IoT device type plugin with a
> descriptor
>
> Thanks and Regards,
>
> Ruwan Yatawara
>
> Associate Technical Lead,
> WSO2 Inc.
>
> email : ruw...@wso2.com
> mobile : +94 77 9110413
> blog : http://ruwansrants.blogspot.com/
>   https://500px.com/ruwan_ace
> www: :http://wso2.com
>
>
> ___
> Architecture mailing list
> Architecture@wso2.org
> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>
>
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture