[IoT] App Management Database Design

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

[IoT] App Management Database Design

Chathura Dilan
Hi All,

Please find the  EER diagram of the app management database. We have mainly focused on app types, app store listing and publisher, app releases, app lifecycles. There can be many use cases associated with app management. Those scenarios should be achievable though extension points with minimal modification to the database schema with high performance.






Details

1. Application platform is the blueprint of the application. It has properties filed to define the additional attributes of application platform.

2. There can be tenant based application platforms so special table has been introduced to the keep the mapping between application platform and the application based on tenant.

3. Application table mainly responsible for holding data related to store listing. In addition application can have additional attributes and values. Those attributes and values are saved in a separate table.

4. Application versions are maintained on a separate table called application release. This has attributes related to application released versions as application life cycle. Like application, applications releases can have its own attributes and values.

5. Subscriptions to app are stored in a separate table. subscription done against any subscription type eg: role, user, group.

6. History data will not be kept in tables and they will be published to DAS.

 

--
Regards,

Chatura Dilan Perera

Associate Tech Lead
 - WSO2 Inc.
www.dilan.me

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

APPM_DB_DESIGN.png (268K) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [IoT] App Management Database Design

Gayan Gunawardana


On Fri, May 12, 2017 at 1:35 PM, Chathura Dilan <[hidden email]> wrote:
Hi All,

Please find the  EER diagram of the app management database. We have mainly focused on app types, app store listing and publisher, app releases, app lifecycles. There can be many use cases associated with app management. Those scenarios should be achievable though extension points with minimal modification to the database schema with high performance.






Details

1. Application platform is the blueprint of the application. It has properties filed to define the additional attributes of application platform.
According to schema one application may have more than one application platform. What sort of samples available for this case ? 

2. There can be tenant based application platforms so special table has been introduced to the keep the mapping between application platform and the application based on tenant.

3. Application table mainly responsible for holding data related to store listing. In addition application can have additional attributes and values. Those attributes and values are saved in a separate table.

4. Application versions are maintained on a separate table called application release. This has attributes related to application released versions as application life cycle. Like application, applications releases can have its own attributes and values.

5. Subscriptions to app are stored in a separate table. subscription done against any subscription type eg: role, user, group.

6. History data will not be kept in tables and they will be published to DAS.

 

--
Regards,

Chatura Dilan Perera

Associate Tech Lead
 - WSO2 Inc.
www.dilan.me

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Gayan Gunawardana
Software Engineer; WSO2 Inc.; http://wso2.com/

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [IoT] App Management Database Design

Chathura Dilan
Hi All,

We have done some modification to schema. Please find the new EER diagram.




On Sun, May 14, 2017 at 10:03 AM, Gayan Gunawardana <[hidden email]> wrote:


On Fri, May 12, 2017 at 1:35 PM, Chathura Dilan <[hidden email]> wrote:
Hi All,

Please find the  EER diagram of the app management database. We have mainly focused on app types, app store listing and publisher, app releases, app lifecycles. There can be many use cases associated with app management. Those scenarios should be achievable though extension points with minimal modification to the database schema with high performance.






Details

1. Application platform is the blueprint of the application. It has properties filed to define the additional attributes of application platform.
According to schema one application may have more than one application platform. What sort of samples available for this case ? 

2. There can be tenant based application platforms so special table has been introduced to the keep the mapping between application platform and the application based on tenant.

3. Application table mainly responsible for holding data related to store listing. In addition application can have additional attributes and values. Those attributes and values are saved in a separate table.

4. Application versions are maintained on a separate table called application release. This has attributes related to application released versions as application life cycle. Like application, applications releases can have its own attributes and values.

5. Subscriptions to app are stored in a separate table. subscription done against any subscription type eg: role, user, group.

6. History data will not be kept in tables and they will be published to DAS.

 

--
Regards,

Chatura Dilan Perera

Associate Tech Lead
 - WSO2 Inc.
www.dilan.me

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Gayan Gunawardana
Software Engineer; WSO2 Inc.; http://wso2.com/

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Regards,

Chatura Dilan Perera

Associate Tech Lead
 - WSO2 Inc.
www.dilan.me

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

APPM_DBDESIGN.png (293K) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [IoT] App Management Database Design

Rasika Perera
In reply to this post by Gayan Gunawardana
Hi Gayan,

According to schema one application may have more than one application platform. What sort of samples available for this case ?  
​Yes, It is a valid use case. For instance, WebClip applications are available for ​both Android and iOS. WebClips can be think of as bookmarks that'll be available on the mobile device menu.

Best Regards,
Rasika

On Sun, May 14, 2017 at 10:03 AM, Gayan Gunawardana <[hidden email]> wrote:


On Fri, May 12, 2017 at 1:35 PM, Chathura Dilan <[hidden email]> wrote:
Hi All,

Please find the  EER diagram of the app management database. We have mainly focused on app types, app store listing and publisher, app releases, app lifecycles. There can be many use cases associated with app management. Those scenarios should be achievable though extension points with minimal modification to the database schema with high performance.






Details

1. Application platform is the blueprint of the application. It has properties filed to define the additional attributes of application platform.
According to schema one application may have more than one application platform. What sort of samples available for this case ? 

2. There can be tenant based application platforms so special table has been introduced to the keep the mapping between application platform and the application based on tenant.

3. Application table mainly responsible for holding data related to store listing. In addition application can have additional attributes and values. Those attributes and values are saved in a separate table.

4. Application versions are maintained on a separate table called application release. This has attributes related to application released versions as application life cycle. Like application, applications releases can have its own attributes and values.

5. Subscriptions to app are stored in a separate table. subscription done against any subscription type eg: role, user, group.

6. History data will not be kept in tables and they will be published to DAS.

 

--
Regards,

Chatura Dilan Perera

Associate Tech Lead
 - WSO2 Inc.
www.dilan.me

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Gayan Gunawardana
Software Engineer; WSO2 Inc.; http://wso2.com/

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
With Regards,

Rasika Perera
Senior Software Engineer



WSO2 Inc. www.wso2.com
lean.enterprise.middleware

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [IoT] App Management Database Design

Hasunie Adikari
Hi Chathura,

According to the schema, how can we track each app transaction? 
Since we are only about to maintain free apps, Transactions wouldn't be a valid use-case from this perspective. But If paid apps will be maintained, do we need to create a separate extension for that. and also there will be different subscription types such as monthly, yearly and perpetual for paid apps. It also should be tracked in the transaction table.

Regards
Hasunie



On Mon, May 15, 2017 at 7:37 PM, Rasika Perera <[hidden email]> wrote:
Hi Gayan,

According to schema one application may have more than one application platform. What sort of samples available for this case ?  
​Yes, It is a valid use case. For instance, WebClip applications are available for ​both Android and iOS. WebClips can be think of as bookmarks that'll be available on the mobile device menu.

Best Regards,
Rasika

On Sun, May 14, 2017 at 10:03 AM, Gayan Gunawardana <[hidden email]> wrote:


On Fri, May 12, 2017 at 1:35 PM, Chathura Dilan <[hidden email]> wrote:
Hi All,

Please find the  EER diagram of the app management database. We have mainly focused on app types, app store listing and publisher, app releases, app lifecycles. There can be many use cases associated with app management. Those scenarios should be achievable though extension points with minimal modification to the database schema with high performance.






Details

1. Application platform is the blueprint of the application. It has properties filed to define the additional attributes of application platform.
According to schema one application may have more than one application platform. What sort of samples available for this case ? 

2. There can be tenant based application platforms so special table has been introduced to the keep the mapping between application platform and the application based on tenant.

3. Application table mainly responsible for holding data related to store listing. In addition application can have additional attributes and values. Those attributes and values are saved in a separate table.

4. Application versions are maintained on a separate table called application release. This has attributes related to application released versions as application life cycle. Like application, applications releases can have its own attributes and values.

5. Subscriptions to app are stored in a separate table. subscription done against any subscription type eg: role, user, group.

6. History data will not be kept in tables and they will be published to DAS.

 

--
Regards,

Chatura Dilan Perera

Associate Tech Lead
 - WSO2 Inc.
www.dilan.me

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Gayan Gunawardana
Software Engineer; WSO2 Inc.; http://wso2.com/

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
With Regards,

Rasika Perera
Senior Software Engineer



WSO2 Inc. www.wso2.com
lean.enterprise.middleware

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Hasunie Adikari
Software Engineer
WSO2 Inc.; http://wso2.com
lean.enterprise.middleware
Mobile:+94713350904

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [IoT] App Management Database Design

Chathura Dilan
Hi Hasunie,

Currently we haven't consider transactions for the design. We can have a separate extensions for manage transactions. Let's have an internal discussion on this.


On Tue, May 30, 2017 at 1:59 PM, Hasunie Adikari <[hidden email]> wrote:
Hi Chathura,

According to the schema, how can we track each app transaction? 
Since we are only about to maintain free apps, Transactions wouldn't be a valid use-case from this perspective. But If paid apps will be maintained, do we need to create a separate extension for that. and also there will be different subscription types such as monthly, yearly and perpetual for paid apps. It also should be tracked in the transaction table.

Regards
Hasunie



On Mon, May 15, 2017 at 7:37 PM, Rasika Perera <[hidden email]> wrote:
Hi Gayan,

According to schema one application may have more than one application platform. What sort of samples available for this case ?  
​Yes, It is a valid use case. For instance, WebClip applications are available for ​both Android and iOS. WebClips can be think of as bookmarks that'll be available on the mobile device menu.

Best Regards,
Rasika

On Sun, May 14, 2017 at 10:03 AM, Gayan Gunawardana <[hidden email]> wrote:


On Fri, May 12, 2017 at 1:35 PM, Chathura Dilan <[hidden email]> wrote:
Hi All,

Please find the  EER diagram of the app management database. We have mainly focused on app types, app store listing and publisher, app releases, app lifecycles. There can be many use cases associated with app management. Those scenarios should be achievable though extension points with minimal modification to the database schema with high performance.






Details

1. Application platform is the blueprint of the application. It has properties filed to define the additional attributes of application platform.
According to schema one application may have more than one application platform. What sort of samples available for this case ? 

2. There can be tenant based application platforms so special table has been introduced to the keep the mapping between application platform and the application based on tenant.

3. Application table mainly responsible for holding data related to store listing. In addition application can have additional attributes and values. Those attributes and values are saved in a separate table.

4. Application versions are maintained on a separate table called application release. This has attributes related to application released versions as application life cycle. Like application, applications releases can have its own attributes and values.

5. Subscriptions to app are stored in a separate table. subscription done against any subscription type eg: role, user, group.

6. History data will not be kept in tables and they will be published to DAS.

 

--
Regards,

Chatura Dilan Perera

Associate Tech Lead
 - WSO2 Inc.
www.dilan.me

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Gayan Gunawardana
Software Engineer; WSO2 Inc.; http://wso2.com/

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
With Regards,

Rasika Perera
Senior Software Engineer



WSO2 Inc. www.wso2.com
lean.enterprise.middleware

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Hasunie Adikari
Software Engineer
WSO2 Inc.; http://wso2.com
lean.enterprise.middleware
Mobile:<a href="tel:+94%2071%20335%200904" value="+94713350904" target="_blank">+94713350904

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Thanks and Best Regards,

Chatura Dilan Perera

Associate Tech Lead
 - WSO2 Inc.
+94777266673
www.dilan.me


_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [IoT] App Management Database Design

Chathura Ekanayake
Hi Chathura,

How APPLICATION_SUBSCRIPTION and RESOURCE_TYPE tables will be used?

Don't we have to add tenantID column to the APPLICATION  table?

Regarding transactions, IMO transaction records have to be handled by external systems while we just maintain subscription details.

Regards,
Chathura

On Wed, May 31, 2017 at 6:08 PM, Chathura Dilan <[hidden email]> wrote:
Hi Hasunie,

Currently we haven't consider transactions for the design. We can have a separate extensions for manage transactions. Let's have an internal discussion on this.


On Tue, May 30, 2017 at 1:59 PM, Hasunie Adikari <[hidden email]> wrote:
Hi Chathura,

According to the schema, how can we track each app transaction? 
Since we are only about to maintain free apps, Transactions wouldn't be a valid use-case from this perspective. But If paid apps will be maintained, do we need to create a separate extension for that. and also there will be different subscription types such as monthly, yearly and perpetual for paid apps. It also should be tracked in the transaction table.

Regards
Hasunie



On Mon, May 15, 2017 at 7:37 PM, Rasika Perera <[hidden email]> wrote:
Hi Gayan,

According to schema one application may have more than one application platform. What sort of samples available for this case ?  
​Yes, It is a valid use case. For instance, WebClip applications are available for ​both Android and iOS. WebClips can be think of as bookmarks that'll be available on the mobile device menu.

Best Regards,
Rasika

On Sun, May 14, 2017 at 10:03 AM, Gayan Gunawardana <[hidden email]> wrote:


On Fri, May 12, 2017 at 1:35 PM, Chathura Dilan <[hidden email]> wrote:
Hi All,

Please find the  EER diagram of the app management database. We have mainly focused on app types, app store listing and publisher, app releases, app lifecycles. There can be many use cases associated with app management. Those scenarios should be achievable though extension points with minimal modification to the database schema with high performance.






Details

1. Application platform is the blueprint of the application. It has properties filed to define the additional attributes of application platform.
According to schema one application may have more than one application platform. What sort of samples available for this case ? 

2. There can be tenant based application platforms so special table has been introduced to the keep the mapping between application platform and the application based on tenant.

3. Application table mainly responsible for holding data related to store listing. In addition application can have additional attributes and values. Those attributes and values are saved in a separate table.

4. Application versions are maintained on a separate table called application release. This has attributes related to application released versions as application life cycle. Like application, applications releases can have its own attributes and values.

5. Subscriptions to app are stored in a separate table. subscription done against any subscription type eg: role, user, group.

6. History data will not be kept in tables and they will be published to DAS.

 

--
Regards,

Chatura Dilan Perera

Associate Tech Lead
 - WSO2 Inc.
www.dilan.me

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Gayan Gunawardana
Software Engineer; WSO2 Inc.; http://wso2.com/

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
With Regards,

Rasika Perera
Senior Software Engineer



WSO2 Inc. www.wso2.com
lean.enterprise.middleware

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Hasunie Adikari
Software Engineer
WSO2 Inc.; http://wso2.com
lean.enterprise.middleware
Mobile:<a href="tel:+94%2071%20335%200904" value="+94713350904" target="_blank">+94713350904

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Thanks and Best Regards,

Chatura Dilan Perera

Associate Tech Lead
 - WSO2 Inc.
+94777266673
www.dilan.me


_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture



_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [IoT] App Management Database Design

Chathura Dilan
Hi Chathura,

Resource types are the types that apps can be subscribed to. It could be user, role or even group. In the subscription table we are storing the value of the resource type with the resource type ID. It is named as resource type because it is used by multiple tables other than subscription table.

You can find the tenant Id in the application platform mapping table. It has a one to many mapping with the application table. So we do not need a column in application table.



On Mon, Jun 5, 2017 at 3:38 PM, Chathura Ekanayake <[hidden email]> wrote:
Hi Chathura,

How APPLICATION_SUBSCRIPTION and RESOURCE_TYPE tables will be used?

Don't we have to add tenantID column to the APPLICATION  table?

Regarding transactions, IMO transaction records have to be handled by external systems while we just maintain subscription details.

Regards,
Chathura

On Wed, May 31, 2017 at 6:08 PM, Chathura Dilan <[hidden email]> wrote:
Hi Hasunie,

Currently we haven't consider transactions for the design. We can have a separate extensions for manage transactions. Let's have an internal discussion on this.


On Tue, May 30, 2017 at 1:59 PM, Hasunie Adikari <[hidden email]> wrote:
Hi Chathura,

According to the schema, how can we track each app transaction? 
Since we are only about to maintain free apps, Transactions wouldn't be a valid use-case from this perspective. But If paid apps will be maintained, do we need to create a separate extension for that. and also there will be different subscription types such as monthly, yearly and perpetual for paid apps. It also should be tracked in the transaction table.

Regards
Hasunie



On Mon, May 15, 2017 at 7:37 PM, Rasika Perera <[hidden email]> wrote:
Hi Gayan,

According to schema one application may have more than one application platform. What sort of samples available for this case ?  
​Yes, It is a valid use case. For instance, WebClip applications are available for ​both Android and iOS. WebClips can be think of as bookmarks that'll be available on the mobile device menu.

Best Regards,
Rasika

On Sun, May 14, 2017 at 10:03 AM, Gayan Gunawardana <[hidden email]> wrote:


On Fri, May 12, 2017 at 1:35 PM, Chathura Dilan <[hidden email]> wrote:
Hi All,

Please find the  EER diagram of the app management database. We have mainly focused on app types, app store listing and publisher, app releases, app lifecycles. There can be many use cases associated with app management. Those scenarios should be achievable though extension points with minimal modification to the database schema with high performance.






Details

1. Application platform is the blueprint of the application. It has properties filed to define the additional attributes of application platform.
According to schema one application may have more than one application platform. What sort of samples available for this case ? 

2. There can be tenant based application platforms so special table has been introduced to the keep the mapping between application platform and the application based on tenant.

3. Application table mainly responsible for holding data related to store listing. In addition application can have additional attributes and values. Those attributes and values are saved in a separate table.

4. Application versions are maintained on a separate table called application release. This has attributes related to application released versions as application life cycle. Like application, applications releases can have its own attributes and values.

5. Subscriptions to app are stored in a separate table. subscription done against any subscription type eg: role, user, group.

6. History data will not be kept in tables and they will be published to DAS.

 

--
Regards,

Chatura Dilan Perera

Associate Tech Lead
 - WSO2 Inc.
www.dilan.me

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Gayan Gunawardana
Software Engineer; WSO2 Inc.; http://wso2.com/

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
With Regards,

Rasika Perera
Senior Software Engineer



WSO2 Inc. www.wso2.com
lean.enterprise.middleware

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Hasunie Adikari
Software Engineer
WSO2 Inc.; http://wso2.com
lean.enterprise.middleware
Mobile:<a href="tel:+94%2071%20335%200904" value="+94713350904" target="_blank">+94713350904

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Thanks and Best Regards,

Chatura Dilan Perera

Associate Tech Lead
 - WSO2 Inc.
+94777266673
www.dilan.me


_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture





--
Thanks and Best Regards,

Chatura Dilan Perera

Associate Tech Lead
 - WSO2 Inc.
+94777266673
www.dilan.me


_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Loading...