GeeKs Blogging @ dotCOM

Let's share…
  • Home
  • About
  • Contribute
  • How To – FAQs
  • Disclaimer
  • Terms & Conditions
4 May 2009

Siebel – EAI Queue – a Critique’

by Nitin Jain


I had introduced the Siebel EAI Queue and its usage in my last articles. Though Siebel EAI Queue is a very good Siebel feature, there are some serious shortcomings as well. An architect would, thus, need to critically evaluate all the pros and cons before deciding to implement the OOB EAI Queue or a custom solution in a Siebel EAI project.

First let’s look at all the areas where Siebel EAI Queues stand strong.

1) No customisation needed
This is an OOB fucntionality. So, no custom coding is necessary. The vanilla BS can directly be called from the WF to help operate the EAI Queues. Custom code comes with its own sets of problems – dedicated human resources, architecting, implementing, testing, debugging, performance, scalability, expandability, robustness.

2) Reduced Implementation time
Implementation time is zero for Logging module. The only effort is to call the vanilla BS at all the places where we want to log messages.

3) Almost no debugging needed.
It is a Siebel OOB functionality. So, I can be sure there are no code glitches and resulting mishaps. If something doesn’t work as it says in the Bookshelf, either my usage is faulty, or it is a Siebel Product Defect

4) Lesser Team size as no concentrated effort on this module of the project.
Why have dedicated human resources working on the Logging and Error Handling mechanism?

5) Robustness
Extremely robust. It works with the file system. So, I don’t think there is a limit on as to how big a file can be stored here. The BS should ideally not fail unless some Siebel Server component itself is down.

6) Performance
Best performance you can ever get I guess. Mother knows best! If Siebel has designed and developed this, I guess, this is as good as it gets.

Do drop in some comments in case you feel I have not done justice to the positives part, and that there are points that I have missed out on. I will update the post accordingly.

But then, as with everything else on Earth, nothing is perfect. I am looking at a very simple requirement – I need to point out as to which message is an Inbound message, and which one, and Outbound. How do I implement it with the EAI Queue architecture?

Think, think, think…

The best I can think of is to extend the corresponding table for the EAI Queue, and the corresponding Business Components. I can also expose them on the UI for better handling. Question – After extending the Siebel objects, how do I use them. How do I populate this new flag called “Inbound Message” for eg, to TRUE or FALSE? The Logging of messages is being done through the vanilla BS. There is no code exposed. Now, if I have to populate this new column, I may be able to do it by scripting the vanilla BS – “EAI XML Queuing Service” after some work with the BS analysing Inputs and Outputs. Maybe, better still, just use a Siebel Operation step after the vanilla BS to update all the custom columns. But then, double query on the same record of the same BC, it’s a performance issue.

This is only one example when I could need to extend the objects with many different custom columns.

Let’s start playing! I want to link the Inbound and the Outbound messages. In a sense, there was an Outbound response to an Inbound request to Siebel. We should map which Inbound maps to which Outbound. Else, we may just be drowned in a deluge of messages. More custom columns, Siebel Links, MVLs, etc. as a solution to this. Maybe with some effort, it’s feasible.

I want to store many different types of files and many different types of messages – as in Erroneous Messages, Error Messages, Log Messages. More extensions.

Generally, all projects have a retry mechanism for all the erronous messages. I have seen SAP Business Services being integrated directly with Siebel EAI Queues. But, for custom queues, customization is the answer I guess.

With time, lots of useful and non useful data gets cluttered up in the Queue. A custom cleaning-up and archiving mechanism is thus inevitable.

Single most important issue I personally see with the vanilla EAI Queue approach is the fact that it interacts with the Siebel Filesystem and not the Siebel Database! The messages are stored in form of files in the Siebel Filesystem, eventually with the large number of Siebel messages coming in, the valuable hard disk space will be cluttered quickly. The Siebel FS size will increase. If there is a Siebel project I am working on, I would not mind having a slightly bigger database. But, unnecassary increase in the Siebel Filesystem is the last thing in the world that I would recommend. Don’t even get me started on the many of the file handling issues with many different flavours of UNIX in the market. I once ran into an implementation wherein I had to change the complete architecture from File based to DB based because the OS as a limitation could only accept at max 256 open file handles! Ridiculous as it may seem, it entailed many sleepless nights on my part to get everything up and woring within a week without any glitches – just can’t forget those!

All in all, my point of view is that, though you may use this implementation as an immediate quick fix, or a nice to have feature, Siebel EAI Queues feature fares horrendously on the Scalability and Expandability front.

If you are willing to play around with Siebel vanilla objects and extend them to suit you requirement no end, this may just be the solution for you. However, please do a deep insight and analysis of your requirements and other available options (basically custom, I guess) to get over this. It is more of an Analysts’ point of view to go with either of the two approaches.

Let me see if I can rope in somebody to explain in detail a nice custom Logging, Error Handling, Retry and clean-up / archiving mechanism.



Related posts:

  1. Siebel – EAI Queue Okay, what are you thinking about? Is it Middlewares in...
  2. Siebel – EAI Queue – Usage I had introduced the concept of Siebel EAI Queues in...
  3. Siebel – EnableServiceArgTracing – Logging Messages Hi, We have already discussed at quite a length the...
  4. Query on the Long Column or Field A typical problem in any EAI project. Others too!! One...
  5. Siebel – EAI JMS Transport Hi All, After being a mere spectator and a regular...
  6. Siebel Server Verification – EVT Tool Verifying the health of our Siebel Server Environment is the...
  7. Siebel – Refresh Applet retaining existing context RefreshRecord() does not work in all cases, does it? This...

Tags: Configuration, Critique, EAI, eScript, Performance, Scriptless solutions, Siebel



For regular updates, enter your email address below. We don't spam, we don't share with others!




This entry was posted on Monday, May 4th, 2009 at 7:08 PM and is filed under Siebel CRM. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

Leave a Reply

Click here to cancel reply.


« Google goats – go green!!
Oracle’s recession strategy »



  • Admin Controls

    • Log in
  • Talk to us

    • Bouquets, brickbats, suggestions, complaints?

    • Click here...
  • Authorships

    • We are currently looking out for active authors. Are you willing to contribute?

    • Please click here

    • Everyone's invited..
  • Subscribe by Email


    • For regular updates, enter your email address below. We don't spam, we don't share with others!

  • Sponsors

  • Subscribe

    • Entries (RSS)
    • Comments (RSS)
  • Siebel Bookshelf

  • Daily Dilbert

    •          
  • Categories

    • Admin Notifications (9)
    • Business Intelligence (2)
      • Actuate (2)
    • CRM (115)
      • CRM News (6)
      • Sage Software / ACT! (1)
      • Salesforce.com (2)
      • Siebel CRM (103)
    • EAI (2)
    • Events (1)
    • FUN 'n' FROLIC (6)
    • Hot Technologies (7)
    • IT News (47)
    • Meet the Author (9)
    • ORACLE (14)
      • Database (2)
      • Oracle Fusion Applications Stack (8)
    • Product Demostrations (5)
    • Uncategorized (4)
  • Tag Cloud

    Admin Admin Notifications Applet Author Introductions Business Component Calculated Function Certification CFG file Client Configuration Critique CRM Database Debugging EAI EIM eScript Fundamentals Fusion Middleware Google IT News License Login Microsoft ORACLE Oracle Fusion Applications Performance problems Product Defect Product Demostrations Salesforce Scriptless solutions Security Server Siebel Siebel Secrets SOA Tips Tools Tricks Tutorials Upgrade User Property Workarounds workflows



  • Archives

    • August 2011
    • July 2011
    • June 2011
    • May 2011
    • April 2011
    • November 2010
    • August 2010
    • May 2010
    • April 2010
    • March 2010
    • February 2010
    • January 2010
    • December 2009
    • November 2009
    • October 2009
    • September 2009
    • August 2009
    • July 2009
    • June 2009
    • May 2009
    • April 2009
    • March 2009
  • Authors

    • Ankit Bhardwaj
    • Ashish Kaul
    • brijesh
    • Himanshu Bajpai
    • Madhvi Arora
    • nanpats
    • Nitin Jain
    • Prachi Sharma
    • Renuka Ankam
    • Vikas Luthra
  • Administrators

    • geeksblogging@gmail.com
    • admin@geeksbloggingat.com
  • Sponsors

Fresh Ideas

  • Login Failed in Dedicated Web Client : MVF Issue
  • Oracle Fusion Applications price list
  • Research to Development - Fusion Apps Series
  • Oracle ACE Program
  • HCM user Experience through UI - Fusion Apps series
  • "Managing Oracle Fusion Applications"
  • Microsoft *previews* Windows 8 - Part 2 now available !!
  • Let's upgrade Siebel CRM to Fusion Apps "right now" !!
  • Ness Technologies bought out by Citigroup Unit
  • Oracle #1 CRM Applications vendor ??

Just Said

  • Amit Sharma on Siebel – Installer hangs midway
  • Khadijah Mosinski on Salesforce.com not upto the mark?
  • Hamre319 on Highrise Customer Relationship Management
  • Nitin Jain on “Managing Oracle Fusion Applications”
  • zama racha on “Managing Oracle Fusion Applications”
  • Nishant Aggarwal on Siebel – License keys don’t work / are invalid
  • Nitin Jain on Siebel – SIA BC Utility Service – Invoke BC Method
  • Pedro Garcia on Siebel – SIA BC Utility Service – Invoke BC Method
  • Nitin Jain on “Managing Oracle Fusion Applications”
  • Nitin Jain on Microsoft *previews* Windows 8 – Part 2 now available !!

Most Commented

  • Siebel - SIA BC Utility Service - Loop multiple records
  • Siebel - Installer hangs midway
  • Siebel - Adding License Keys to Sample
  • Siebel - Popup Update Only
  • Siebel - Reading data directly from Siebel SRF
  • Siebel - Automatic User Logout
  • Siebel - EAI Queue - Usage
  • Siebel - Looping multiple records - Update records
  • Siebel - SIS OM PMT Service
  • Siebel Tools hangs when checking out objects

Old Favourites

  • Highrise Customer Relationship Management
  • Siebel - Autosave Opportunity data - Sample Code
  • Siebel - Autosave Opportunity data - The concept
  • Renuka Ankam
  • Siebel - Merge Records - Checklist
  • Siebel - Fetch Active view properties - III
  • Oracle 11g Certification coming soon
  • Siebel - Fetch Active view properties - II
  • Siebel - Fetch Active view properties
  • Siebel - Automating Merge Records by script - II

If you also want to write on GeeksBlogging@dotCOM, click here. Area of Specialization no constraint. Become Famous!


Entries (RSS) and Comments (RSS).