Monday, November 15, 2010

Clouds are not Spheres

Yes, as you read "... Clouds are not spheres, mountains are not cones, coastlines are not circles, and bark is not smooth, nor does lightning travel in a straight line..". This was how Benoit Mandelbrot tried to explain how traditional geometry can not completely describe the geometry of things in nature.
To overcome this limitation he developed a new mathematical object called "Fractal".  Fractal is a mathematical object which among other properties has the property of self-similarity, i.e the object presents the same shape, pattern, form at different scales. Its importance has been proven in many areas of human life : Medicine, Economy, Technology (image, audio compression), etc.
Mandelbrot set inward zoom
Well, such object was not completely new to mathematicians but it was Mandelbrot who really took advantage of the technology of the 70's (the power of computers) and opened a new world in mathematics with Fractals.
Sierpinsky Triangle
Here goes my modest post salute to him after one month of his death (I was not catching up with my emails until today I realized of his death).

Wednesday, November 10, 2010

Starting and Stopping BIEE from command line

BIEE11g uses now Weblogic as application server. This means we need to know some basic commands such as how to start and stop Weblogic server (WLS). In addition to this from the previous post we know that BIEE11g does not only require WLS but also other additional processes. All this plus the need to interact with these components by means of a script in a development / test environment led us to the conclusion that we need to know how we can start or stop BIEE (or even its processes) from a command line. So let us get into this:

Starting BIEE
  1. First, read and understand the BIEE11g architecture. This is discussed in a previous post (it can be found here).
  2. So now, you know we need to start / stop basically the Java and System components respectively:

    a. The Java Components:
    i. Admin Server
    ii. Managed Server
    b. System Components (OPMN Processes)
    i. BI Server
    ii. BI Presentation Services
    iii. BI Java Host
    iv. BI Cluster Controller
    v. BI Scheduler
Fortunately we do not need to create scripts for each of the components from scratch since during BIEE11g installation some of them were already created for us. We will make use of some of them: ( Note: In our examples our Fusion Middleware home is C:\fusionMW )
1. Start NodeManager:
This process starts automatically in Windows as a service (everytime the OS is restarted). Additional reference for this component can be found here

2. Start Admin Server:
Command: startWeblogic.cmd
Path: C:\fusionMW\user_projects\domains\bifoundation_domain\bin

You will be prompted for the admin user and password. You either enter these values everytime you start/stop the services or alternatively you can set these values in file.

The WLS will have started when you see these messages:
File Name:

Enter your user name here
password= Enter your password here

The Next time WLS is restarted the password will be encrypted.

3. Monitoring the OPMN Processes:
Command: opmnctl.cmd status -l
Path: C:\fusionMW\instances\instance1\bin

Once all processes are "Alive" then you will get this screen:

Stopping BIEE
This process is almost the same but in reverse order. To stop all BIEE services you will have to perform the following commands in the respective order in the same directories where each of them started

1. Stop OPMN processes:
> opmnctl stopall

2. Stop Managed Server (bi_server1)
> stopManagedWeblogic.cmd bi_server1 t3://hostname:7001 username password

3. Stop WLS (Admin Server)
> username password t3://host.domain:7001

This is all you need to know about it to get started. If you already installed BIEE11g then you should be familiar with the Start/Stop BIEE services script that the installer produces. Well, that script uses a series of ANT commands to produce the same effect we have here described. In a future post I will explain about ANT and take such script as example.

Until next time

Friday, November 5, 2010

OBIEE 11g Architecture

Author: Jorge Anicama
Article Original Location:

It has been awhile since my last post. The main reason is because I have been busy working in different projects and also taking care of a my new baby boy (new member of the family :) ).

Hoping this new post results interesting enough this time I will discuss the new BIEE11g architecture.
If you are planning to start using BIEE11g you will notice there are a few more new components and at first glance it seems complex to understand, but let us take a look at the following picture and we will notice it is not that bad:

We can identify two main component types the OBIEE 11g: The A) Java Components and the B) System Components.
A) Java Components: These are basically J2EE applications running in Weblogic Server. There are two subcomponents here: 1. Admin Server and 2. Managed Server. Each of them running in a dedicated Java virtual machine (JVM).
  1. Admin Server: This is nothing more than a set of J2EE applications that will help us Administering the system:
    • Admin Console (WLS) — An adminstrative user interface that provides advanced management for Weblogic, JEE components, and security
    • Fusion Middleware Control — An administrative user interface that is used to manage the BI domain.
    • JMX MBeans — Java components that provide programmatic access for managing a BI domain.
  1. Managed Server: These are J2EE applications which will help the functioning of the BIEE System (highlighted in RED):
    • BI Plugin — It routes HTTP and SOAP requests to BI Presentation Services.
    • BI Security — It enables the integration of BIEE Server and Fusion Middleware security platform through webservices calls.
    • BI Action Services — It provides the dedicated Web services that are required by the Action Framework (a nice introduction can be found here, another example of use is here and here) and that enable an administrator to manually configure which Web service directories can be browsed by users when they create actions.
    • Webservices SOA — This component provides Web services for objects in the BIEE Presentation Catalog, to invoke analysis, agents, and conditions.
    • BI Office — This component provides the integration between Oracle Business Intelligence and Microsoft Office products.
                    and finally,
    • Two particular applications: BI Publisher (Reporting System) and RTD (technology platform which enable the analysis of data and provides insight by using data mining algorithms and techniques in real time).
    B) System Components: These are non-J2EE components, such as processes and services written in C++ and java.
    1. BI Server — It provides capabilities to query and access data as well as services for accessing and managing the RPD file (BIEE Metadata).
    2. BI Presentation Services — It provides the framework and interface for the presentation of business intelligence data to Web clients. It maintains an Oracle BI Presentation Catalog service on the file system for the customization of this presentation framework.
    3. BI Scheduler — Provides extensible scheduling for analyses to be delivered to users at specified times. (BI Publisher has its own scheduler.)
    4. BI JavaHost — It enables BI Presentation Services to support various components: Java tasks for BI Scheduler, BI Publisher, and Graph generation.
    5. BI Cluster Controller — It distributes requests to the BI Server, ensuring requests are evenly load-balanced across all BI Server process instances in the BI domain.
      In addition, the BI Domain requires a set of configuration files, the repository (RPD) file, the Presentation Catalog files, etc. Likewise, BIEE System uses a set of metadata tables stored in a relational database like Oracle.  

      How to Start BIEE System: There are multiple ways to start the BIEE System, but it must follow certain order. Based on the description given above we need to : 

      1. Start NodeManager : By default in Windows it runs when the OS starts (Reference about NodeManager can be found here

      2. Start Admin Server : Initiate Weblogic Server. 

      3. Start Managed Server : Initiate the main applications. Based on the picture above, these are highlighted in Red : BI Plugin, BI Security, BI Action Service, BI Webservices SOA. If you are planning to use BI Publisher or RTD then it must also be started. 

      4. Start BIEE Services : These are the main BIEE processes which are controlled by OPMN: BI Server, BI Presentation Server, BI JavaHost. If you are planning to use BI Scheduler then also start it. Or if your instance is a clustered environment then also start the BI Cluster Controller. In our next post, we will describe how to actually perform this operation and we will describe how to troubleshoot issues by looking at the log files. 
      1. Introduction to BIEE Administration (here). 
      2. Rittman Mead posts on Action Services (here).

      Thursday, June 3, 2010

      OBIEE 11g launch in London July 7th, 2010

      OBIEE 11g will be launched this July 7th, 2010. Here is the invitation to this event:
      Oracle Business Intelligence Enterprise Edition 11g Launch

      Monday, April 19, 2010

      BI Publisher - Webservices update to 10g with patch 9546699

      Author: Jorge Anicama
      Article Original Location:

      BI Publisher provides an update to its webservices from previous releases with patch 9546699. All you have to do is (with OC4J and BI Publisher 10g running) to open the following URL:


      Where: mybipserver is the machine's name where OC4J is installed and where BI Publisher has been deployed. Save this file locally.

      Once you get the WSDL file you can immediately test the services using SOAP UI (a webservices tester).
      Start loading BI Publisher's WSDL into SoapUI and create a new project:

      So for example, we can find out which Security mode is being used in a BIP installation.  Simply invoke the service "getSecurityModel". This service does not require any parameter, therefore just click on the green button "play" .

       This returns the security model employed in BI Publisher's environment: "BI_SERVER", which means the security model used is based and controlled by BIEE Server.

       The next example will employ BI Publisher's web services which require parameter values: "login" and "getFolderContentsInSession".  Invoke "login" and enter "Administrator" as user and password:

      This returns the session string, known as BIP's session token:

       Next, invoke the "getFolderContentsInSession" service and enter the string just obtained in previous step plus the folder path to find out its content: "/HR Manager".

       Finally, click on Run (the green arrow button on the upper left hand side of the window) to obtain a list for reports and folders:

      With this you now get a flavor of all the things you can do using BI Publisher's webservices. Of course you can start developing your web application using JDeveloper and BIP WSDL, but that will be the topic for new post soon.

      Friday, April 9, 2010

      BI Publisher (build 1145)- latest patch - 9546699 (April 1st 2010)

      More than a week ago Oracle BI Publisher PM team released a new patch 9546699 (on March 31st, but published in Metalink April 1st), which brings many bug fixes and product enhancements.

      There is a long list of updates you can read in the readme file that comes in the patch. But for those of you interested in getting this patch applied in your environment I have compiled a step by step screenshot sequence (for Windows environment) which I hope can help you in this process. Here is how it goes:

      I) Upgrade of BI Publisher Server

      1. First, take a backup copy of :

      $ORACLE_HOME/oc4j_bi/j2ee/home/applications/xmlpserver/ xmlpserver/WEB-INF/xmlp-server-config.xml 

      where, as usual $ORACLE_HOME refers to the location of your base directory for BI Publisher server installation.

      2. Second, take a back up of BI Publisher's repository. Default location usually is /xmlp/XMLP:

      3. In case BI Publisher's Scheduling feature has been enabled and configured ==> Also take a back up of such schema in the database used. Although as the upgrade will be performed on the application server side there is no really need to perform this step, it is just as precaution.

      4. You can now use Enterprise Manager for the rest of the steps : uninstall of the current version and the installation of the new version. Notice the port number is 9704 since the original installation of BI Publisher was part of BIEE installation and that is the default port number. Thus, invoke Enterprise Manager as follows : http://server_name:9704/em

      Normally, the password is "oc4jadmin" but it could be something different. This password is defined during the first install of BI Publisher, so you need to get this value from whoever performed the first installation. Otherwise, if the password is not known then use google to obtain a process on how to reset the OC4J administrator's password. Here is a link from Mike Lehmann's : Reset OC4J admin password

      4.1 Shut down BI Publisher.
      4.2 Undeploy the BI Publisher application ("xmlpserver") from your J2EE application server. Here a screenshot from Enterprise Manager for OC4J:4.3 Deploy the (patch 9546699 ) xmlpserver.ear or xmlpserver.war to your application server. If you are using OC4J then here is the sequence of screenshots:

      - Click on "Deploy"
      - Select the EAR or WAR file to deploy:
      -Enter the deploy application attributes:

      In the third step simply accept defaults and Apply and Deploy. You get finally this:

      4.4 Stop BI Publisher application (repeat as in step 4.1). This step is required as you will restore the backup files taken in step 1. and 2.
      5. Copy the saved backup copy of the xmlp-server-config.xml file from step 1 to the newly created BI Publisher: 

      6. Copy the repository (the complete XMLP directory and subdirectories from the back up folder, see step 2.) into $ORACLE_HOME/xmlp/

      7. If your environment is (03-April-2009, Patch 8398277) or earlier then perform the following two steps, Otherwise continue with step 8.
      • Copy this file: ssodefaults.xml and place it in the following directory: $ORACLE_HOME/xmlp/XMLP/Admin/Security. Default values for properties can be updated depending on your configuration if SSO is implemented.
      • Copy database-config.xml to the following directory: \XMLP\Admin\Scheduler. This file stores information about the database which will be use to store BI Publisher Scheduler's metadata tables.
      8. Restart xmlpserver application or Application Server

      9. Finally you can test your new patch by going to: http://server_name:9704/xmlpserver

      Notice, down on the right hand side the BI Publisher's version (build 1145). To see this version your application must be in DEBUG mode though. Alternatively, to see the build number from the login page you can view the page source (IE View --> Source) and Notepad will come up. You will see this line:
      <meta name="Generator" content="Oracle BI Publisher (build# 1145 on Fri Apr 09 16:26:02 GMT-05:00 2010)"/>

      This indicates the patch has been applied and now BI Publisher's version is build 1145.

      II) Upgrade of BI Publisher Desktop

      Finally, there is one more upgrade to make. The BI Publisher's desktop should also be upgraded with the new which, is shipped with the new patch. To apply it follow the next steps:

      1. Using the just deployed new patch, get a copy of this file:


      2. Take a backup of the the following existing xdocore.jar files:

      a)C:\Program Files\Oracle\BI Publisher\BI Publisher Desktop\TemplateViewer\lib\xdocore.jar
      b)C:\Program Files\Oracle\BI Publisher\BI Publisher Desktop\Template Builder for Word\jlib\xdocore.jar

      3. Paste the xdocore.jar file copied in step 1., into the following directories:

      a)C:\Program Files\Oracle\BI Publisher\BI Publisher Desktop\TemplateViewer\lib\
      b)C:\Program Files\Oracle\BI Publisher\BI Publisher Desktop\Template Builder for Word\jlib\

      After this, BI Publisher Desktop has been upgraded and is in sync with the patch 9546699 just applied.

      Wednesday, March 31, 2010

      BI Publisher - Layout Builder preview in 10g

      Author: Jorge Anicama
      Article Original Location:

      If you are a BI Publisher user of release (Patch 9229122) then you would like to know that this release includes a preview of the Layout Builder (WYSWYG Editor) part of the official release 11g.
      Only thing you would have to do is set one particular parameter in xmlp-server-config.xml located in the repository directory xmlp\XMLP\Admin\Configuration as follows:
      After restarting OC4J this change will take effect. When you create or modify a report then you will notice that under the "Layout" section there is a new button "Layout Builder" available.
      The template prepared by the Layout Builder will have extension .xpt and will be an XML file which contents will only be rendered properly in the Layout Builder tool. In addition to this, the tool will not read any other file type than .xpt.
      I guess that if you want to edit the .xpt file outside the Layout Builder you could use any XML text editor and assign a schema or DTD to it, but that is the topic for another post in this blog :).
      At this point I would like to make a disclaimer: the parameter is an undocumented feature in release and thus is not supported by Oracle in this release. So please DO NOT call Oracle Support for this.

      My first post

      Mandelbrot set inward zoom

      This is my first post on this blog and as such it will be brief. My intention is write on topics I am working on or reading about. Any feedback with regards to the content would be much appreciated.