January 3, 2023

Difference between Array Data Provider and Service Data Provider in Oracle VBCS

 In this post, we will learn the difference between data providers available in Oracle VBCS.

A data provider is to hold a collection of data from the backend that can be bound to collection components such as listView and table on UI. In VBCS, we have two types of data providers, which are ArrayDataProvider and ServiceDataProvider.  We will see the difference between these two.

ArrayDataProvider :

  • This is a static data provider which means it is a static source of data that does not change frequently
  • This only allows infrequent adds, updates, and removes of the data
  • In some cases, the UI component bound to this data provider needs to be refreshed after the data in its variable changes
  • Operations on the data such as sorts, adds, removes or updates are managed by this data provider itself

Service Data Provider:

  • This data provider represents the data that fetches from a service endpoint
  • It allows externalizing fetches through an action chain
  • Unlike ArrayDataProvider, this is a dynamic data provider that updates its variables and UI when the data changes through the delegated action chain
  • Variable that uses this type also can be bound to collection components like listView, table, select and other components that accept the data provider. 
  • This has in-built support for operations like sorting, filtering, and paging of data collection

When there will be more custom operations required to apply to the data, we should go with ArrayDataProvider as it will be static. When the data updates frequently and no major customization is required for the data, then we should choose ServiceDataProvider, especially in cases like pagination and lazy loading.

October 31, 2022

Oracle Visual Builder Cloud Service: Testing the application with multiple user security roles

In this post, we will see how to test an application by changing the required user roles.

While developing an application in Oracle VBCS, we may need to test some features of the application with a specific user role and other features with a different user role.

To achieve this, we may need multiple user logins which have required roles individually.

However, while developing an application, we have a feature in VBCS to change the roles dynamically at application run time and test.

This feature is very much useful because it reduces the number of logins and skips the navigations in the application development phase.

In this post, we will see the various options available in VBCS to achieve this.

Option 1: We can have a login page and authorize the application based on logged-in users' roles.

Option 2: 

  • Go to application settings
  • Go to the "User Roles" tab. All the roles will be listed if available to the app. Also, we can create new roles. Below is the screenshot for your reference.
User Roles in VBCS application


  • We can add the users or groups to the roles by clicking on the "Assign groups and users" role listed in the tab. Please check the below screenshots for your reference.

  • Click on the "Save Changes" button
  • Note, the application should be staged after this change.
Option 3: 
  • Go to the "Page designer" of any page of the application
  • View the page in "Design" mode
  • Click on the icon as shown on the below screen
  • Select/de-select the roles required and run the app

For more details on securing the VBCS application, you can visit the documentation here.


June 29, 2021

Using Kubernetes with Oracle Digital Assistant

 In this blog post, we are going to see how we can include Kubernetes in the Oracle Digital Assistant (ODA) solution. 

Where can we include Kubernetes with ODA:

We can integrate any backend services with ODA using the custom components (using SDK) services in ODA. And these services are of four types.

  • Embedded Container: To upload the custom components code into the given embedded container of the ODA
  • Oracle Mobile Cloud: To connect the custom components deployed in the Oracle Mobile Cloud Service (OMCS) using its backend and service URL.
  • External: To connect the custom components deployed in the external or third-party servers.
  • Oracle Function: To connect the custom components deployed in the Oracle Functions cloud service using its URL.
Out of the above given four types of services for the custom components, we can use the type "External" to connect the custom component code deployed in the Kubernetes.


Why do we need to use Kubernetes with ODA:

As you know, ODA has inbuilt AI and ML processing which helps to train the chatbot. And the training is a continuous process to make the chatbot better. And also ODA supports multiple skills development. When ODA has more skills that are connecting with multiple backend services, we may need to write the custom components for multiple skills. And for complex chatbots, changing the code and uploading the ODA every time will be a very tedious task. So, in such scenarios, if the team is willing to use Kubernetes for the custom code development, then they have a choice to do so. They can use the Kubernetes to automate the deployment process without impacting the front end of ODA.

How to connect Kubernetes with ODA:

                     Oracle Digital Assistant - Custom Components Service


Once the custom component code is deployed in the Kubernetes, configure its public URL and its authentication as shown in the above image. Then the chatbot is ready to be connected to the backend.