Dienstag, 28. April 2009

Configuring Siebel efficiently

Improving Siebel Configuration Efficiency

Author: Ioannis Xanthopoulos
Siebel Contractor
ix@ixanos.com



This article presents a practical approach of configuring Siebel using Ixanos ( http://www.ixanos.com/ ).

Configuring Siebel is a very broad exercise. Then again, from a developer’s perspective, it can be broadly categorized to include some or all of the areas listed bellow:

1. Use Siebel Tools / Siebel Client to prepare User Interfaces / Business Logic / Data Layer
2. Prepare programs that are partly or completely hosted outside of Siebel (RDBMS,DLL,JMS, etc)
3. Integrate and test all parts of your solution

During the above steps you will find yourself many times in the position of repeating tasks that you can recall having done before in other projects. Even during your present project you will many times repeat the same thing over and over.

Example: You are about to develop a workflow process and can recall that you have build similar logic in the past. The only thing you remember is that that particular workflow had something to do with the table S_ASSET. But you don’t remember the name of the workflow neither where this particular table was used in (in a workflow-step or in a workflow step argument or in a workflow condition criterion).

You can use Siebel Tools to attempt to retrieve all those workflows, but this would probably be a complicated exercise and it would certainly require more than one queries.

Then again, you can take some time and spool out some SQLs and assemble your own specialized query to meet your needs. This will not only help you understand Siebel better, but it will also set you up for the same task in the future. This is namely what I do. And then I can run the above search in seconds.

The results for S_ASSET could look as the ones shown below. You can see for example that S_ASSET is referred to in 28 workflows and is among others used in the workflow step [RB - Account Membership Approval Workflow] All queries you will write will have to be parameterized as you would want to reuse the query for any possible base table or even for a combination of base tables. Once you have your query the task of building it into Ixanos is simple. Just cut and paste it into the menu creation wizard, determine the dynamic parts by replacing them with tags in the form of [&n] , where n = Integer and next time you will only need to supply the name or names of the tables in order to retrieve the workflows that have something to do with them.

A snapshot of the menu creation wizard for this particular case is: A snapshot of my workflow menu in Ixanos is:

As you see I have queries to fully reveal all workflow processes based on many criteria. Will there be more? Yes. Sure. Depends on what the next project will need.

You could of course prepare menus that speed up your own particular work. The beauty of this is that you can connect to any environment for which you have a suitable JDBC driver and you can define your SQL statements to be database dependent. I have the same multi-windows environment when I run statements against my local Sybase database!

Further on, you can build your own Siebel knowledge database, tailor made to suit your own particular needs. After some time your tailor made Siebel menus would probably look like mine:

For example, an SQL statement that you have prepared for an Oracle 8i database for displaying all inactive database columns that are mapped to active business component fields may not look the same as the one that is prepared for a DB2 v8 database.

During the creation of an SQL menu in Ixanos, you will need to determine the database type. Afterwards and anytime you execute this menu, Ixanos will check if the currently active connection is of the same database type and will complain if its not. If for example you execute an SQL statement defined for a DB2 v8 database against an HSQL database, you will get a message like this:



Except, finding objects using Ixanos it makes also good sense to prepare validation scripts and run them against any new project environment to assess the strong and week points in the repository. A typical example is the query I mentioned above. Namely, to identify inactive database columns that are mapped to active business Component fields. Similarly, you may wish to identify any LOV / EAI datamaps active/inactive differences when switching from one environment to another. You can prepare many queries for this purpose. You could perhaps combine them into a complete repository review.

Further on, I find it very useful to configure Ixanos to export all scripts of the repository into a text file and to index it using Ixanos. Then I can run search engine queries against it. I could then identify a business component field in a business component property and also in a business service simultaneously (in the same query). This gives me a much faster and better understanding of what is there and what needs to be done.

Once you have setup Ixanos to contain most of the queries you need, you only need a USB port to run Ixanos from and you will always have the same front end in all your Siebel projects. You will not need to install it on your project computer, you can simply run it from your flash drive.


Regards
Ioannis Xanthopoulos
ix@ixanos.com
www.ixanos.com

Keine Kommentare:

Kommentar veröffentlichen