I have seen developers discussing different ways to integrate third party applications with Siebel. Hope this nicely elaborated article will help you understanding this better.
I have asked industry experts to share their ideas on to this and now publishing responses with you. More ideas are open. Lets discuss this and provide your expert suggestion in comment section.
Responses of industry expert:
Read what Joan Martí Peraire says about intgrating siebel with third party appication.
In order to integrate Siebel with external application, what I can share, from my own experience, is that there are two options that can be easily carried out without any problem:
Option A: Using synchronous workflow that retrieve xml file that contains process information.
You should create integration objects within the Siebel repository to provide the definition of the mapping between the fields in the xml and Siebel.
Add a Sub Process step to invoke an EAI XML Converter(using this integration object created as a Input Argument – IntObjectName)
Business Service Name: EAI XML Converter
Business Service Method: XMLDocToIntObjHier
In Addition, add another Sub Process step to invoke an EAI Siebel Adapter Upsert (When a Workflow Process has a Business Object then a Siebel Operation Upsert step defined will upsert the record in the Primary Buisiness Component.)
Business Service Name: EAI Siebel Adapter
Business Service Method: Upsert
(*) For queues we need an external system/middleware.
Option B: Data load via EIM
EIM batch jobs are used for bulk data load. EIM are background batch jobs (not real time jobs).
In this case it’s required:
1. Previous Thread : PL/SQL can be used in order to delete previous records in EIM table.
delete from siebel.eim_EXAMPLE
where if_row_batch_num = LOT_NUMBER;
2. Preparing the EIM Tables : This section provides assistance in loading the EIM tables with data used to control insertion of rows from Siebel base tables.
insert into siebel.eim_EXAMPLE (
/* This value in combination with the nonempty contents of if_row_batch_num must yield a unique value. */
/* Set this to an identifying number for all EIM table rows to be processed as a batch.*/
/* In each row to be deleted, set this column to FOR_INSERT to indicate that the row has not been inserted. */
/*Add Required Fields to be informed*/
3. Finally, execute EIM through Server Manager, using a sentence such as:
set ExecuteEIM =”Run task for component EIM with config=C:\sea704\EXAMPLE.ifb”
%SRVRMGR%srvrmgr /g %SERVER% /e % SERVER % /u %USER% /p %PASSWORD% /s %EIMSERVER% /c %ExecuteEIM% /o %BASE%\Log.LOG
Feel free to contact Joan Martí Peraire email@example.com for any information/query on above article: