Professional Documents
Culture Documents
Map
Process
Web Client
In an HTML 4.0 compliant browser, InfoView provides a list of
Web Intelligence Documents for which a user has view
permissions.
A Web Intelligence document can be requested by clicking on its
hyperlinked name in the InfoView frameset. The page, a
combination of HTML and client-side JavaScript, appends several
arguments to the query string including the documents InfoObject
ID from the System Repository.
The example below requests a Web Intelligence Report using the
Java-based InfoView.
GET
/businessobjects/enterprise115/desktoplaunch/InfoView/CrystalEnterprise_Webi/
Page 2 of 28
view.do?objId=2757&logonToken=VW2K3R2PP@3600JFifqFGhMF2HQhOl3
597JpO3SnaZEBgfIjaBONEOFF HTTP/1.1
Web Server
A 3rd party Web Server, typically Internet Information Server (IIS)
or Tomcat Apache, logs the page request and forwards it to the Web
Application Server.
Web Application Server
The Web Application Server is a collection of files written by
Business Objects in either Java or ASP.Net. The selected solution is
determined by the choice of Web Server as Microsofts Internet
Information Server supports ASP.Net and Tomcat Apache
processes Java pages.
Tools
Web Client
AppSight
In circumstances where observing the user interacting with their
system is not possible, AppSight is a tool used to record users
interacting with their system. Similar to the black box recorder on
an airplane, it records the users movements and choices and can
later be played back by support personal to resolve issues.
http://www.appsight.com
HTTPAnalyzer
HTTP Analyzer is a sniffer tool that monitors and inspects
HTTP/HTTPS traffic in real time. It displays a wide range of
information, including: header, content, cookies, query strings, post
data, request and response streams, and redirection URLs.
http://www.httpanalyzer.com
Web Server
Most vendors provide a set of monitoring tools for their Web
Servers. Both Internet Information Services (IIS) and Apache
Tomcat provide log files as a means to capture their respective
workloads, though the level of detail and options do differ.
Internet Information Server Log File Location
[Install Path]\System32\Logs\
Page 3 of 28
By default, new log files created daily, though the size, occurrence
and details recorded are configurable through the IIS Manager.
Apache Tomcat Logs File Location
[Install Path]\Program Files\Business Objects\Tomcat\Logs
The Administration utility allows the Administrator to set the level
in addition to the location of the log files.
Page 4 of 28
Configuration
Page 5 of 28
Step: 2
Map
Process
Page 6 of 28
or calls are made to the System Repository.
The following are selected line items from a trace log after requesting a
Web Intelligence document.
CInfoStoreSubsystem::Query(proc=Select SI_ID, SI_KIND from
CI_INFOOBJECTS WHERE SI_ID=2862,chk=false,srv=true,qry=false): Start
Object was found in cache. obj ID=2862
Page 7 of 28
Step: 3
Map
Process
Tools
Querytiming Parameter
This additional CMS command line parameter captures queries made
to the System Repository from the CMS.
Page 8 of 28
The following are selected lines from the log file generated by the
querytiming parameter:
SELECT SI_PROGID, SI_FILES FROM CI_INFOOBJECTS,
CI_APPOBJECTS WHERE SI_ID = 2862
SELECT SI_MACHINE, SI_MACHINECHOICE from CI_INFOOBJECTS,
CI_APPOBJECTS WHERE SI_ID=2862
SELECT SI_TITLE, SI_UPDATE_TS, SI_TIMESTAMP, SI_INSTANCE
FROM CI_INFOOBJECTS WHERE SI_ID=2862
Page 9 of 28
Step: 4
Map
Process
Page 10 of 28
&lang=en&objId=2757&logonToken=VW2K3R2PP@3634JS
NAdk3I50j67sL03631JatuZwFuLaL8R6dmONEOFF
HTTP/1.1
Tools
HTTPAnalyzer
HTTP Analyzer is a sniffer tool that monitors and inspects HTTP/HTTPS
traffic in real time. It displays a wide range of information, including:
header, content, cookies, query strings, post data, request and response
streams, and redirection URLs.
http://www.httpanalyzer.com
Page 11 of 28
Step: 5
Map
Process
The ViewDocument page continues to build the look and feel of the
Web Intelligence document but ultimately it requests a processing page
(DHTMLView.aspx for ASP.Net, ViewCDZDocument.jsp for Java)
which builds the core of the report.
The Web Intelligence Report Server uses a number of components to
retrieve the requested document including:
Report Engine
To work with a report, an instance of the Report Engine is required.
Created from the Enterprise Session, the Report Engine is reused
during the lifetime of the Enterprise Session (also known as a Logon
Session or User Session). The Enterprise session is established when
first logging into InfoView, and contains user and security settings.
The Report Engine creates a proxy SDK Document Instance after
locating the Web Intelligence Servers through the SDK or OCA library.
It is upon creating the SDK Document Instance that the Web
Intelligence Session is created.
Page 12 of 28
A shared cache is used once a Session cache has been refreshed and the
shared cache configuration option is enabled. The folder contains a
Page 13 of 28
copy of the .wid file stored from the File Repository Server.
Tools
Page 14 of 28
BO_TRACE_CONFIGFILE=c:\mypath\BO_TRACE.INI
BO_TRACE_LOGDIR= C:\MyLogFolder
BO_TRACE.INI
active=true;
important=<<; (options are <<,<=,==,>=,>> where << logs
informational lines to >> which is critical/error lines)
size=10000;
keep=true;
The following is an excerpt from the classic trace file showing the
creation and folder access
Writing File------>:2862.wid
Writing PublishDate-->:1172691350
open o_read \Data\storage\docs\00000049\00000003.wid
FileMon
Sysinternals provides a range tools to analyze a system. FileMon is a
tool that monitors in real time the files that have been accessed.
FileMon captures the creation of files in the private and/or shared
cache.
http://www.sysinternals.com
The following is an except from File Mon showing access to a
private session folder
10:23:10 AM QUERY INFORMATION
\storage\docs\00000049\00000003.wid_\en_US\XMLPaginated\1\Blob1.xml
10:23:10 AM UNLOCK
\storage\docs\00000049\00000003.wid_\en_US\XMLPaginated\1\Blob1.mi
me
Page 15 of 28
Page 16 of 28
Step: 6
Map
Page 17 of 28
Process
After querying the System Repository for the location and name of
the report, the Web Intelligence Report Server first looks in both the
private and shared cache files to satisfy the request. If the content
cant be located, the .wid file is streamed to the Web Intelligence
Report Server from the Input File Repository.
If the document has been saved with data, the Web Intelligence
Report Server uses the contents of the .wid file to pass the data to the
Calculator before rendering and then returning the document to the
Web Client.
The calculator is one of several sub components that comprise a
Cube and calculates the blocks of data in the document. Other sub
components of the Cube include: Query Facility, Data Provider,
Data Provider Manager, Object Dictionary and Query Expression.
Description
Page 18 of 28
Data (root)
BO_Checksum (leaf)
C3 for Cube (node)
Description
Used by Cube.
DataSource objects: names and
hierarchies contained in the
document.
DATAPROVIDERS (C3
Description and data from
sub-node)
DataProviders or queries.
Description (leaf)
Main C3 document version
(currently 2.0) and a string tag
cdzDocument.
Document (leaf)
Document properties: some flags
including autoSynchronize=on/off.
DocumentFormula (leaf)
List of anonymous formulas found
in document reports. (User may set
a formula without giving name.
DocumentVariable (leaf)
List of variables, tokenized form,
also called serial form (format is
locale independent).
DocumentVariable_Data
Domain for variables having
(leaf)
custom sort.
DATASOURCES (C3 sub-node)
Description
DataSource objects: names and
hierarchies contained in the document.
Number of DataSources, last key id (for
key generation).
For each DataSource (DS):
DSKey(DS0, DS1, DSn)
DS type (QT) and universe connection
string=Repold=12;UnivId=)
Hierarchies contained by the DS:
DS0.DH5
Database connection
string=4;ODBC17;SQLServer
Others DS info such as: repold, name,
long name, comments
Page 19 of 28
DS properties: max =rowfetched,
maxfetchtime
Database (DB) date format, DB number
format, DB decimal separator,
maxOperandsForInList.
Flag: allowMultiSelectContext.
DATAPROVIDERS (C3 sub-node)
Description
Data coming from DataProviders.
DP_Data (leaf)
Description
Name of the DataProvider used in our
document. In the case of multiple
providers there will be several nodes
DP0, DP1...
Query result also called local cube.
Page 20 of 28
Contains Node set of the domain. Node
set contains indexes for dimension
(compressed with RLE), or hard-coded
values for the measures: DP_Key,
DP_Key value, Number of values,
frequency of the values cube name, node
set (rows, columns, indexes).
DP_Generic (leaf)
XML of the query.
For each query: query description, query
xml format, server parameters, local DS
information (DSx.Dpy object
description)
DP_QT (leaf)
Information related to the query
execution: prompts description, SQL
query expression tree (binary format).
CDZ for WiReportServer (node)
_PROPERTIES (leaf)
MDPWORKFLOWINFOS
(leaf)
Description
Used by WiReportServer. Contains
information related to the
workflows.
Information linked to the document
state. Document state is linked to
the Query Specification and to the
Report Specification.
Document properties and options
including name and description.
DP information is also duplicated
(DP list, queries name).
Information linked to the current
command execution. Information is
used to resume an interrupted
command in case, for example, of
prompt or context execution.
Page 21 of 28
Specification.
State (leaf)
Document state can be:
Initial (document is just created)
Created DP
Defined query
Waiting for Context or Prompt execution
Executed query
Defined report.
DRILL for Drill Engine (node)
Description
Used by Drill engine.
Drill Infos such as Drill Setting, and
per report: Report_Id, Drill_Bar. Per
Drill_Block: Block_Id and
Drill_Hierarchies. Per
Drill_Hierarchies: Dim_Key and
Hier_Key. Drill_Dimensions. Query
filters, Drill parameters.
Tools
Description
Used by Repeng.
XML of the Report Specification and
formula tokenized form. Also called
serial form (cube team).
Page 22 of 28
Page 23 of 28
DocExpress:Caching media profiles file:E:\...
\win32_x86\config\bobjserver\caching_media_profiles.xml
C3QEX_Dictionary:>>:country=US
C3QEX_Dictionary:>>:language=en
Configuration Setting Locale Values
Page 24 of 28
Step: 7
Map
Process
Using the files contained in the .wid file, the Report Server delegates the
stages of initialization, retrieving and rendering to different components.
The following steps are implemented to retrieve, calculate and render a
Web Intelligence Document.
Page 25 of 28
WiReportServer
(Communication and orchestration)
Query spec
(XML)
Report spec
(XML)
Cube
DP 8 Calculator
QF
10
Report output
(XML)
RepEng
(Page rendered in XML)
9
Facilitate communication
between RepEng and
Calculator using iterators
4
2
DP : Data provider
QT
CS
(Generate SQL)
(Execute SQL)
QF : Query facility
QT : Query technique
CS : Connection server
RepEng : Report Engine
Page 26 of 28
9) The data is passed back to the Report Engine where the output is
rendered as XML (this includes the styles from the Report Specification
along with the embedded database values)
10) The Report Output is cached on the Web Intelligence Report Server
before being delivered to the Web Application Server.
Tools
Page 27 of 28
3rd Party Tracing
The vendors database solution may also come with its own tracing
utilities. For example, Microsoft provides a utility called Profiler.
Capturing the server, Profiler displays the SQL Statements executed
against the server in addition to a range of metrics including statement
duration, i/o, deadlocks and locking.
Config
Refresh On Open
Page 28 of 28
Step: 8
Map
Process
Tools
HTTPAnalyzer
HTTP Analyzer is a sniffer tool that monitors and inspects
HTTP/HTTPS traffic in real time. It displays a wide range of
information, including: header, content, cookies, query strings, post
data, request and response stream, and redirection URLs.
http://www.httpanalyzer.com