Social Icons

Pages

Subscribe:

Thursday, 10 April 2008

Single Sign-On in Siebel


Being a software developer in Siebel, I had numerous opportunities to create something using this tool. Apart from acknowledging client requests which is everyone’s number one priority, like any other developer I also wanted to first get my fundamentals strong in this tool. There were times when I tried 2-3 different ways to deal with one of the old demands and was successful in discovering many new and simpler methods. Since then I always experiment to meet the requirements and never hesitated to play with Siebel.

This led me into using these concepts readily and implementing them in real time. While using Siebel for many servers in my project, the traditional practice to Sign-In every time you open a new Siebel application server was not only exasperating at times but also a shortcoming in terms of Siebel’s user friendly behavior. Searching an answer for this problem I came across the Single Sign-On Process.

For starters, what is Single Sign-In (SSO)?
It is a session/user authentication process that allows a user to enter name and password for only a single time in entire session in order to access multiple applications. The process authenticates the user for all the applications they have been given rights to and eliminates further prompts when they switch applications during a particular session.

Single Sign-On (SSO) is becoming the standard for advanced security in IT sector. This equips us in streamlined, consistent and secure password management policy for every user. Cutting down on the number of passwords issued to users and reducing time spent on administration, support and training, SSO directly impacts the daily user ability.

The following steps need to be followed for configuring Web Single Sign On and the Active Directory Security Adapter.
  1. An ADSI service account will be needed.This service account is one used to bind to the Active Directory and will also hold the shared database credentials.
  2. The service account will also be the web anonymous user for Single Sign On and must have a Siebel login with Web Anonymous User responsibility. This anonymous user does not need a database account.
  3. Create the shared database account. All users will connect to the database with this database account instead of an individual database account.
  4. Create a custom application object manager that will be configured for ADSI security adapter authentication instead of database authentication.
  5. Add the SSO Sales Object Manager to the Siebel Web Server Extension Update the Siebel Web Server Extension eapps.cfg file to include the SSO Sales Object Manager.
  6. Add a new virtual directory to IIS for SSO.
  7. Configure Siebel Web Server for Web SSO. Open the eapps.cfg file and set parameter IntegratedDomainAuth = True in [swe] section and add following parameter in [SSO] section.
- SingleSignOn=TRUE
- TrustToken=token name
- userspecsource=server
- userspec=REMOTE_USER
- StartCommand= SWECmd=GotoView&SWEView=Sales+Home+Page+View&SWERF=1
This will enable the Single Sign On and it will be authenticated by Windows Integrated Authentication.
Configure ADSI Security Adapter Named Subsystem in Server Administration – Configuration; Enterprises; profile configuration tab and set the parameters for ADSI.
If the authentication is stolen then all resources becomes vulnerable. In addition, you need to be aware of whether there are backups to the SSO in the event the system is down; if the Server is down then the network resources will remain unavailable.
Post by Suman Kumar

Monday, 17 March 2008

Scripting Limitations in Siebel CRM


There are nearly 200 different types of objects that can be configured in Siebel to reflect the changes in the User Interface Layer, Business Objects Layer and the Data Objects Layer. Being a Siebel Professional, I often come across complex business Requirements that cannot be met solely by configuration. Siebel Scripting is great for handling these complex needs. But there are a few limitations to be considered while using scripting in Siebel development.
  • 16 KB Size limitation
    In Siebel eScripting, a single method can contain only 16KB of code. But in real life, one may have to go in for heavy customizations of Siebel objects for which 16KB is just not enough. My workaround in such cases is to split large methods into smaller methods.
  • Cannot mix scripting languages in an object
    Most scripting in Siebel is in eScript. But, sometimes we need to use third party system/objects like ActiveX/COM where VBscript is the preferred language. So how do we get to external objects like ActiveX/COM objects from a Siebel Object coded in eScript given that we are not allowed to mix scripting languages in an object?. The solution is that we call another Siebel Object which is scripted in VBscript through which we can finally access the external system/object. This solution works fine. But it does lead to performance issues. Better ideas are welcome
  • Dynamic switching between server and browser side script not possible.
    We can call server script from browser script. But once server script starts executing, it is not possible to call browser script. So, it is not possible to do things like call pop-up a message on the browser side after executing say 10 lines of code on server side. If anyone has any workarounds, please do let me know.
  • Object has to be compiled after every modification.
    Till Siebel 7.8, developers had to compile and re-compile modified objects a every minor change in code. This is a big pain while debugging and a major time-waster. But in the latest version 8.0, Siebel provides “Fix and Go” option with ST Engine which has addressed this limitation. Thank you Siebel!!!
  • Scripts are not always upgradeable.
    Scripts often give errors while upgrading a Siebel Application from one version to another. At times we have had to comment out entire sections so that the technical upgrade can complete. Finding all these problem areas in the script and fixing them is a big challenge during upgrades.
Feel free to comment/discuss/debate!

Wednesday, 12 March 2008

Analyzing Analytics


Dashboard Power
The other day, I was ‘Googling’ for a Siebel Analytics document when I stumbled upon this article which is quite a good example of how the prowess of Analytics is making life easier for commuters. Siebel Analytics now rechristened Oracle BI, helped officials at Manchester airport to cope with the extra pressure of screening additional bags by identifying future trends.

It provided Manchester Airport’s management team with interactive dashboards of flight, passenger and baggage movements. As a result, Manchester Airport lifted the ‘One Hand Baggage Rule’. The full article can be found out at the following link: http://www.computerweekly.com
/Articles/2008/01/07/228771/manchester-airport-lifts-one-bag-rule-with-oracle.htm

It’s a bit of wishful thinking but imagine the ease in travelling if every airport harnesses the capabilities of Siebel Analytics and lifts the above mentioned rule.

This first post of mine in the ‘Analyzing Analytics’ series is an attempt at exposing the readers, be it a neo-techie or a seasoned expert, to the vast capabilities of the end product of Siebel Analytics: The Intelligence Dashboards and the concept of Dashboard centric business operation and management. So let’s discuss what these ‘Dashboards’ are all about.

Case 1: What are the sales for this quarter? What’s the comparison of Sales for this quarter with year ago sales? How many customer accounts are in the red? Such kinds of questions are very common in day to day business analysis. The answer to these and a plethora of similar process oriented questions helps in running a business efficiently.

Case 2:Organizations often have data fragmented across multiple sources like spreadsheets, department specific systems, etc. Often critical data is buried deep somewhere in some file or system in the organization.

Keeping the above two cases in mind, a unified view of the organization is the need of the hour. An Analytical dashboard is just what any organization would desire. It helps in giving a holistic view of business operations, most often using data that has been gathered into a warehouse and occasionally working from operational data. Pre requisites to a healthy dashboard are clean data, a good data model, sturdy data mappings and neat analytics.

Essentially, a dashboard is the final outcome of a Siebel Analytics operation. Based on the metaphor of the instrument panel in a car, the Siebel Analytics version of a dashboard provides a user, mostly business managers, with the input necessary to “drive” the business. Siebel Analytics Interactive Dashboard refers to a web-based technology page on which real time or warehoused information (Reports) is embedded from various sources used in the business.
Analyzing Analytics
Analyzing Analytics
As seen in the above example of Interactive dashboards, business data is displayed infused with an array of user friendly views like Pie Charts, drill-downs, navigations, pivot table summaries, bar graphs, meters and gauges . These dashboards are often role-driven and customizable. They can be modeled to show historical, current and predictive data which leads to measure – based decision making. The biggest advantage of an Interactive dashboard is that it helps in decision making being more fact based and less intuitive.

Dashboard centric management is definitely going to be the next best thing in business analysis. The idea of viewing and analyzing the organizational facts and figures with the help of superb layouts in front of your computer screen is absolutely fantastic. In short, Dashboards are all about infusing ‘Intelligence’ in the business of the organization and a wonderful apparatus for any organization to possess.

Wednesday, 20 February 2008

Issues and workarounds for the Siebel DAC compare and Merge strategy


The Siebel provided DAC compare and merge strategy is a nice tool that helps us identify differences between a source DAC repository and the target DAC repository. Also helps to figure out which objects are to be moved to the target.
But, there onwards the merge process is manual and a big waste of time. One cheat used by many administrators is to simply copy the repository from the lower environment to the higher environment. This works, but it has one major drawback. The last ETL process id is inherited from the lower environment.
The implication is that the run ids stored in the Run Stats table has no relation to the run number stored in the W_PARAM_G table and it becomes a major challenge to figure out which ETL run did what. Then one has to meddle with the DAC repository tables to get the last ETL process being stored in the DAC repository in sync with the numbers stored in W_PARAM_G. This is a risky proposition especially if one has not understood the relationships between the repository tables and the significance of all the long keys stored by Siebel in the repository to maintain the relationship between the tables.
So, here is a solution which we have tried out (with success) to move a DAC repository from a lower environment to a higher environment without making a hash of the run history.The basic idea here is to move only few selected tables from the source environment to the target instead of doing a complete repository overwrite.
The steps are as below:
Step 1: Take backup (Export) from Target DAC Repository make it separate folder(Just for Backup)
Step 2: Import Schema DAC repository into to Target DAC repository
Step 3: Export below mention Tables from Source DAC Repository. Make a separate folder which should contain below mention tables (20) only.
Sr. NoEntityMain Table
1Database ConnectionsW_ETL_DBCONN
2Database IndicesW_ETL_DB_INDEX
3Database TablesW_ETL_TABLE_DT
4Execution PlanW_ETL_DEFN
5Execution Plan—Database ConnectionsW_ETL_DEFN_DB
6Execution Plan—Subject AreaW_ETL_DEFN_SA
7Execution Plan—Pre-PostStepsW_ETL_DEFN_STEP
8GroupW_ETL_GROUP
9Group TableW_ETL_GRP_TBL
10Index ColumnsW_ETL_INDEX_COL
11IndicesW_ETL_INDEX
12Informatica FolderW_ETL_FOLDER
13TablesW_ETL_TABLE
14TasksW_ETL_STEP
15Task DependenciesW_ETL_STEP_DEP
16Task PhaseW_ETL_PHASE
17Task TablesW_ETL_STEP_TBL
18Subject AreaW_ETL_SA
19Subject Area/GroupW_ETL_SA_GROUP
20System PropertiesW_ETL_SYSPROP
Step 4: Import this tables into Target DAC Repository.
Step 5: After importing we need to make some changes in the Setup tab, Database connection and informatica server setup in Target DAC Repository.
Step 6: Refresh all dates (for full load)
The steps to refresh are: Tools–>ETL Management–> Reset Data Warehouse
Step 7: Before running Full Load truncate below mentioned tables, please take backup before truncating.
Tables:
  1. S_ETL_RUN from OLTP
  2. W_ETL_RUN_S from OLAP

Any better ideas out there?
Inputs from Raghunatha Yadav & Sanjay Rao

you can read it More SiebelDAC

Introducing Siebel Street

I would like to welcome you to Hexaware’s Siebel blog– “Siebel Street”. Hexaware’s Siebel practice has been doing wonderful things and we would like to share some of them with you through Siebel Street. In this first post I will introduce the Siebel CRM and describe its capabilities. I will end with giving a sneek peek at some of the forthcoming posts in this blog.
Siebel has been the market leader in the CRM space for more than a decade. It started with a sales-force automation software and then expanded into marketing and customer service applications. It was taken over by Oracle in 2005. Today, Siebel CRM is at the forefront of Oracle’s CRM product strategy. Siebel’s CRM Suite caters to clients in the BFSI, Telecom, Pharmaceuticals , Retail , HI-tech Manufacturing and Transportation verticals among others. Siebel’s Technical architecture provides a top-notch user interface, strong integration, diversified industry-wide applications, easy upgrades and reliable customer support.
Most customers need to change the Siebel application by modifying delivered functionality or by implementing new modules. The customizations in the Siebel applications are implemented using Configuration, Scripting and Workflows. Siebel also provides excellent data management capabilities. Siebel EAI integrates third party applications/objects with Siebel and Siebel EIM populates external data in interface tables and user data in base tables. Siebel Analytics is the business Intelligence application from Siebel Systems. It has been rebranded as OBIEE and will form the centerpiece of Oracle’s BI Strategy.
In Siebel Street, contributors from Hexaware’s Siebel practice will blog about their experience with Siebel CRM and Siebel Analytics/ OBI-EE. We will describe the business and technical challenges, their resolutions and the benefits of our approach. We are working on the entire range of tools available on Siebel. Our team consists of experts in EIM, Config, Integration, ETL, Analytics, Administration and Testing. We will share our project experiences in these areas in the forthcoming posts.
In this month we will post on DAC, escripting etc. Watch this space..
Read More  about  Siebel Street

Improvement in DAC 7.9 – Subject Area Assembly

One of the nice new features in DAC 7.9 is the facility to assemble all the ETLs required to populate a fact using the Assemble button
In the Pre DAC 7.9 days, the process for building a star schema was as below
  1. Think up all the tasks required to populate a star schemas (Basically the Informatica workflows)
  2. Create the tasks and Identify Dependent and Depending on tables manually when creating a task.
  3. Construct a Table Group where one had to figure out all tables that belong to the star schema i.e. the fact and related dimensions
  4. And then at last build the Subject Area
  5. Run the subject area and then curse yourself for not remembering some tables.
  6. Start all over again.
Now
  1. You don’t have to identify Dependent and Depending on tables. There is a sync feature which automatically identifies all the sources and targets which are affected/dependent on a task
  2. The concept of a Table Group is dead. You just have to name the fact to be populated and click on the Assemble button
  3. Click option: selected task only (unless you want to assemble for all subject areas delivered out of the box. Trust me : you don’t want to do this)
  4. The DAC assembles the selected subject area by determining what dimensions and other related tables are required, and what tasks are needed to load these tables.
  5. You will receive an informational message when the assemble process is comp
  6. Hey presto, the Subject Area is ready
But wait a minute,
  1. You still have to do some cleanup and remove unwanted tasks
  2. Click the Tasks tab to view which tasks the DAC has determined are required for this subject area
  3. Tasks that are automatically assigned to the subject area by the DAC are indicated with the Auto generated check mark.
  4. You can inactivate a task from participating in the subject area by selecting the Inactive check box.
  5. When the Inactive check box is selected, the task remains inactive even if you reassemble the subject area.
  6. You can also remove a task from the subject area using the Add/Remove command, but when you remove a task it is only removed from the subject area until you reassemble the subject area
  7. You still have to put in the implicit dependencies i.e. dependencies on tables that are not featured in the select statements or the workflow
  8. Upgrade does not work for custom workflows setup in DAC
There’s still more
  1. Unless you have a lot of time on your hands, don’t try clicking on the Assemble tab when DAC server has been up for some time
  2. Stop the server, restart the client and then click on Assemble
  3. It is much quicker. But don’t know why it works this way
So in conclusion Oracle DAC 7.9 is great and has some nice new features. But upgrading is going to be no fun. More on this later.
–Posted by Raghunatha Yadav/Sanjay Rao
Read More about  DAC 7.9