Social Icons

Pages

Subscribe:
Showing posts with label Siebel 8.0. Show all posts
Showing posts with label Siebel 8.0. Show all posts

Thursday, 31 July 2008

Hexalyzer- An analyzer tool to view Siebel repository


The ever changing needs and requirement of Business Process makes it imperative for the clients to upgrade from their previous Siebel versions to the latest one.Besides providing better usability and customer satisfaction, upgradation also provides access to new functionality and software applications.

Upgradation facilitates compliance at a lower cost of maintenance and ongoing operations. By providing “out-of-the-box” solution to requirements upgradation helps to increase the efficiency of the applications and businessWhile we were upgrading from Siebel 7.8 to Siebel 8.0, we faced various challenges during the upgrade such as:-
Analyze Repository and generate detail report of the customized Siebel objects

In order to find the information about customized objects every time users are required to fire a query which slows the response time and increases the load on database.
Unfortunately due to time constraint and unavailability of Hexalyzer tool forced us to perform various lengthy but important tasks manually. This was the time when we realized to come up with a tool which would help the upgrade process to take place faster thereby saving lots of time.
The thought process results in Hexalyzer, to generate the report of all the customized objects based on Inactive objects

Count-list of new and modified objects
Hexalyzer has the major advantage of reducing the overload of bulk operations performed on the database.
Hexalyzer
Hexalyzer automates many such steps and helps the customer to get a broader view of the entire repository. For example by clicking the “New Applet” button the tool will generate an excel sheet with the information of all the new applets created during Upgrade process. Similarly, if one clicks “Modified Views” the information exported to the excel sheet contains the entire modified Views name during the Upgrade process.
This tool is now the part of Post Upgrade task for me and my team. Hexalyzer identifies and reports all the customized objects from the start baseline date for the repository.

Solutions / questions / comments are always welcome.

Thanks for reading this blog.To know more about Hexalyzer

Monday, 30 June 2008

Task Based UI and its Usage


In all the Applications a particular task requires performing several steps to complete it which leads to common issues. Some issues are as follows:
  • Users may not be familiar with the sequence of steps
  • Users may inadvertently skip a step
  • Users often require additional training to complete the task.
Many clients prefer implementing a user interaction style that assists end users in completing such tasks.
The latest version Siebel 8.0 provides a feature called as Task Based UI, which enables us to use wizard-like interface( in this we can Use a wizard- like interface) to guide users through steps in a task. This helps in completing the tasks in (leads to complete some steps of a task in) a prescribed order. It supports forward and backward navigation through a sequence of views. In addition to this we can use the pause facility.
In TBUI one can implement the Branching conditions based on the users input. This can be achieved with the use of Transient BC (TBC). The mechanism behind TBC is that-data is collected and used during the execution of a task but not saved afterwards i.e. Transient data disappears when the task ends.
I worked upon a scenario i.e. Quote Generation which processes the Quotation, Opportunity and Account Information for each and every Quote. Following is the description
Requirement
The Process starts with the enquiry raised by the customer to the Customer Service Representative (CSR) for the same he/she will
  • Create an Opportunity by adding a Customer Account.
  • Create the Product for the same Opportunity from Administration – Products.
  • Create an Quote for the Opportunity.
  • Add the Price list for the Quote; this price should be available for the Line Items (product).
  • Generate the Quote information along with the Opportunity and Account.
Finally that will be delivered to the customer (Account Holder) through mail.
Development
Task, Task Group & Task Pane View: I created a new “Task Group” & a “Task”. Then added that “Task” to the “Task Group”. Later added the “Task Group” to the “View Task Group” named “Task Pane View”.
Views & Applets
I used vanilla Applets such as – Opportunity Entry Applet, Product Form Applet, Quote List Applet, Recipient List Applet etc. Made new Objects by copying the above mentioned applets and then used them on the corresponding Task Views. Also I inactivated the fields in the applet which was not supposed to be displayed.
Configuring TBC & Auto Quote functionality:
There is no change in the BC’s. I used Siebel provided “Auto Quote” functionality for the Quote creation. Due to the requirement of giving a choice to add multiple recipients for the Correspondence I created a Transient Business Component.
Adhoc functionality: All the Adhoc functionality which I used here was vanilla provided.
Pulling Data from Quote to Recipient:The biggest challenge was to pull Quote fields in Recipient BC through indirect Joins. First I created Link between Quote and Correspondence then with the help of Link Specification I pulled the Quote Row Id in the Correspondence then to the Recipient BC. Now by configuring a join in Recipient BC and Quote BC using the pulled Quote Row Id, I pulled all the desired fields of Quote BC.The Below Diagram will help you to understand it more clearly,
Task Based UI
The Final Version of Task flow was looking like the below figure:
Task Based UI
Finally, everything shaped up well and I delivered my first Task Based UI successfully on time. Please put your comments / suggestions.
Inputs from Abhinav A.
Read More about Task Based UI

Monday, 26 May 2008

A test drive with the Siebel 8 ST engine


A new script engine i.e. the Siebel ST eScript engine has been made the default scripting engine in Siebel 8.0.
In case you did not know, Siebel eScript is a scripting or programming language that application developers use to write simple scripts to extend Siebel applications. Till recently, the default script engine for Siebel Tools and Client Applications was the T eScript engine. And ST for the uninitiated stands for Strongly Typed.
If you stayed awake through your programming classes, you might remember that strongly typed languages bind variables to a particular data type. So if you declare a variable to be of type Dog, you cannot abruptly decide to assign a Road-Roller to the variable midway through the program. The good thing about this is you cannot call invalid methods like Road-Roller.bark() or Dog.BlockTrafficAndAnnoyCommuters() by mistake.
The bad thing is that you need to declare more variables and therefore need more runtime memory when using a strongly typed language instead of a weakly typed languages. There are proponents for both types of programming languages. But that is not the issue that interests us here.
What did interest me is that Siebel claims that the ST eScript engine provides the following enhancements:
  • Improved performance and self documentation due to strong typing of variables
  • ScriptAssist utility and
  • Fix and Go feature
I decided to take the ST engine out for a test drive to see if the above claims are indeed true.
In my little experiment, I decided to use a COMCreateObject to pull the data from an external source, in Excel and update the Siebel database. The excel file contained some new records that and some changes to existing records. The update would be triggered on the click of a button which would in turn invoke a Business Service which comprises of many functions.
Here are my findings:
ScriptAssist
I loved the new Script Assist Feature which makes the life of the programmer much easier providing auto-complete, auto-indentation, method listing, and method signature capabilities.
There is no longer a need to remember all the methods related to an object. Just press Ctrl+Space or “.” and ScriptAssist will display a dropdown of all methods and properties available for that particular object.
This is a big timesaver and is highly appreciated by us.
Auto-complete is another nifty feature that helped us avoid a lot recompilation. Just enter the first 2-3 alphabets of a method and it shows the available method name. For example, when I started off with the letters “BusC”, the editor offered to save me the effort of typing in the remaining 5 letters in “BusComp()”. This is similar to IntelliSense technology from Microsoft.
Fix and Go
With Fix and Go enabled, there is no need to compile the .srf to restart the debugger after making a change.
This was a big pain in the bad old days. With fix and go, I hope to have a lot more time to spend on “strategic meetings” near the coffee machine.
Performance improvement because of Strong typing:
I tried to see if I would get any performance improvements by using ST Script by putting an equivalent piece of code created in ST-Engine with another piece of code in Siebel 7.8 T-Engine
Although we ran the code through some 10,000 iterations, we did not see a major difference in the execution time.
However, there should in theory be a performance improvement on account of saving time on type-checking at run-time and compile time.
Also, the code should be more robust as it would not be possible to call invalid methods as it would be in a weakly typed language
So, should I throw away all my T-script Engine code and embrace the new ST-Script Engine ?
It depends on the amount of scripting you have done in your Siebel Installation. If you have heavily customized your objects with scripting, it is going to be a major exercise to verify that the code is working correctly in the new environment.
But once, the upgrade is done, there should be a performance improvement and your application will be more robust because there is a lower likelihood of getting those errors because of calls to invalid methods.
Inputs from Sajid Attar and Abhinav Anand.