| CPC G06F 21/604 (2013.01) [G06F 16/252 (2019.01); G06F 2221/2113 (2013.01); G06F 2221/2141 (2013.01)] | 15 Claims |

|
1. A method comprising:
generating, by a provider account in a data system comprising a plurality of virtual data warehouses, a data application including a user interface (UI) component, the data application being a share object in a database stored in the data system, the data application identifying a virtual warehouse of the plurality of virtual warehouses to execute the data application;
configuring the data application for sharing with other accounts using one or more grant commands;
sharing the data application including the UI component with a consumer account in the data system including:
instantiating a User Defined Function (UDF) server within a security context of the data system based on a security policy determined by the provider account;
instantiating an application engine of the UDF server based on the security policy determined by provider account using the identified virtual warehouse;
instantiating the data application of the application engine based on the security policy determined by provider account; and
communicating by the data application with a browser using the application engine as a proxy server;
deploying, by the consumer account, the data application, the consumer account being given a set of privileges based on the one or more grant commands;
configuring, by the consumer account, the UI component to add a consumer-account specific functionality for interfacing with the data application by the consumer account; and
operating, by the consumer account, the UI component based on the share object residing in the provider account, the operating including:
receiving, from the consumer account, a command related to the UI component via the browser;
transmitting the command to the UDF server, communication between the browser and the UDF server being governed by a set of UI policies, the set of UI policies restricting a set of elements that can be used by the consumer account; and
executing the command by the UDF server running the data application on the application engine and a virtual machine in the data system outside of the UDF server, communication between the UDF server and the virtual machine running the data application is governed by a set of state policies defining state type of the data application and resources used by the data application.
|