“What exactly does WebLogic in
OBIEE11g, why is it so important, and why is WebLogic the only application
server option now?”
The diagram below shows the OBIEE
10g front-end architecture, with what is now the Oracle BI Presentation Server
(“Oracle BI Web”) connecting through to the outside world through what is now
the Oracle BI Plugin (“SAW Bridge”)
The “SAW” (Siebel Analytics Web)
“Bridge” acted as a routing point between the user’s Web browser, and the
Presentation Server which was written in C++. The SAW Bridge was a Java
application that could either run in a J2EE application server, or in Microsoft
IIS, and did little else other than provide a bridge between the internet world
and the C++ world of the BI Server and Presentation Server. Later on, after
Oracle acquired Siebel and then started adding Java-based components such as
Oracle BI Publisher and Oracle BI Office (the server element of the OBIEE
plugin to Microsoft Office), the use of a J2EE application server became
mandatory (although you could still run the Oracle BI Plugin in IIS, if you
wanted to), with a free bundled version of OC4J included with OBIEE 10g+, and
the option to switch to Oracle Application Server (with OC4J still under the
covers) or an alternative J2EE server such as BEA WebLogic, IBM Websphere and
so on.
Fast-forward now to OBIEE 11g, and the J2EE
server plays a much wider part. OBIEE 11g has the concept of an Oracle BI
Domain, which describes the complete set of components and configuration files
for a single OBIEE environment (such as DEV, TEST, PROD etc). Each Oracle BI
Domain has one Oracle WebLogic Domain, containing WebLogic plus all of
the Java Components, and one Oracle Instance, containing all of
the System Components, the new name for all the “legacy” C components
such as the BI Server, Presentation Server, Cluster Controller and so on. The
WebLogic Domain can span over multiple physical servers, something you set up
using the Universal Installer and a process called Horizontal Scale-out.
Also, where does Fusion Middleware
come in to this, and why can’t we currently use WebSphere, IIS or other
application servers in it’s place?
At a high level, WebLogic provides
the following functions for OBIEE 11g:
- It hosts the WebLogic LDAP server, the default “authentication provider” (i.e., user directory) for OBIEE 11g, which is where users and groups are now stored instead of holding them in the RPD file
- It also provides other security providers used by OBIEE
- It hosts the much wider range of java components that you get with OBIEE 11g now, including ones for web service and SOA integration which themselves make use of WebLogic integration functionality
- It hosts the WebLogic Admin Server, Oracle Enterprise Manager Fusion Middleware Control, two web-based admin tools for OBIEE 11g, and the MBeans that Enterprise Manager and the Admin Console use to perform their administration functions
As such, it performs a similar role
to OC4J/Oracle Application Server in OBIEE 10g, but it does it all on a much
more “enterprise” scale as it uses the BEA tooling that Oracle adopted across
all of Fusion Middleware over the last couple of years, and it also uses the
BEA JRockit JVM which scales better than the old Orion-derived OC4J JVM that
Oracle Application Server used to use.
It’s also worth making the
distinction between Oracle Fusion Middleware, and Oracle WebLogic Server.
Fusion Middleware 11g is a middleware platform which runs currently on just
Oracle WebLogic Server, which is why OBIEE 11g is restricted to WebLogic for
the time being. Fusion Middleware provides services and APIs that initially, in
the case of OBIEE 11g, make use of WebLogic functionality to provide, for
example, the flexible security arrangements that you now get with 11g.
So security is a good example of how we can make
the distinction between what WebLogic provides, and what Fusion Middleware
provides. The diagram below shows Oracle Platform Security Services, the
security API that comes with Oracle Fusion Middleware: