Virtual Business Component

Virtual business components (VBCs) are mechanisms in Siebel EAI by which data from an external system can be viewed in Siebel applications without having to replicate that data within the Siebel Database. We will discuss VBC in a series of 4 articles. Here is the first one, which will help you in understanding why we require VBC and what are VBC’s?.

Business Requirement [Data Sharing Problem]

Following are the common cases where we need to pull data from external database using VBC
1. Users want to access data anywhere in the enterprise
2. Users want to use the same user interface to access any data
3. Users want to display and manipulate external data from within a Siebel application without storing it in the Siebel database
Virtual Business Component

Virtual Business Component Solution

1. Uses a class of business component based on data stored outside of the Siebel database
2. Is defined and behaves like a regular business component
3. Displays data from a external application in a Siebel applet
4. Does not store the external data in the Siebel database

Mapping Virtual Business Components

1. An applet maps to a VBC and is included in a business object (View) just like a regular business component
2. A business object can contain regular business components and virtual business components

Virtual Business Component

VBCs Rely on Business Service and Scripting

A regular Siebel business component uses a C++ Class

(such as CSSBusComp) to manipulate data in the Siebel database
1. Query for records
2. Modify records
3. Create records
4. Delete records

A virtual business component requires a business service with a script to manipulate data in an external application

1. Query for records
2. Modify records
3. Create records
4. Delete records

Data Manipulation Methods

A VBC requires a business service to provide the following standard methods for manipulating external data

1. Init (required)
2. Query (required)
3. Preinsert (optional)
4. Insert (optional)
5. Update (optional)
6. Delete (optional)

The VBC business service may also map Siebel data to external data

Virtual Business Component

VBCs and EAI Transports

VBCs require an EAI transport to send and receive data

Available transports and interfaces for a VBC include:

1. EAI MQSeries Server Transport
2. EAI MQSeries Application Messaging Interface (AMI)Transport
3. EAI MSMQ Transport
4. EAI File Transport
5. EAI HTTP Transport
6. Microsoft BizTalk 2000
Virtual Business Component

Two Ways to Implement a VBC

Create a custom business service with the necessary scripting
1. Siebel eScript, or
2. Siebel Visual Basic

Use the Siebel XML Gateway Business Service, which comes with the required methods for data access and manipulation

When a Virtual Business Component is Appropriate?

When the external system is the system of record
There is no need to duplicate the external data in the Siebel database

When the data from the external system is not defined within the Siebel schema

When the Siebel application is just one of many applications

Limitations of Virtual Business Components

1.VBCs can only be a child components, never parents
Example: A VBC can provide account detail from an external application only if the Siebel application has the parent account record

2.VBCs do not support many-to-many relationships or joins

3.VBCs cannot be specialized business components
Example: Quotes and Forecasts cannot be implemented as VBCs

4.VBCs cannot contain multi-value groups (MVGs), nor can they be the business components for MVGs

5.VBCs do not support drilldowns and sort capabilities
Both use a named search, which is not possible in a VBC

6.VBC field names must map to field names in the external system

7.VBC detail data cannot appear in a wireless view
A wireless view displays only one (master) applet; a VBC must be a child

8.Mobile users cannot use VBCs
Remote data is not stored in the Siebel database
There is no logging support

12 comments on “Virtual Business Component”

  1. Fernanda Pradella Reply

    Very helpful.
    I’m looking for some information on how to implement it (for new developers).

  2. Gaurav Reply

    Is the VBC Supports Calcualted fields having calcualted Field values like
    IIf (ParentBCName () = "FINS Group Primary Members",ParentFieldValue("Asset Id"),"")
    where Parent BC is normal BC.

  3. Naresh Reply


    When the data in a VBC is constructed using script, then why would anyone want to use Calculated Field, as the value can be calculated directly in the script and populate in the applet at the time of applet load.

  4. Anupama Reply

    Thanks a lot of the information. It wil be very nice if you can share more about using XML gateway service instead of customized business service in VBC user property. Usually i have always created customized BS to query and update data of external system.

  5. ursvisnu Reply





    /* Style Definitions */
    {mso-style-name:”Table Normal”;
    mso-padding-alt:0in 5.4pt 0in 5.4pt;
    mso-fareast-font-family:”Times New Roman”;

    Siebel VBC to filters records from Opportunities BC. 
    As per our requirement we need to filter out the Opportunities records based on some conditional criteria. And we are trying to work with VBC.  Please help me out in doing configuration for this requirement.
    We have created custom VBC with Name Related Opportunities and mentioned Service Name User Property with “Business Service name”.
     In business Service level we have given Init function as well Query method.  But the records were showing Null.  Please give me assistance how to retrieve the records from the Opportunity BC to VBC through ESCRIPT ASAP.
    Please help me out in solving this issue.

Leave A Reply

Your email address will not be published. Required fields are marked *

error: Content is protected !!