Any standard Business Component supports data operations like init, query,insert, update, delete etc via the base component "class". VBC's support these operations via an associated business service and we are responsible for implementing all these data operations as methods on the associated business service. A special case is in using "XML Gateway"business service that allows the data for each of these operations to be passed as a set of pre-defined XML schemas. EBC is new as of Siebel77 and supports configuring business components against data stored in an external database (NOT the siebeldb), via External Table object definitions and a special "class" implements all the data operations (CSSBCVExtern or some such class). The limitation, if we may call it that, is that the external database must be a supported database server of Siebel like Oracle, DB2, SQL Server etc.So for integrations, if it is a supported data source then it is recommended to use EBC's as that also means less amount of scripting (mandatory for VBC's) and use VBC's only if it is an un-supported data source.
VBCs: VBCs are the mechanism in siebel eAI by which data from an external system can be viewed in siebel application without having to replicate that data within the siebel database. For ex: your users could access detailed credit card information from a mainframe system for a given customer account and see it displayed in siebel application interface. In this case, the basic customer account data such as account number, name is stored in siebel application while the detailed transaction information on that customers credit card account is stored in an external database. the detailed transaction information for a given account can be retreived from the external system on demand without replicating that information in the siebel application.VBCs are configured in Siebel tools and use Business Services to access data from an external system.VBCs can use standard transports like MQSeries, HTTO, MSMQ alongwith the XML gateway services to query, insert and updtate the data.
EBCs: The external business component feature provides a way to access data that resides in a non-Siebel table or view, using a Siebel business component.
Some key features of EBCs are:
1.EBCs cannot be docked, so they do not apply to mobile users on the Siebel Mobile Web Client. Siebel Remote is not supported.
2.EBCs support many-to-many relationships with the limitation that for such relationships the intersection table must be from the same data source as the child business component.
3.EBCs cannot be loaded using the Enterprise Integration Manager.
4.EBCs rely on the Business Object Layer of the Siebel Architecture. Therefore, EBCs are used only in Siebel Server components using this layer such as the Application Object Manager (for example, the Call Center Object Manager), Workflow Process Manager, and so on. EBCs are not used on components not using this layer such as Workflow Policies (the Workflow Monitor agent), Assignment Manager, Incentive Compensation, and so on.
5.The Id field must be mapped to an underlying column in the external table in order to support insert, update, delete, and query operations.
6.Using the Oracle Sequence Object to populate the Id system field is not supported. The value of the Id system field has to be known by the object manager at the record commit time, while the Oracle Sequence Object value is populated by the database server when the change is being processed inside the data base.
7.If the column that was mapped to the Id system field has Primary Key checked, then rowid values are generated by the object manager. Otherwise, a user-entered rowid value is assumed, and the object manager does not generate a rowid value for it. However, in either configuration, the Primary Key column should not use the Oracle Sequence Object.
8.For EBCs that contain multi-value groups, if a primary join is enabled, then both the parent and the child business components must be from the same data source. Multi-value groups are also supported as long as such configuration does not require that a distributed join or a subquery be performed.
9.Siebel visibility control (for example ViewMode) is not supported for EBCs.
10.An external join alias must have the same name as the name used for the external table.
11.EBCs based on Database views can be used for queries only, updates are not supported. Hope you will get some idea about VBCs and EBCs.