Further to our original introduction article on an early version of this interesting platform service, we thought it would be good to provide an update covering new features of likely interest to existing Oracle Cloud Applications developers. You've also no doubt noticed the tool has a new name, from Application Builder Cloud Service (ABCS) to Visual Builder Cloud Service (VBCS).
The core parts of the service remain the same; development of hosted enterprise applications in a low-code environment.
To keep the content here concise, please review our original article or take a look at a nice demo illustrating the integration with the Account object from Oracle Sales Cloud. The key here is that custom Business Objects are added and stored inside VBCS, and they use REST services to work with the Business Objects in Oracle Cloud Applications.
Within your Business Objects you can define your own business rules. This exists for local custom objects in VBCS, and is used for the business logic layer of the application functionality, underlying that implemented in the UI.
You may recognize much of the functionality here to that found in Application Composer, and indeed they both work over the same platform. Business rules are comprised of Triggers, Object and Field Validators and Object Functions.
The development process has a Trigger Designer which allows you to not only define individual triggers but to visualize and combine them into clear sequences. As shown below, the trigger designer shows all triggers based on their definitions and helps ensure business objects are processed in flows that meet business requirements.
The triggers have several actions available, including running Groovy script code, update or delete a record, can call another function, can send an email, can start a business process (stored in Oracle Process Cloud Service). In this way they combine the Object Workflow and Trigger functionality found in Application Composer.
Triggers support conditional execution, and the declarative Conditions Builder allows the selection of an object field and a condition (i.e. operator and value). Using multiple conditions (AND / OR) and combining them into 'groups' allows it to meet more complex requirements. When you're designing your trigger you can also pick to declare the trigger condition in pure groovy code, and as such it has the full flexibility.
Validators and Object Functions are short groovy scripts that return a Boolean value, which is then linked to a user defined error message. They are identical to the Field and Object Validation Rules found in Application Composer. One enhancement of note is the inclusion of an active checkbox, allowing your to turn-off validation when required (useful during development and data migrations).
Object Functions exist to support more extensive groovy scripting requirements, so that more modular coding can be used. Web services can also be exlictly defined and used in your scripts. Also a logging feature for groovy scripting exists. Again all of these equate to the same features found in Application Composer.
VBCS includes the ability to define one or more process flows to support end user tasks and approvals.
This feature leverages a prebuilt integration with Oracle Process Cloud Service, and its initial configuration is done in the Administration menu under Associated Service Instances. Note that the two services must exist within the same identity domain. The features exposed inside Process functionality are equivalent those those from Oracle Process Cloud Service as described here.
Processes are fired from either the VBCS UI component actions (such as those for a button) or in the Business Rules (i.e. triggers) defined for the object.
The process and business object/s work together through a REST connection defined automatically by the system during the creation of the process. Processes are versioned and explicitly deployed when ready for use.
Each process also includes role definition features, separate to those in Cloud Applications, to support grouping the allowable actions. An example might be 'managers' who can execute upon approval requests.
Processes support the creation of UI forms and task list pages, so that users can also interact with the process independently from the business objects when required. Additionally a combination can be used where a Task Action component can be added to an existing business object page, to support inline user actions.
In addition to what you can develop inside VBCS, it is possible to install externally built packages and files to support your run-time application. There are several types:
These extensions can also be shared between VBCS applications, such as a common theme.
Since the data in VBCS is contained in its own database environment, the Data Designer feature allows you to both define the structures used and their properties (based on Relationships, Business Objects and Fields). Once defined, the Data Designer also lets you browse/add/edit/delete individual records.
Each VBCS application has a life-cycle state (Development, Staging, Live) and holds an independent database for storing records for each of these. This helpfully means no need to clear out development or testing data.
Additionally you can Import and Export your larger volumes of data - supporting both append or replace update methods. This can be done using CSV or excel files, or even data stored in another of your VBCS databases (e.g. moving your seed data from Stage to Live).
VBCS provides out-of-the-box responsive designed UI pages, automatically adjusting page components to suite the client screen size. In addition there are explicit configurations you can make to specify your preferences when rendering screens and components on smaller devices.
VBCS also has a distinct Mobile Designer feature which allows the creation of mobile-only apps. This uses the same concepts as development in VBCS, centering around business objects, however is entirely declarative. It leverages the same tooling that you may have seen in Oracle Mobile Cloud Service, known as Oracle Mobile Application Accellerator. The resulting app runs inside the Oracle MAX App, which has to be installed on all client devices (iOS or Andriod).
Once you've created an extension to your Oracle Cloud Applications in VBCS, you'll want to get it to your users. You can have a hyperlink in your Oracle Cloud Applications page that opens a second browser window with the VBCS application, but you'll need to deal with the normal back-button / user-session challenges. Better is to embed the VBCS application inside your Cloud Application. As per the screenshot below, this is explicitly supported, and also permits cross pollination of account/roles (inside the same cloud identity domain).
You can optionally remove the header title bars and navigation from the VBCS application, so the embedded result looks much cleaner. This is done by specify a URL parameter ("nonav") in the embed URL that you'd use in the host Cloud Application.
Furthermore to support the seamless flow to-and-from Cloud Applications, translation support exists in VBCS, offering a downloadable JSON file of all strings used, and support for re-upload with your related language entries.
If you've either used or are using VBCS for your extensions to Oracle Cloud Applications, we'd love to hear your stories. Please get in touch via the comments below and we'll share some lessons and concepts in future articles.