Monday, February 27, 2012

OBIEE 11g: Vertical Scale Out

Inspired by a post from fellow blogger Senthil, I would like to share my own findings on a simple vertical scale out of an Oracle BI server. Since version 10g, I have not yet had the privilege to lay my hands on the cluster feature of OBIEE. Having a second server (on the same physical host) is adding at least a bit of failover security and load balancing to the system.

So here are the steps I executed to add a second BI server to an existing OBIEE instance.

1. Increase the number of servers

In Enterprise Manager, navigate to Capacity Management/Scalability. Click Lock and Edit Configuration. Now you can set the desired number of components.

After clicking Apply and Activate Changes, it's time for setting up the global cache.

2. Set up global cache

Because we will have two BI servers, they should use a global cache directory for metadata (BI servers will maintain their own cache even in a cluster). Create a shared directory on your server and ensure that it can be reached via UNC path. In the Capacity Management/Performance tab, lock the configuration and enter the UNC path to the cache directory and set the maximum size.

After clicking Apply and Activate Changes we can verify that a second BI server exists, but is not yet started (screenshot shows a started server nonetheless).

3. Restart all components

Use opmn or EM to restart all BI components, so that the cluster controller and the cluster members pick up all settings correctly. We can use the Administration Tool in online mode to verify the cluster configuration.

Please note that this is just a simple vertical scale out on a single host. Even better failover security can be achieved by hosting the BI components on different physical machines.

have a nice day


Wednesday, February 22, 2012

Updated: OBIEE is here

Well, you really had to surf the web yesterday with your eyes shut to not get the news that Oracle has released the latest version of its business intelligence flagship.

The community is already abuzz with postings about new features and enhancements, so for now, I'll just provide a compilation of recommended reading.

Mark Rittman always manages to provide indepth information from the start.
Make sure you visit Adrian's blog frequently for news on
fiston also shares a nice compilation of new features.
Michael Verzijl posted a comprehensive list too.
Check Antony's blog for information about
Bravesoft has some details on BI Publisher enhancements.

Sparklines didn't make it into OBIEE but hopefully the next release.
(Thanks to Mark for the update)
The software is available on Oracle's Software Delivery Cloud or OTN. The documentation can be downloaded from there as well and there is an online version as usual. A good resource to check out the "What's new...." pages.

As most of you are aware, OBIEE is the base for Oracle's Exalytics machine, so you might want to check out some information on this as well.

Update: Antony Heljula has compiled a no-further-questions-thank-you-sir FAQ on Exalytics.

have a nice day


Monday, February 20, 2012

Inside the Shuttle Applet

A while ago, I was asked to go into a bit more detail on shuttle applets in Siebel CRM. As they belong to the multi value family in Siebel, they can be a bit tricky to understand. So here are my findings:

Two in one:

The shuttle applet is in fact a browser window displaying two distinct list applets. The one on the right - generally known as "MVG Applet" is of type MVG and displays the records associated to the parent record in the current M:M relationship. The applet to the left is of type Association List and is also known as the "Associate Applet" or "Assoc Applet". The Associate Applet displays a list of all records available as potential children for the current parent record.

Siebel veterans might remember version 7.5.2 and earlier where these two applet types never appeared side by side but only one at a time. When you clicked the MVG icon in those early versions, the MVG Applet (associated with the Control by the MVG Applet property) popped up. Only after clicking the New button on the MVG applet, the Associate Applet (associated with the MVG Applet by means of the Associate Applet property) appeared and allowed the selection.

But those versions are - so I dearly hope - long gone and ever since the new standard is the "Shuttle Applet".

Here's a screenshot of the Account Address Mvg Applet and the Com Address Assoc Applet bound together in a shuttle applet window:

Click to enlarge
I have taken the freedom of framing the areas controlled by the two applets with different colors. Let me explain a bit further:

The MVG Applet (red frame) provides the following controls:

  • The MVG list body to the right
  • The Add >, Add All > (if present), < Remove and << Remove All buttons
  • The OK button
  • The Selected label
  • The applet title in the browser window title bar
The Associate Applet (green frame) provides these controls:

  • The list body to the left
  • The Find and Starting with fields with the Go button above the MVG applet
  • The New, Delete and Query button (if present)

The  Add > and other buttons as well as the Selected and Available labels are only visible in "shuttle mode". This is accomplished by setting the Mode property of the Applet Web Template Item to a value of More. The screenshot below shows the Applet Web Template Items of the Account Address Mvg Applet.

Both applets, by the way, are referencing the same business component. As stated above, the shuttle applet is used only in a M:M parent - child relationship.

Siebel bookshelf has more on this topic and there's of course more for future posts.

have a nice day


Thursday, February 16, 2012

Let 'em Roll

As a long-time valued reader of this humble blog, you know that I take linking serious. This is why you find an extensive blogroll on the right hand side of the page.

At the moment, 40 Oracle BI blogs, 26 Siebel CRM blogs and 35 other Oracle and IT related blogs are listed. That is a total of 101 blogs.

Recently, I noticed that some of the blogs are stale, with the latest post being more than a year old. So the blog owner has definitely mothballed his/her cabinet.

I am in the process of filtering these stale blogs out and looking for fresh new blogs on the block.

Image source: Georgia Blogroll
I am calling out to the Siebel Essentials reader community: If you know of an interesting and honest blog (please no copy/paste rats) related to OBIEE, Siebel CRM, Oracle Fusion Applications or Oracle/IT in general, please find the comment section and let me know, so I can include it in the blogroll.

have a nice day


Monday, February 13, 2012

OBIEE 11g: Supplemental Detail in Log Viewer

One of the major architectural changes between Oracle BI 10g and 11g is the fact that a full scale Oracle Fusion Middleware server now acts as the container for the so called BI instance. All BI services (BI Server, Presentation Server etc.) are now components of the WebLogic domain.

Oracle Enterprise Manager - and the administrative "app" named coreapplication - serve as a central entry point for managing and monitoring all BI services. In the Diagnostic tab of the coreapplication we find links to the EM Log Viewer which provides us with a consolidated view of BI server or presentation server logs.

One of the benefits of the Log Viewer is that we can search across different files on different physical machines. For example, you might be looking for an SQL statement containing a specific physical table name.

Unfortunately, the physical SQL is not reachable by the Message field but in the Supplemental Detail field.

To search for text in this field, we have to click the Add Fields button and check the box for the Supplemental Detail field. As a result, we now have another line to enter search phrases.

Click to enlarge
We can now enter the desired search expression, click the Search button and marvel at the results.

have a nice day


Thursday, February 09, 2012

Siebel CRM Patch Set is here

On January 27th, Oracle has made Siebel CRM patch set (Patch ID: 13573494) available on My Oracle Support.

As an established tradition, here is the overview of the enhancements and features of this patch set:

ACR 575 delivers enhancements to Siebel Hospitality Function Space Diary.
ACR 698 certifies AIX 7.1 as a supported server OS.
ACR 699 certifies Oracle Enterprise Linux 6.0 64-bit as a supported server OS.
ACR 701 certifies IBM DB2 v10 for z/OS as a supported database platform.
ACR 719B provides the following enhancements to BI Publisher Reports:
  • Improved upload functionality for multilingual reports
  • Mobile client synchronization of report templates
  • Ability to schedule parameterized reports
  • Allows the UI applet sort order to be preserved in report output
  • Report business service enhancements
  • Parameterized reporting enhancements
ACR 731 supports signature capture using the CIC component on Windows 7.
ACR 750 provides SOAP and EJB fuctionality for Siebel Application Integration (SAI). This release of SAI supports the deployment of Siebel Web services, Siebel RESTful services, and Enterprise Java Beans (EJB) to Oracle WebLogic Server.
ACR 761 provides a Data Quality sync switch.
ACR 762 ports SonGo Web services to the iSales application.
ACR 802 provides Bulk Administration enhancements and redemption concurrency functionality for Siebel Loyalty.
ACR 839 provides enhancements in Siebel Life Sciences.

Not mentioned in the Maintenance Release Guide but on My Oracle Support is the fact that Siebel CRM (QF0603) and provide certification for Oracle BI EE integration into Siebel Marketing.

More information is provided as document ID 1400715.1 on My Oracle Support.

have a nice day


Monday, February 06, 2012

OBIEE 11g: Migrate a 10g RPD file to 11g without upgrading

Recently, in a kind of dejá-vu manner, I presented Oracle BI Usage Tracking to my students. When it comes to usage tracking, most people remember the sample RPD file which is delivered in the BI server installation folder.

In version 11g the file is still included but for reasons unknown it is still the 10g version. So when you try to open it with the 11g Admin Tool, you get a message like this.

Click to enlarge
The error message says "Please run the upgrade utility obieerpdmigrateutil to upgrade the repository..."

The utility with a name that might be a turnaround in naming conventions is situated in the server/bin directory. So I thought instead of running through the somewhat lengthy upgrade assistant I could very well give it a try with the utility to create an 11g version of the usage tracking sample file.

A quick google search yields some hits in the Oracle documentation and articles from fellow bloggers, so we know how to invoke the utility which has its origin in the MUD (Multi User Development) area.

First, we should run bi-init.cmd from the coreapplication/setup folder (or its .sh sibling on UNIX or LINUX) to set the ORACLE_INSTANCE and other environment variables. Alternatively we can issue the following command at the command line:

set ORACLE_INSTANCE=[BI_ROOT]\instances\instance1

Then we can run the utility using a command similar to the following:

[BI_ROOT]\Oracle_BI1\bifoundation\server\bin\obieerpdmigrateutil.exe -I d:\UsageTracking.rpd -O d:\ut11g.rpd -U Administrator -L d:\ldif.txt

The -I parameter is used to specify the original 10g file. The -O parameter specifies the path to the new 11g output file. The name of the original administrative user follows the -U parameter and the -L parameter is also mandatory and specifies the path to an ldif file generated by the utility which can be used to migrate RPD security groups to the LDAP server (to support 11g security).

The utility then asks for the new RPD password. After entering the password, we can open the output file with the 11g Administration Tool:

Please be aware that the S_NQ_ACCT table has a different schema in 11g, so there is a bit more on your schedule if you want to peruse the sample file. It is my pleasure to mention here the article from Paul McGarrick who has gone great lengths to provide a downloadable 11g Usage Tracking rpd file.

have a nice day


Thursday, February 02, 2012

17 Ways to invoke a Business Service Method

According to Paul Simon, there are 50 ways to leave your lover, but how many ways are there to invoke a business service method in Siebel CRM?

Some years ago, I compiled some introductory slides for a workshop and this is a slightly edited version of a slide titled "How to invoke a business service method".

Click to enlarge
There might be even some more and the picky among you are hereby invited to use the comments to point them out. A count on the above diagram yields 17 ways to invoke business service methods in Siebel CRM. Here is a brief overview of them, slightly ordered by their significance.

1. Workflow Step

Invoking a business service method from a workflow process step is the most common - and standardized - way to launch a reusable unit of functionality in Siebel CRM, no further comment is needed here.

2. Runtime Event Action

Quite common - and Siebel standard functionality as well - is to invoke a business service method from an action within a runtime event action set.

3. User Property

The Named Method user properties on applet or business component level allow specifying a business service, its method and arguments using the INVOKESVC command and its siblings.

4. Menu Item / Command

As we know, menu items (application and applet level) and toolbar items use Command definitions to specify what happens when a user clicks them. Command object definitions allow developers to define the business service method and context.

5. Button

In combination with the Named Method user properties, invoking a business service method from a button is common place.

6. Workflow Policy Action

Workflow Policy Programs with a Type of "Generic Request Server" allow the invocation of a business service method as a server component process. The most common usage scenario is the Workflow Process Manager (which is just a business service) launch as part of the Run Workflow Process program.

7. Server Script and 8. Browser Script

Of course you can invoke a business service method programmatically from scripting.

9. Task UI

Using a business service such as Data Validation Manager within a task flow should be common sense.

10. Inbox Item Action

Administrators can define what happens (aka which business service method is invoked) when a user carries out actions such as a "Name Drilldown" on an Inbox item.

11. Expressions (in Siebel Query Language)

The InvokeServiceMethod() function allows you to invoke a business service method (and pass arguments) from within almost any place where you can write a Siebel Query Language expression.

12. EAI Receiver

Business services often process the payload data in Siebel's EAI Receiver components such as MQSeries or JMS Receiver.

13. EAI Dispatch Service

The Dispatch service can evaluate an input property set and pass the entire property set or parts of it to a business service method.

14. External Java program

Using the Siebel Java Data Bean (JDB), Java developers can use pre-built methods to access and invoke business service methods in Siebel CRM from external Java programs.

15. Web Services (SOAP)

Of course, Siebel inbound web services ports are mapped directly to a business service method.

16. XML

The SWE API allows to pass sophisticated URLs to the Siebel Web Server and the syntax goes as far as invoking a business service method.

17. COM

In the Microsoft COM area, the same holds true: Developers can invoke business service methods from programs and scripts external to the Siebel application.

have a nice day