What started as a simple post for sharing few best practices that turned out to be an eye opening post mainly due to contribution of Paolo and Tiziano by way of comments. I am not sure how many of you look at the comments given by readers but this contribution deserves to be a full-fledged post.
Explanation given by Paolo is enlightening and helps you broaden your view point about Siebel eScript. He is talking about a telecom project in Milan where they developed a eScript Framework called ABS (Later named to ATI).
I am not going to talk much but let you guys read what Paolo had to say about ABS Framework.
Being a Siebel veteran of 10 years, supporting Siebel application is a thing of business as usual until I got knew to ABS Framework. Let see how it changed the way I managed Siebel application and its support:
- We used to have 120K lines of scripts in Siebel application. The old Siebel ES review said it was bad and got to be reduced half of it. The ES never explicitly said HOW to do it, and no one think it is even possible. The system integrator took the case seriously and gathered a team to re-engineer the whole scripts using the ATI Framework (what they called it, or ABS on the documentation). Finally all scripts were reduced to 10K of lines in 8 Business Services. What it meant is the core business logic of our entire telecom OSS was shrunk to 8 BS. This is truly a miracle!
- Initially ES didn’t dare to review the final work as they didn’t understand any of it. Finally they seeked advise from their Oracle Siebel Engineering Team from California. Their reply is simple and powerful – Perfect. Informally the Siebel engineers said the work is a piece of art. I didn’t take it literally until I learned more about it later.
- I believed no one can instantly ever tell the number of business processes in their Siebel application. Well, not only I can tell exactly how many of them (it is 124), but how they related to each other. Are they important? Yes, absolutely yes. When a change or a new requirement came, I will always know where to “tweak” in Framework with the less time and minimal effort. For example, an approval process required certain changes in position and status in the loop. Accenxxxx quoted us 30 days of work. Eventually we did it ourselves and pulled it off in less than one hour in which SRF compilation occupies 30 min. I hope things like that happen more often, so I can get my promotion quickly
- The logging function of ABS Framework is my favorite feature. The logging level and location can be set at System Preferences. There is one special feature called instantaneous logging that kept the support team informed of the errors even before it was lodged by the front desk. Imagine a Siebel user encountered an error and she may spend time to lodge the error with the description and captured screenshot using another application (Mostly they didn’t do it and left bad data in application). This action is no longer needed or critical for our troubleshooting. In the event of Siebel error happened, the error itself was captured on a file (created and written by Framework) with all the necessary information needed for troubleshooting. The rectification is almost instant with immediate feedback. There is something special about the logging format that makes troubleshooting very much easier. Probably Tiziano can shed some light.
- Before the rework, we used to have at least 2 traffic spikes within a day. When a spike happened, we see both CPU and memory’s utilization quickly eat up the Sun servers. Sometimes we have to restart the server cluster on a daily basis. After the rework with ABS, we never see spike happening and the shutdown was back on weekly basis as normal. This has something to do with the framework that always reuses a single copy of business object and component consistently throughout the same session. That’s why it never stresses out the Siebel garbage collection that causes the spikes and instability. Tiziano, correct me if I am wrong.
Full understanding is vital to make the best use of ABS. Sadly to say I don’t understand it fully still. I know how to use it mostly but I don’t know why it is done that way. I am not qualified to start a thread to discuss ABS know-how’s. Perhaps someone out there can enlighten all of us.
If anyone is out there how can put a bit more light on this subject please, please do contribute your thoughts or knowledge. follow the complete conversation and few examples given by paolo by clicking here Next in series >>



(14 votes, average: 3.93 out of 5)