Wednesday, 16 July 2014

SIEBEL: Property Set, Siebel Message and XML explained

A lot of people get confused about Property Sets, Siebel Message and XMLs.

XML is a standard mark up language that almost every web based (or any other technology based which can support XML) application understands just like HTML can be understood by any browser. It is a web standard. Read more about XML here.

Now Siebel being a web based application, uses XML language to communicate to another application. Siebel data that needs to be sent to another application can be sent as an XML and siebel can receive XML data. The data would be in a xml string format with proper xml syntax like this.


Property Sets are a set of name, value pairs that denote structured data. Siebel uses property sets to define structured data. We use property sets to call Business Services or Workflows (check Storage Type in BS Input arguments, workflow inputs and outputs are called process properties - a set of properties). 

Remember that property set is a application variable. Siebel has a set of methods to define and use property sets. (TheApplication().NewPropertySet(), SetProperty(),GetProperty(),AddChild() etc). 

We can use property sets to define a list of name values pairs along with a list of child name value pairs. We can build a property set with our own structure. I can have related data in one property set. Property Sets are often used as Hierarchy type inputs to Workflows or Business Services.

Below is an example where we use property set to provide input to business service.



Siebel Message is a Property Set of type Siebel Message. Siebel Message is normally a property set that complies with a Integration Object structure. Siebel Message is a Integration Object Hierarchy.

Properties of a typical SiebelMessage is given below. A siebel message is compliant with a IO in siebel. If you import WSDL from an external source, it will create an External IO. We can simply create Siebel Message with internal IO and map it with external IO rather than going  through the pain of creating a hierarchical property set. Note that we can write a Siebel Message using eScript, it is not necessary to have EAI siebel Adapter to create a Siebel Message.


Siebel Property Sets or Siebel Messages can be understood and can be processed (Insert/Update/Delete operation on the data) by Siebel services like EAI Siebel Adapter, EAI UI Data Adapter etc. They are identified by the Siebel Message type. We can programmatically create an IO instance like this. Check this link also for better understanding.

A typical XML of the property set we created is given below.



So basically we come down to this. 

1. XMLs are global, siebel and other systems talk in XML. An external system does not know what a siebel property set is. They send data as an XML. 
2.Property Sets are hierarchical name value pairs which siebel use for its purpose like calling workflows or business services.
3. Siebel Messages are IO compliant Property Sets which are restricted to have the data in IO format. But, Siebel Messages are the ones that are more useful and quick way to process data as they can be understood by Siebel Business Services as data sets and processed in one go.

There are services to convert an XML to Property Set to Siebel Message and vice versa. EAI Integration Object to XML Hierarchy Converter, EAI XML Converter,XML Converter,XML Hierarchy Converter are few Business Services that are used to convert the data formats. Read CSV File and Write To CSV are the services we can use to convert CSV file data to property sets and XML.

3 comments: