Sunday, August 31, 2008

Remove system-wide default settings in Oracle Answers


I am spending much time on delivering Oracle BI EE training these days. I like these opportunities of inquisitive questioning and recently read in an internal doc about creating dashboards to "never use the 'save as system-wide default for this data type' option". Otherwise things would be screwed up.

The privilege to save formatting for columns in answers as system-wide default is in fact a default privilege, so almost anyone can do it. And some research shows that we can really screw things up badly:

First, let's use the Sample Sales demo application, delivered with Oracle BI EE and set the system-wide default for text columns to something like "Garamond, 14 pts, brown color". You can open any request in answer, do the setting and leave the request.

click to enlarge

The dashboard now looks really screwed:

click to enlarge

How to get rid of system-wide defaults

The answer is to be found in the presentation catalog. Buried deep inside the system folder must be the system-wide defaults. And indeed, using Catalog Manager in offline mode we are able to find the metadata subfolder and the _datatype_formats element.

Be very, very, very careful when you do the following! You might screw things up even worse. So make sure you do a backup of the catalog before you start.

Right-click the _datatype_formats element, select Properties and click the Edit XML button. Click Edit again to set the editor in write mode. Then carefully delete the entry that annoys you and save the entry.

Click to enlarge

After restarting the Oracle BI Presentation Service, we can check the dashboard:

click to enlarge


Using the system-wide default for columns of the same data type might result in unexpected and undesired formatting. Using the Catalog Manager you can edit the metadata to remove the entries. However, it sometimes would be best to remove the privilege to save system-wide defaults.

Tuesday, August 26, 2008

siebel.exe switches

...and siebdev.exe too ;-)

siebel.exe, as we all know, is the engine behind the non-zero-footprint flavour of Siebel applications, namely the Mobile Web Client or the Developer Web Client. Some call it fat client, some call it dedicated web client, depending mostly on the year when they first heard about it. Discussions whether the Mobile Web Client is a different installer than the Developer Web Client and whether the Developer Web Client is the same thing as the fat client often reach religious depths.

The installer places a bunch of shortcuts in the windows start menu which usually follow the syntax of

<path to siebel.exe> /c <path to .cfg file>

So /c is a mandatory switch because any Siebel applications consists of the very same executable along with a different configuration file from which it reads the rest of its knowledge.

In order to please the more inquisitive among you, find below a complete list of switches that you can use with siebel.exe. If you know of any other switch, please inform us.

Typical switches (used in shortcuts)

/c Path to .cfg file (required), directory path defaults to <client_installdir>\bin\enu
/d Datasource (as in .cfg file), defaults to local
/l language (optional, language pack must be installed), defaults to enu
/u Username (optional)
/p Password (optional)
/s Path to spool file (optional, to spool all SQL generated by siebel.exe)

Extra switches

/b Path to Browser executable (optional, for multi-browser testing of customer or partner (SI) applications)
/h Debug Mode (used with Siebel Tools for debugging)
/ctsim (often confused with /ctisim, which does not work ;-) CTI Simulation mode (used for demo; no longer valid with Siebel 8.1.1.x and later because Oracle removed the demo driver dll)
/editseeddata allows modification of seed data, often referred to in maintenance release guides
/webservice (followed by a port number) can be used since fix pack to use the Developer Web Client to test Siebel inbound web services.
/z will cause the Developer Web Client to navigate to the Workflow Simulator Wait View. This switch is obviously intended for the Workflow Simulator functionality. Thanks to Richard for discovering this.

And now for siebdev.exe:

siebdev.exe is the engine behind Siebel Tools, which is the only application that does not run in a browser window. However, Siebel Tools is defined in the Siebel Repository and the siebdev.exe works just like the siebel.exe. That is, it reads a .cfg file and an .srf file (the file that newbies usually try to compile to during their first steps with Siebel Tools).

So siebdev.exe accepts most of the switches that siebel.exe does, namely /c, /d, /u, /p and /s.

But there are some additional switches, used in conjunction with the "classic" ones. They have been passed along from consultant mouth to consultant ear for eons before they found their way into the documentation.

/bv runs all validation rules for the entire repository, so take your time
/batchimport automates the import of .sif files
/batchexport automates the export of objects to .sif files
/bc allows to run batch compilation
/tl language (typically used with /bc for multiple language deployments)
/applybatchpatch is used for applying batch patches, or patches in batches.

Have a nice day


Saturday, August 23, 2008

Live Oracle BI EE application

just wanted to let you know

Do you know that feeling: Having that great idea how to implement that very special feature in Answers or dashboards and no Oracle BI EE installation at hand?

If so, then...

...get a life ;-)

or use the live Oracle BI EE application provided over the internet.

This is a link I found on the Oracle Czech BI/DW blog, which is in Czech. In case you want to read it in english, click here.

Thursday, August 21, 2008

Siebel Query Language - an Example

Romeo and Julian...

About the Siebel Query Language

First of all, it abbreviates to SQL which is kind of funny, of course it has nothing to do with SQL.
Just like you can get more out of a spreadsheet application like Excel when you are familiar with its internal functions and syntax, you can get much more out of Siebel CRM if you are familiar with the Siebel Query Language.

Where is it used?

The answer to this question is very interesting, it is used almost everywhere when you define expressions. It is available in both Siebel Tools and the Siebel Web Client and since version 8.0 both the developement environment and the Web Client (that one since 7.0) sport an expression designer.

Expression Designer in the Siebel Web Client
click to enlarge

Expression Designer in Siebel Tools (since 8.0)

Here is a probably complete list of areas where you can use the Siebel Query Language:

Siebel Web Client
  • Predefined Queries
  • Conditional Expressions for Personalization Rules
  • Conditional Expressions for Runtime Events
  • Data Validation Manager rules
  • Data Map Editor
  • [Update] iHelp branching expressions

Siebel Tools
  • Calculated fields
  • Pre-default and post-default values for fields
  • Field Validation property
  • User properties
  • Expressions in Siebel Workflow and UI Tasks

Where is the reference?

The Siebel Query Language is documented in the Personalization Administration Guide of the Siebel Bookshelf.

An example:

The following is an example for a predefined query. The task is to filter the list of contacts so that it displays only persons that have their birthday in the current month.

Working with date fields can be tricky and you just can't type something like *June* in a date field. This is where the date functions, also known as julian functions come into play.

Our first choice would be the JulianMonth() function. This function takes a date field as a parameter and returns the julian number of the current month which is for example 80660 for August 2008. So the nerds among you will have quickly calculated this back and month #1 is of course January of 4713 BC.

If we want to query for persons who have their birthday in the current month, then the JulianMonth() function alone is not helpful because the return value for August 1968 is different from August 2008, so we need a way to extract the month number (1-12) from the date. This can be accomplished by multiplying the julian year number (6721 for 2008) by 12 and subtracting it from the julian month number.

So the equation is: # of current month = JulianMonth(Today()) - JulianYear(Today())*12

This equation will be the base for our query in Siebel CRM. So basically if we want to match the Birth Date field of a Contact with the # of current month, the query goes as follows:

JulianMonth([Birth Date])-JulianYear([Birth Date])*12 = JulianMonth(Today()) - JulianYear(Today())*12

Creating the predefined query:

Usually you can enter even complex queries directly in any control or list column of the applet (in query mode) but there are restrictions in field length and data type. So here is a way that always works.

Navigate to the Contacts List and save the current query (even an empty query would do).

click to enlarge

Navigate to Site Map -> Administration - Application -> Predefined Queries and retrieve your previously saved query.

Replace anything that might be between the two double quotes after 'Contact'.Search = with
JulianMonth([Birth Date])-JulianYear([Birth Date])*12 = JulianMonth(Today()) - JulianYear(Today())*12

So finally it looks like this:

click to enlarge

In the Household Contact view you can enter some birth dates and run your test in the contact List. I have added the Birth Date field to the Contact List Applet to verify.

List of contacts with a birth date in August
click to enlarge

Saturday, August 16, 2008

Register Business Services in Siebel 8


Whenever you wish to use an external script such as browser script (which IS external because it runs in the browser) to call a method of a Siebel Business Service, you have to declare this Business Service so that the application accepts the call.

This is a security feature which has been introduced in Siebel 7.5.

Because otherwise any script kiddie could inject javascript code into the Siebel Web Client, call any Business Service and wreak havoc.

Most of you are familiar with the odd entries in the applications .cfg file

ClientBusinessServiceN = Name of the Business Service
(where N is a sequential number)

However, during some upgrades to Siebel 8, things went bump in the night.
That is, their browser scripts didn't work anymore, and adding the line to the .cfg file didn't help either.

Here is the solution, and it is in fact related to the year-long effort to get away from text files to configure server components. So since Siebel 8 you have to declare the Business Services which you would like to call from external scripts as an Application User Property.

Migration is rather easy, because they have the same syntax as in the .cfg file.

As you can see in the screenshot below, also PDQDisabledViewN made it into the Application User Props.

Tuesday, August 12, 2008

Oracle BI EE has arrived

A new release of Oracle BI EE, formerly known as Siebel Analytics has been made available for download last week. There are several new features and interesting points about the product direction.

My personal highlights are:

  • Integration with EPM Workspace and Smart Space
  • Discoverer .eex to .rpd migration tool
  • New sample application with support for marketing segmentation
  • Enhanced wsdl support for BI Publisher
  • Enhanced DAC Client (released independently) that supports upgrades from Analytics 7.8.4

But let's discuss each feature in detail. Most of this information is taken from the documentation and while the product is still hot from the oven, I was lucky to try a few things. As with all new features, they will have to prove their practicability in real life. We'll see...

General New Features

Integration with Oracle EPM Workspace, Fusion Edition

Oracle Enterprise Performance Management Workspace (EPM Workspace) is a component of Oracle's Hyperion Foundation Services. It is the central Web interface for users to access all Performance Management content and tools. In the new release, the following Oracle BI EE applications have been integrated into EPM Workspace:

  • Oracle BI Answers
  • Interactive Dashboards
  • Delivers
  • BI Publisher

Integration with Oracle Smart Space, Fusion Edition

Oracle Smart Space is a personalized information delivery solution for Business Intelligence and Enterprise Performance Management that uses configurable desktop gadgets to deliver BI and EPM to every user in the enterprise, utilizing the Windows desktop. In addition, Oracle Smart Space includes a development toolkit for creating additional gadgets that employs common development languages and methodologies and a secure instant messaging system for shared decision making.

You can launch and interact with Oracle BI Interactive Dashboards, Answers requests and BI Publisher reports in the Smart Space Content Viewer and Smart Book gadget and add them to the Favorites gadget. You can use Smart Space Collaborator to share Oracle BI content with other Smart Space users. You can also configure iBot results to be sent as Smart Space notifications and view these in the Notification gadget.

You can set up for users to download Oracle Smart Space and Oracle Smart View for Microsoft Office from within Oracle BI. Once Smart Space is connected to Oracle BI, you can use Windows Explorer to browse the Oracle BI Presentation Catalog and see the folders (Shared Folders and My Folders) and documents (Dashboard and Answers request) that are available to you.

Migrate Discoverer eex files to rpd files

The new release includes a utility to accelerate the migration of Oracle BI Discoverer metadata (in the form of an EEX file, version 10.1.2 or higher) to Oracle BI EE metadata (in the form of an RPD file). The utility is a command line executable (MigrateEUL.exe) and accompanying properties file that can be found in the \OracleBI\Server\bin directory. An instruction document can be found in the \OracleBI\Server\Document directory. Reading the document, you find a chapter named "Why migrate to Oracle BI EE?" and the answer is given as a summary of the Oracle BI EE functionality and benefits. The rest is up to you...

The screenshots below show a first encounter with the utility. I have converted a simple Discoverer EUL into an rpd file. It completed the task without errors, however there is additional manual work to be expected within the rpd file.

migrateEUL.exe command line utility, click to enlarge

rpd file generated by migrateEUL.exe, click to enlarge

Time-aware line charts

A new type of line chart (Line Time Series) is available to plot time series data. The chart automatically scales the X-axis based on the time that has elapsed between data points. The chart requires a single date or date-time data column to be selected on the X-axis. It has a single Y-axis, but supports multiple data series. There are several formatting restrictions for this chart type.

New line time series chart, click to enlarge

Support for Oracle WebLogic Server 10.x. (formerly known as BEA WebLogic Server)

You can use Oracle BI EE and Oracle BI Publisher with the Oracle WebLogic Server

New Sample Oracle BI Application and Data Set

A new sample Oracle BI application and data set called "Sample Sales" has been designed to better and more fully illustrate the capabilities of Oracle BI It showcases presentation (Answers formula building, resentation Variables, Filtering, Layouts, Navigations, and so on) and modeling techniques. The content is designed to demonstrate as much as possible of OBI EE capabilities and is primarily meant to help customers who want examples and templates to extract ideas from. This new set is meant to replace the former Paint sample content. The new Sample Sales application includes numerous reports organized in 20 dashboard pages around the following:

  • Rankings and Toppers
  • Trends and History
  • Tiering and Distribution
  • Detailed Reports
  • Lists and Segmentation (Marketing)

Particularly nice features of the new sample application are the detailed help and the good quality of sample data. I am also positively surprised about the presence of marketing metadata, because the marketing segmentation functionality is something that probably only a few people using Siebel Marketing are aware of, yet it can be used standalone as well.

Sample Sales comes with a detailed online help, click to enlarge.

The Rankings and Toppers dashboard of the new sample sales application

Marketing Segmentation: Prompted Segmentation and Contact Planning Rules

The segment designer now supports the "is prompted" operator as filter criteria which enables passing of values (such as a list of customer Ids) into the segment, thus enabling dynamic segments for so-called event triggered campaigns (also referred to as inbound campaigns).

Contact planning rules allow a company to place volume, frequency and recency rules on all forms of communication across customer, channel, and program dimensions. Rules are created as special segments which act as a filter for other segments.

Segment Tree Designer

New Features for Oracle BI Publisher

Besides the integration with EPM and Smart Space, which we have discussed above, there are the following notable new features for BI Publisher:

Support for multidimensional data sources

Oracle BI Publisher can now access the following multidimensional data sources:

  • Oracle's Hyperion Essbase
  • Microsoft SQL Server 2000 and 2005 Analysis Service
  • SAP Business Information Warehouse (SAP BW)

as Venkatakrishnan already described in his blog, do not expect more than the possibility to enter an MDX query.

Expanded web service

The web service PublicReportService has been expanded to support more operations.

"After Report" Triggers

BI Publisher now provides the ability to set up an HTTP notification as part of the report schedule. When the report completes, BI Publisher will send a notification to a designated URL, along with the report job information. A remote application can use this information in conjunction with the BI Publisher APIs and Web services to access the job details, including the report output and XML data to enable third-party postprocessing of the report.

BI Publisher accepts Web services that return complex data types

In previous releases, BI Publisher could accept only simple Web services that returned simple data types, such as string and Boolean. The Web service data source user interface has been enhanced so that once you provide the WSDL, BI Publisher presents you with the list of Web services that are available from the WSDL, the methods available within the selected service, and the required parameters for the selected method.

First test for the extended wsdl support using a wsdl from Siebel looks good.

Enhanced Analyzer for Excel

The new property "Disable Client Access from Analyzer for Excel" enables you to control the method used to download data to Microsoft Excel at the report level.

Enhanced Template Builder

The Template Builder for Microsoft Word has these enhancements

  • page break support
  • support for additional chart types (Combination, Scatter, Bubble, Stock)
  • more properties supported for charts
  • support for multiple measures in charts
  • enhanced crosstab features (Totals, Formatting)

New Features for Oracle Business Intelligence for Microsoft Office

Several enhancements were made to the BI Office plugin. Click to enlarge.

Ability to enable logging

You can enable logging in the BI Office Add-in on the Advanced tab of the Preferences dialog. Log messages are written in an HTML format to files in the BI Office Add-in installation folder.

Enhanced BI Catalog Task Pane

Chart views in the BI Catalog are identified by a chart type icon that is specific to that chart type. There are icons for bar, area, horizontal bar, line, line-bar combo, pareto, pie, and scatter chart types.

Ability to preserve Excel conditional formatting during refreshes

The BI Office Add-in can preserve any conditional formatting on data that you define using Microsoft Excel functionality.

Support for gauge and funnel views

You can add gauge views to Microsoft PowerPoint and Excel documents. The gauge view is available for insertion as Image and Flash (PowerPoint only). You can add funnel views to PowerPoint and Excel documents. The funnel view is available for insertion from the BI Catalog as an image in both Excel and PowerPoint.

Edit prompts and levels after insert

When you insert a view in an Excel or PowerPoint document, you can edit or change the levels or prompts for that view

Enhanced prompts selection interface

Support for prompts has been enhanced to provide the following prompt properties that are available in Answers:

  • Multi-selection of values
  • Search for prompt values
  • Shuttle UI for selecting multiple values
  • Cascading prompts where the value of one prompt limits the values available in a subsequent prompt
  • Skip prompts
  • Enter ranges of values
Support for grand totals in table views

Support for inserting BI Answers request views to Excel and PowerPoint that have been constructed using Set operations

BI Office supports inserting BI Answers request views to Excel and PowerPoint that have been constructed using Set operations. Set operations combine results from two or more requests into a single request. The request can be constructed using any of the following Set operations: Union, Union All, Intersect, or Minus.

Server Independence

Views inserted in Excel and PowerPoint documents by the BI Office Add-in connected to one server can now be refreshed by connecting BI Office against a different server, as long as the view definitions are the same.

Transparent compression of results

New settings have been added in the BI Office Server configuration file that allow an administrator to specify whether compression of results should take place before they are transmitted to the BI Office client, and to specify the minimum size of the result set beyond which the results should be compressed.

Support for NT Lan Manager (NTLM) Authentication Protocol for Microsoft Windows

BI Office connections that run on supported Windows client operating systems that use Active Directory as the LDAP server for Windows authentication can now connect to Oracle BI Enterprise Edition without requiring the user to enter a user name and password, provided that Oracle BI EE is configured to authenticate against the same Active Directory server.

DAC (Data Warehouse Administration Console)

I was surprised to find a standalone installer for the DAC on the download page. Typically the DAC is installed and used together with Oracle BI Applications (current version 7.9.5) and is used to orchestrate the ETL processing. The user guide reveals many new and interesting features. The new DAC Client comes with a nice online help and tutorial(!).

DAC login dialog with online help

These are new features of DAC

User Management

The User Management feature enables you to create and manage user accounts. Three roles are available with different depth of privileges: Administrator, Developer, and Operator.

DAC Repository Database Authentication File

Upon logging into DAC for the first time, the DAC Repository Database Authentication File authenticates the database in which the repository resides. When you configure a connection to the DAC Repository, the configuration process includes creating a new authentication file or selecting an existing authentication file. The authentication file authenticates the database in which the repository resides. A user with the administrator role must distribute the authentication file to any user account that needs to access
the specified DAC Repository.

Multi-Source Execution Plans

There are two types of multi-source execution plans:

This type of execution plan extracts data from multiple instances of the same source system. For example, a business might have an instance of Oracle EBS 11i in one location and time zone and another instance of Oracle EBS 11i in another location and time zone.

This type of execution plan extracts data from one or more instances of dissimilar source systems. For example, a business might have an instance of Siebel 7.8 in one location, an instance of Oracle EBS 11i in another location, and a second instance of Oracle EBS 11i in yet a third location. You can also stagger the timing of data extraction when you use this type of execution plan.

Repository Audit Trail

The menu option DAC Repository Management > Repository Audit Trail enables you to access the Repository Audit Trail, which stores information about users, machine IP addresses, and repository timestamps.

Actions Feature

Provides a flexible way to drop and create indexes, truncate and analyze tables, and define SQL scripts to enhance task behaviors. The Actions feature enables you to define and run SQL scripts to carry out various actions in relation to indexes, tables, and tasks.

Upgrade/Merge Wizard

Probably one of the most desired enhancements is the possibility to upgrade an existing DAC repository, even from Siebel Analytics 7.8.4. Previously, upgrading the DAC repository from 7.8.4 to 7.9 meant hard manual labour. The wizard can also be used to merge a development repository with a production repository of the same version, this being a feature that has been there in 7.8 but was missing in 7.9.

New installer for the DAC, note the Fusion Business Intelligence logo.

Phew, this was a big one, let me now have a break and if time allows post some details on these features later.

have fun


Monday, August 11, 2008

Siebel Essentials Blog is funny and interesting

office humor, eh ;-)

glad that humorous posts fresh up the discussion, I found that my post on staying close to the standard in Siebel CRM projects has been cited on another blog site. It is very good to see that there are now several blogs on Siebel CRM to be found on the internet (please see the blog roll on the left).

Sunday, August 10, 2008

Siebel Server System Alert Notification

E-mail for you...

Triggered by an inquisitive mind, I have recently tried out the System Alert Notification Feature of the Siebel Server. This feature has been introduced in Siebel 7.7 and allows server components to notify administrators via e-mail when error conditions occur.

The following describes the setup procedure for a simple test scenario.
The scenario assumes that you have an SMTP server up and running as well as a Siebel Enterprise Server installation.

1. Configure the System Alert Profile

You can use the preconfigured System Alert profile with the alias "AdminEmailAlert".
Navigate to Site Map > Administration - Server Configuration > Enterprises > System Alerts.
In the Alert Parameters list, set the parameters according to your environment. You can do it in the GUI or if you prefer the srvrmgr command line here is a template for an input file:

change param,,
Message='This is a message from your Siebel Server: '
for named subsystem adminemailalert

click to enlarge

2. Enable notification for a server component.

Let's try it with the Workflow Process Manager:

Navigate to Site Map > Administration - Server Configuration > Enterprises > Component Definitions.
Query for the Workflow Process Manager component definition.
In the Component Parameters list query for *otification* to find all parameters related to notification.

Set the parameters as follows:

Notification Handler = AdminEmailAlert (the name of the system alert profile you modified in step 1)
Notification Action on Task Ex(it) = 1 (Note: this is an advanced parameter, to set it in the GUI, click the Advanced button)

Here is an input file template for srvrmgr:

change param NotifyHandler=AdminEmailAlert,
NotifyOnTaskExit=1 for compdef wfprocmgr

To verify you can use the following command:

list advanced params %otification% for compdef wfprocmgr

click to enlarge

Be a good boy/girl and shutdown and startup the Workflow Process Manager

3. Test

For testing reasons you can simply start a job with no parameters for the component.
Navigate to Site Map > Administration - Server Management > Jobs and create a new job record for the Workflow Process Manager.
Do not enter any parameters and click Submit Job
Press ALT+ENTER to refresh the list. The job will soon change its status to "Error".
Check the e-mails for your test account. Voilá:

click to enlarge

4. How it works

Any component which has the notification enabled as in step 2 will call the Siebel Administrator Notification Component (alias: AdminNotify) on the Siebel Server it resides on. So it is crucial, that this component is in an online state.


Notification e-mails can be sent from any Siebel Server component to one or more e-mail accounts (comma separated list). The setup is straightforward. Watch out for the advanced parameter NotifyOnTaskExit which has a default value of 0 (zero, no notification) and has to be set to 1.

Thursday, August 07, 2008

Oracle Master Data Management

a closer look

These days I am reading a white paper on Oracle Master Data Management (MDM). A customer is interested in training on MDM and I wanted to find out what role the Siebel Customer Data Integration (CDI) and Universal Customer Master (UCM) solution and Oracle BI EE (formerly known as Siebel Analytics) play in the Oracle MDM offering.

You can download the technical white paper on the Oracle Master Data Management website.

The paper is in fact helpful to help us define the problem areas of existing IT infrastructures, the half-baked solutions that lack the power to combine operational and analytical data into a single view of the customer. It also defines the ideal information architecture and gives a nice overview of the Oracle products (yes, including Siebel CDI, UCM and Oracle BI EE) available to build or buy an MDM solution.

The N² problem

It starts with the N² (n square) problem that occurs when data synchronization between transactional applications is accomplished with code. IT managers all over the globe experience this on a daily basis.

Enterprise Application Integration

Of course there is a more elegant solution established over the last decade which is usually described as an information bus or hub-and-spoke topology, supported by Enterprise Application Integration (EAI) technology.

Service Oriented Architecture

EAI has recently evolved into serice oriented architecture (SOA) where interfaces can be called from an application's service layer independently of the programming language or software platform. SOA is more than just synchronizing data, it also supports business process orchestration across separate systems.

Data Quality

So when your IT infrastructure has evolved to SOA, you will find that the old saying "garbage in, garbage out" is more true than ever before, because data quality is crucial to successful business process integration. So the paper concludes that an MDM solution that really deserves this name must also embed data quality solutions.

Data Warehousing, Business Intelligence and Reporting

Most companies today have established data warehouses and ETL processing that pulls data from the transactional systems into the DW. And most of them have invested in Business Intelligence tools to analyze the billions of records that they store in the DW in order to drive business decisions.

So far so good.

But the following should make us think twice:

  1. Company A rolls out the new CRM system.
  2. A few years later, the analytical CRM project is started
  3. Shortly after the first pilots, the data quality project is launched.

So the BI system suffers from the poor data quality of the transactional systems. Garbage in, garbage out again.

An ideal information architecture

The paper boldly announces the ideal information architecture which brings the MDM system into play as a central instance which enables metadata and data cleansing and forms the base source system for ETL.

Building an MDM solution using Oracle Products

Today, after uncounted strategic acquisitions, Oracle is able to support the ideal architecture with its software stack. So let's look at the architecture from a software perspective.

  • Oracle 11g with RAC for the Database
  • OWB for ETL and Profiling
  • ODI for ETL and Data Migration
  • Master entity data models
  • ESB for integration
  • BPEL PM for orchestration
  • Portal for the user interface
  • IdM for managing users
  • WS Manager for managing services
  • BI EE for analytics
  • JDeveloper for creating or extending the MDM management application.

Oracle utilizes these technologies to build its MDM Data Hubs. Customers who want to build their own MDM solution should use these components as well.


MDM can be seen as an approach to solve the common IT problems like ever increasing data volume, poor data quality and lack of business insight.

Oracle offers a variety of products to build a solution and also offers pre-built MDM applications like Oracle Customer Hub and Oracle Product Hub.

Siebel CRM is represented by the Siebel CDI and UCM applications and by Oracle BI EE (formerly known as Siebel Analytics).

So to get full grips to an MDM solution, there is a lot to learn and a lot to gain.

have fun


Sunday, August 03, 2008

Close to the Standard

"Once bitten, twice shy"

If you have the opportunity to observe some of the Siebel CRM projects (or any other standard enterprise software project) across the globe, however small or large they may be, there is a familiar pattern:

  1. Phase of enthusiasm
  2. Learning phase, along with the assurance to "stay close to the standard"
  3. Pilot phase during which most of the requirements become clear (and complex)
  4. Land of oblivion (where the first thing to be forgotten is the promise of 2.)
  5. Regression to coding (believing that writing custom code can solve all problems faster and easier than standard functionality)

These are some typical phases (hope you also note the satirical aspect) that a typical project goes through.

However, we are talking about standard software, which means frankly that the customizing developers at the customer site find themselves in a race against time and hundreds of developers in the Oracle offices who are determined to create another splendid version (Siebel 8.1 is just around the corner these days).

So when a project has matured and all requirements are solved, the upgrade project typically comes next. And it is during the first attempts to upgrade the more or less customized application to the newest version when the whole thing seems to blow up (# 5. of the above list being reason #1 for the blow-up in most cases).

So we can add to our list

6. a phase of frustration
7. the vow to stay closer to the standard after the upgrade, which is immediately followed by
8. the requirement to upgrade the application (which is complex)
9. The land of oblivion... - we had that before ;-)

To cite a customer: "What does 'close to the standard' mean? How can we solve our very complex requirements if we are not allowed to add custom code? How can we customize the applications and remain upgradeable?"

The answer to the first question: "Thoroughly observe and clearly understand the standard functionality and metadata and when you implement solutions, let your developers behave the same way the developers at Oracle do."

Let's elaborate on this using the Siebel CRM Repository as an example.

Since Siebel 7 was brought on the market in 2001, we can observe that any new module (e.g. Siebel Loyalty in 7.7, Customer Order Management in 7.8), however complex its functionality may be, can be dissected into the following:

1. The basic objects

Metadata objects like applets, business components and tables which allow users and EAI processes to create, read, update or delete data needed for the new module. The Siebel Essentials or Core Consultant Course teaches how to create and modify these objects and how they refer to each other.

The following is a chart familiar to those who benefited from these courses

Summing up, we can say that adding or modifying objects of these 10 basic types is "close to standard" because this is exactly the way how the standard application is created.

OK, we now have nice views and applets and they allow us to read and manipulate data. But how does the additional functionality come in here? The answer is:

2. Business Services

These are metadata objects which (since Siebel 2000) serve as globally accessible capsules of functionality (i.e. code). So whenever an Oracle developer is asked to implement some functionality that is not available in the current application, he or she will write code and place it in the repository as a business service.

This is in fact the answer to the second question: You are indeed allowed to write custom code, but you should have it written as a business service" and - being a loyal Oracle University instructor - I would add "And your developers can learn how to do this in the Siebel Scripting Workshop."

A quick look at the current standard Siebel CRM repository (SIA 8.0) reveals a rich library of more than 1000 highly reusable and well-documented (along with many not-at-least-documented - keep your fingers off those) business services.

List of business services in Siebel Tools

OK, so we now have the data access and reusable services, but what if I need to call these services one after the other and combine them with my custom code. This leads us to the 3rd ingredient of standard Siebel CRM applications:

3. Workflows

Siebel Workflow allows developers to combine classic Siebel operations like creating or updating records with standard or custom business services along with decision logic and exception handling. Siebel Workflow is highly scalable and tests have proven a very high performance (outdoing scripted code by factors).

The tool of choice of Oracle developers to orchestrate reusable services into, yes, yet another service (that's what a workflow really is: just another service which you can call from literally anywhere) is Siebel Workflow.

Open the list of standard workflows in Siebel Tools and see for yourself. The current version (SIA 8.0) comes replete with more than 1000 standard workflow processes for literally any kind of functionality such as pricing, integrating with SAP, marketing or customer-facing processes such as quote-to-cash or forgotten passwords.

Example for a standard workflow

Summary (= Answer to the third question and I will make this short):

Focus your customizing investment on the 10 basic objects, business services and workflow and your project is close to the standard and therefore easily upgradeable.

Friday, August 01, 2008

Oracle BI courses accepted toward Siebel Analytics certification

get certified

Until recently, all those who took one of the Oracle BI classes and wanted to pursue the certification (which is still based on Siebel Analytics 7.7 and the respective course offerings) found to their dismay that Oracle Certification only accepted those for the exam who sat the Siebel 7.7 Analytics classes.

However, these days the following message appears on the Oracle University website:

"Due to the decreasing availability of the Siebel 7.7 Analytics courses, Oracle Certification will accept the Oracle BI courses toward Analytics certification. However, please remember that the Siebel 7.7 Analytics courses remain the best way to prepare for these exams and Oracle BI courses may not sufficiently help prepare candidates."

click to enlarge

It is in fact true that the Oracle BI courses do not cover all the topics that might be subject in the exam, but it is a good solution for those who wish to add "Certified Professional" to their business cards.