Overcast Component Framework


The Overcast Component Framework (OCF) is designed to provide Vigience a uniform toolset to deliver pre-built yet highly configurable end-to-end integration content to our customers, as well as to provide customers a way to easily create and manage their own integration content with minimal coding.

Concept

The Overcast Component Framework is metadata-driven and consists of user interfaces with calls to the backend controlled via metadata. The component metadata is based on metadata information provided from Overcast Real-time Apex classes (generated for a scenario) and can be customized to control many aspects of both client and backend-call behavior.
 

In principle, OCF components are intended to display (as well as post) information about a specific Salesforce record, such as a list of Sales Orders for a particular Account. As such, the record ID for the "hosting record" of the component (the record currently displayed in the Salesforce page on which the component resides, or from which the component was navigated to) is sent as a parameter to the OCF Apex controller.

The OCF Apex controller uses this record ID to retrieve field values from the hosting record and map them to the backend call parameters according to the metadata configurations in the specified Overcast Component Definition. This mapping is achieved using "Component Fields" which are linked to the Component Definition. In the example of the Sales Order list above, the SAP Customer number would be taken from the Account field specified via the metadata with the record specified via the received record ID.

 

In addition to server-determined values, the OCF allows user-specified values to be passed in from the client. For example, the user could specify the date range for which to retrieve Sales Orders, or the products and quantities for the items when posting a Sales Order. The OCF will combine the user-specified values with the server-determined values prior to calling the Overcast Real-time scenario. For security purposes, server-determined values for a given parameter will override any value for the same parameter that is passed in from the client. In continuing with the Sales Order list example, since the SAP Customer number is determined via the Component Definition metadata on the server, any Customer number provided from the client will be ignored.

Terminology

Let's define some terms that we will be using to describe the OCF technologies.


Component Builder

The Component Builder is an app that is part of the Overcast package for Salesforce, used to create and configure component definitions. The Component Builder can be accessed only by a user with the assigned Overcast Designtime User permission set. It can be opened from the Component Library by selecting one of the create or customize buttons, or from a scenario detail page.


Component Library

The Component Library is a database of all the publicly available pre-integrated components developed by Vigience. The Component Library is a part of the Overcast package for Salesforce and is the default tab for the Overcast app.


Component

A component is the concept of a single complete application that consists of one or more component definitions; it is a bundle or grouping of one or more such definitions. There is no record or data for a Component itself that is stored in Salesforce. Components can be installed from the component library or by manually creating one or more logically related component definitions.


Component Definition

A component definition holds the configuration for a complete action to an external system API. The configuration includes information for drawing the UI, and for what data to send and receive from SAP.


Component Field

A component field is a configuration point for storing static data or referencing a reference field. Data is not stored in the component definition.

Component fields are dependent children of a component definition record. 


Reference Field

A reference field is a lookup that references a field on a related object, such as Account.AccountNumber for getting the SAP customer number from the account record. A reference field can be selected in the parameter mappings of the Component Builder and when mapped to the right field in the backend system, helps to pull the corresponding record(s) from there. 

Reference fields are shared among definitions. There should not be multiple reference fields referencing the same field for an object.

 

Visual representation of the relationships between the OCF types.