4. Schedule

Embed Size (px)

DESCRIPTION

sche

Citation preview

  • Page 1 of 23

    For Internal Use Only

    Run a schedule for a Web Intelligence document to a default destination and a default format

    Step: 1 The CMS checks its pending schedule list.

    Map

    Process The Central Management Server (CMS) queries the System Repository looking for a job to be executed every 60 seconds.

    After locating a Web Intelligence job to run, the CMS finds an

    available Web Intelligence Web Job Server. The CMS sends the

    schedule request along with the report document location and

    other processing information to the Web Intelligence Job Server.

    If the Web Intelligence Job Server is available, the CMS changes

    the schedule status from pending to running.

    The Job Server references registry keys to verify temp directory

    locations and confirm the maximum number of jobs to run

    simultaneously.

    Tools Business Objects trace

  • Page 2 of 23

    For Internal Use Only

    Adding a command line trace parameter to the CMS causes the

    server to log the actions it performs. Writing a Timestamp and

    ProcessID, the trace shows a range of information including

    method calls and when the CMS interacts with the System

    Repository.

    Querytiming Parameter

    This additional CMS command line parameter captures queries

    made to the System Repository from the CMS.

    3rd

    Party Tracing

    As the System Repository can be installed on a several platforms,

    the vendors database solution may also come with its own

    tracing utilities. For example, Microsoft provides a utility called

    Profiler that captures server load to SQL Server. Profiler displays

    SQL Statements in addition to other metrics such as statement

    duration, paging, deadlocks and locking

    RegMon

    Sysinternals produces a series of valuable tools including

    RegMon. A monitoring tool for the registry, it will show in real

    time which processes are working with the registry and the values

    they are reading or writing.

    http://www.sysinternals.com

  • Page 3 of 23

    For Internal Use Only

    Step: 2 The Web Intelligence Job Server forwards the request to the Web Intelligence Report Server.

    Map

    Process The Web Intelligence Job Server uses the same executables as other Job Servers but does differ in the libraries that it loads on startup it

    uses the procWebi library.

    The Web Intelligence Job Server reuses or spawns a new child process

    called Jobserverchild.exe and sends the job request to an available

    Web Intelligence Report Server. Each child only processes one

    document at a time but may remain in memory after it finishes the job,

    saving it from unloading and reloading runtime files that may be used

    by later processes. If the job server is set to process five jobs there will

    be five Jobserverchild.exes spawned on the machine.

    Tools Business Objects trace

    Adding the command line trace parameter to the Web Intelligence Job

    Server causes the server to log several actions it performs. Writing a

    Timestamp and ProcessID, the trace shows a range of information

    including the pinging of servers and recording trace messages to the

    Jobserver.

    Config Web Intelligence Job Server Command Line Parameters

  • Page 4 of 23

    For Internal Use Only

    Sets the temp working directory for the Job server. Directory -dir

    Turns on tracing/logging for the WebI Job Server. -trace

    Specifies which CMS or Cluster this Job Server should use for its Name Server. CMS/Cluster Name -ns

    Specifies which port the Job Server will use for communication and requests. Port -requestport

    Specifies which IP address and port the Job Server will listen on. Interface:port -port

    Specifies the range of ports that the Job server child processes can use. Handy in a

    firewall configuration. For Example 6800-6804 would limit the JS children to only use

    those 5 ports. Lowerbound-

    Upperbound -

    requestJSChildPor

    ts

    Specifies the maximum number of concurrent jobs that this Job server can run. Number -maxJobs

    Specifies the type of object that this Job server will process. This is the program id of the

    object that it will process. For the Web Intelligence Job Server, the object type is

    CrystalEnterprise.Webi ObjectType -objectType

    Specifies the processing library for the Job server to use. This switch along with the objectType switch determine the type of Job server this will be. For the WebI Job Server,

    this switch uses the procWebi library. Library -lib

    Description Arguments Switch

  • Page 5 of 23

    For Internal Use Only

    Step: 3 The Web Intelligence Report Server requests the report from the Input File Repository System.

    Map

    Process First querying the System Repository to determine where the Web Intelligence Report is located, the Web Intelligence Report Server then

    requests the .wid file to be streamed from the Input File Repository

    Server streams to a working directory on the Web Intelligence Report

    Server.

    The Connection Server (a part of the Web Intelligence server)

    connects directly to the Repository to locate metadata including the

    location of the Universe(s) and subsequently requests both the .wid

    and universe files from the input FRS and places copies into its

    working directory,

    Web Intelligence Document File Structure

    The .wid file is a compound file.

    Readable with a zip file editor, the logical structure of a .wid file is a

    tree structure organized as follows:

  • Page 6 of 23

    For Internal Use Only

    The root folder is the .wid name.

    Nodes represented by folders can be accessed by direct address (API).

    Each node corresponds to a Web Intelligence Report Server

    (WiReportServer) macro component including: C3 for Cube, CDZ for

    WiReportServer, Drill for Drill Engine, RE or Repeng for Report

    Engine. Leaves are structured binary streams that must be traversed

    sequentially.

    The following sections describe each node of the file.

    Data Root

    Node and/or leaf name Description

    Data (root)

    BO_Checksum (leaf) Data insuring integrity of the file.

    C3 for Cube (node)

    Node and/or leaf name Description

    C3 (node) Used by Cube.

    DATASOURCES (C3 sub-

    node)

    DataSource objects: names and

    hierarchies contained in the

    document.

    DATAPROVIDERS (C3

    sub-node)

    Description and data from

    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).

  • Page 7 of 23

    For Internal Use Only

    DocumentVariable_Data

    (leaf)

    Domain for variables having custom

    sort.

    DATASOURCES (C3 sub-node)

    Node and/or leave

    name

    Description

    DATASOURCES

    node

    DataSource objects: names and hierarchies

    contained in the document.

    DSManager (leaf) 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

    DS properties: max =rowfetched,

    maxfetchtime

    Database (DB) date format, DB number

    format, DB decimal separator,

    maxOperandsForInList.

    Flag: allowMultiSelectContext.

    DATAPROVIDERS (C3 sub-node)

    Node and/or leave name Description

    DATAPROVIDERS (C3

    sub-node)

    Data coming from DataProviders.

    DP0 (DataProviders sub-

    node)

    Name of the DataProvider used in the

    document. In case of multiple

    providers there will be several storage

    nodes such as DP0, DP1.

  • Page 8 of 23

    For Internal Use Only

    Description (leaf) .wid version.

    DPManager (leaf) List of the Data Providers.

    SynchroManager (leaf)f For each synchronization, include the

    name, key and source objects.

    SynchroManager_Data

    (leaf)

    For each synchronization object having

    custom sort: domain (similar to

    DocumentVariable_Data).

    DPO (DATAPROVIDERS sub-node)

    Node and/or leave

    name

    Description

    DP0 (DataProviders

    sub-node)

    Name of the DataProvider used in our

    document. In the case of multiple

    providers there will be several nodes DP0,

    DP1...

    DP_Data (leaf) Query result also called local cube.

    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)

    Node and/or leave name Description

  • Page 9 of 23

    For Internal Use Only

    CDZ (node) Used by WiReportServer. Contains

    information related to the workflows.

    SESSION (CDZ sub-node) Information linked to the document

    state. Document state is linked to the

    Query Specification and to the

    Report Specification.

    _PROPERTIES (leaf) Document properties and options

    including name and description. DP

    information is also duplicated (DP

    list, queries name).

    MDPWORKFLOWINFOS

    (leaf)

    Information linked to the current

    command execution. Information is

    used to resume an interrupted

    command in case, for example, of

    prompt or context execution.

    SESSION (CDZ sub-node)

    Node and/or leave

    name

    Description

    SESSION (CDZ sub-

    node)

    Information linked to the document state,

    which state is linked to the Query

    Specification and to the Report

    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)

    Node and/or leave name Description

    DRILL (node) Used by Drill engine.

    Drill_Infos (leaf) 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.

    RE for Repeng (Node)

  • Page 10 of 23

    For Internal Use Only

    Node and/or leave name Description

    RE (node) Used by Repeng.

    DOCSPEC (leaf) XML of the Report Specification and

    formula tokenized form. Also called

    serial form (cube team).

    Tools Business Objects trace

    Adding the command line trace parameter to the Web Intelligence

    Report Server causes the server to log the actions it performs. Writing

    a Timestamp and ProcessID, the trace shows a range of information

    including file access and shared or private session folder access.

    Classic Webi Trace

    This trace is used to record Web Intelligence Report server processes

    and differs from the trace parameter in that it logs only its own

    interactions in its own process rather then all the other CORBA

    commands such as pings to the CMS. These traces also save the XML

    generated by Web Intelligence sub components in a folder called

    wicdztrace.

    Configurable, the trace identifies a range of operations including calls

    to sub components and files. Errors and Warnings in the workflow are

    found easily as they are marked with an |E| and |W| respectively.

    Working with this trace requires a BO_Trace.ini file to be created and

    three optional environment variables to be set:

    Environment Variables

    The following environment variables can be set to override the

    default location ([windows install path]\system32) of the log file.

    BO_TRACE_CONFIGDIR = c:\mypath

    BO_TRACE_CONFIGFILE=c:\mypath\BO_TRACE.INI

    BO_TRACE_LOGDIR= C:\MyLogFolder

    BO_TRACE.INI

    active=true;

    important=

  • Page 11 of 23

    For Internal Use Only

    keep=true;

    FileMon

    SysInternals provides a range tools to analyze a system. FileMon is a

    tool that Monitors in real time the files that have accessed on the

    system. During this step, FileMon would capture the creation of files

    in the private and or shared cache.

    http://www.sysinternals.com

  • Page 12 of 23

    For Internal Use Only

    Step: 4 The Connection Server (part of the Web Intelligence Report Server) connects to the database to run the query.

    Map

    Process The Report Server will initiate different components based on the requirements of the requested Web Intelligence Report to refresh

    the data and render its output.

    The following files are created to further support the process.

    1) A Query Specification is created. The Query Specification is

    an XML description of all the data sources along with any

    additional properties that affects the connection. Once run, these

    connections will communicate with 3rd

    party drivers to retrieve

    data.

  • Page 13 of 23

    For Internal Use Only

    2) The Query Technique generates a SQL statement to retrieve

    the data

    3) The SQL statement is return to the Data Provider.

    4) The Generated SQL Statements are executed against their data

    stores as defined by their query specification (an xml

    representation of the query). The credentials of the user who

    requested the Web Intelligence Report are used to retrieve the

    data. If the user has insufficient rights on the data store the

    process is exited and the error is returned to the client and

    displayed in a pop up.

    5) The data is returned to the Data Provider

    6) The data is then forwarded to the Web Intelligence Report

    Server(WiReportServer)

    7) A Report Specification is created and passed to the Report

    Engine (RepEng) from the Report Server. The Report

    Specification describes in detail style information for the report.

    8) To create aggregations, the Report Engine passes the data to

    the Query Facility where a calculation plan is built and executed.

    9) The data is passed back to the Report Engine where the page is

    rendered in XML

    10) The Report Output, which is in XML format is passed.

    WiReportServer (communication, orchestration)

    Cube RepEng (page rendering in xml)

    DP (orchestrate data fetching)

    Calculator (build and execute calculation plan from report spec

    and DP)

    QF

    QT (generate SQL)

    CS (execute SQL)

    Report spec (xml)

    Report output (xml)

    1

    2 3

    4

    5

    6

    7

    8 8

    9

    10

    Facilitate communication between RepEng and Calculator using iterators

    DP : Data provider

    QF : Query facility

    QT : Query technique

    CS : Connection server

    RepEng : Report Engine

    Query spec (xml)

    Dico

  • Page 14 of 23

    For Internal Use Only

    Tools Business Objects trace

    Adding the command line trace parameter to the Web Intelligence

    Report Server causes the server to log the actions it performs.

    Writing a Timestamp and ProcessID, the trace shows a range of

    information including file access and shared or private session

    folder access.

    Classic Webi Trace

    This is a trace is used to record Web Intelligence Report server

    processes. This trace differs from trace parameter as it logs only

    its own interactions in its own process rather then all the other

    CORBA commands such as pings to the CMS. These traces also

    save the XML generated by Web Intelligence sub components in

    a folder called wicdztrace.

    Configurable, the trace identifies a range of operations including

    calls to sub components and creating and opening files. Errors in

    the workflow can also be easily found as they are tagged with |E|.

    Working with this trace requires a BO_Trace.ini file to be created

    and three optional environment variables to be set:

    Environment Variables

    The following environment variables can be set to override

    the default location ([windows install path]\system32) of the

    log file.

    BO_TRACE_CONFIGDIR = c:\mypath

    BO_TRACE_CONFIGFILE=c:\mypath\BO_TRACE.INI

    BO_TRACE_LOGDIR= C:\MyLogFolder

    BO_TRACE.INI

    active=true;

    important=

  • Page 15 of 23

    For Internal Use Only

    Database Vender Tools

    As the System Repository can be installed on several platforms,

    the vendors database solution may also come with its own

    tracing utilities. For example, Microsoft provider a utility called

    Profiler. Capturing the server load, Profiler displays the SQL

    Statements executed against the server in addition to a range of

    metrics including statement duration, i/o, deadlocks and locking.

    Configuration Options can change process flow. If, for example, a report is scheduled to an Excel format with an Inbox as the destination, the

    following occurs:

    1. The CMS determines that a scheduled Web Intelligence Document job is ready to be processed

    2. The CMS finds an available Web Intelligence Job Server to process the request. The Web Intelligence Job Server

    reuses or spawns a new Jobserverchild.exe sub-process.

    3. The JobServerChild.exe sends the request to an available

  • Page 16 of 23

    For Internal Use Only

    Web Intelligence Report Server.

    4. The Web Intelligence Report Server requests the Web Intelligence Document file and Universe from the Input

    FRS and copies them to its working directory.

    5. The Web Intelligence Report Server runs the Web Intelligence Document against the reporting database.

    The Web Intelligence Report Server then exports the Web

    Intelligence Document file to Excel format.

    6. The Web Intelligence Report Server sends a copy of the complete .xls file to Output FRS.

    7. The Web Intelligence Report Server notifies the Web Intelligence Job Server that the job has completed

    successfully and sends a copy of the .xls instance to the

    Job Server Child.

    8. The Job Server Child sends a copy of the instance to the Inbox using inbox.dll and

    dest_CrystalEnterprise_managed.dll plugins. Inbox

    instances get sent to the Input FRS.

    The Web Intelligence Job Server notifies the CMS that the job

    was completed successfully

  • Page 17 of 23

    For Internal Use Only

    Step: 5 The Web Intelligence Report Server sends the finished report to the Output FRS.

    Map

    Process The Web Intelligence Report Server streams a copy of the completed instance to the Output FRS.

    Tools BusinessObjects trace.

    Adding a command line trace parameter to the Output FRS causes the

    Server to log its actions. Writing a Timestamp and ProcessID, the trace

    shows the location and name of the .wid file saved to the Server.

    Classic Webi Trace

    This is a trace is used to record Web Intelligence Report server

    processes. This trace differs from trace parameter as it logs only its

    own interactions in its own process rather then all the other CORBA

    commands such as pings to the CMS. These traces also save the XML

    generated by Web Intelligence sub components in a folder called

    wicdztrace.

  • Page 18 of 23

    For Internal Use Only

    Configurable, the trace identifies a range of operations including calls

    to sub components and files. Errors and Warnings in the workflow are

    found easily as they are marked with an |E| and |W| respectively.

    Working with this trace requires a BO_Trace.ini file to be created.

    Three environment variables may also be set:

    Environment Variables

    BO_TRACE_CONFIGDIR = c:\mypath

    BO_TRACE_CONFIGFILE=c:\mypath\BO_TRACE.INI

    BO_TRACE_LOGDIR= C:\MyLogFolder

    BO_TRACE.INI

    active=true;

    important=

  • Page 19 of 23

    For Internal Use Only

    Step: 6 The Web Intelligence Server notifies the Web Intelligence Job Server that the task was fulfilled successfully

    Map

    Process The Web Intelligence Report Server notifies the Web Intelligence Job Server that the job has completed successfully.

    Tools Business Objects trace

    Adding a command line trace parameter to the Web Intelligence Job

    Server causes the server to log some of the actions it performs. Writing

    a Timestamp and ProcessID, the trace shows a range of information

    including the name and location of the report to be stored.

    Classic Webi Trace

    In a pipe delimited format, Web Intelligence trace, aslo known as

    Classic BO Tracing, is used to record in explicit detail, the operations

    of the Web Intelligence Report Server.

    Configurable, the trace identifies a range of operations including calls

    to sub components and files. Errors and Warnings in the workflow are

  • Page 20 of 23

    For Internal Use Only

    found easily as they are marked with an |E| and |W| respectively.

    Working with this trace requires a BO_Trace.ini file to be created and

    three optional environment variables to be set:

    Environment Variables

    BO_TRACE_CONFIGDIR = c:\mypath

    BO_TRACE_CONFIGFILE=c:\mypath\BO_TRACE.INI

    BO_TRACE_LOGDIR= C:\MyLogFolder

    BO_TRACE.INI

    active=true;

    important=

  • Page 21 of 23

    For Internal Use Only

    Step: 7 The Web Intelligence Job Server updates the instance status to the CMS.

    Map

    Process The Web Intelligence Job Server notifies the CMS that the job was completed successfully.

    Tools Business Objects trace

    Adding the command line trace parameter to the CMS causes it to log

    its actions. The trace will show an Update SQL Statement issued

    against the InfoObjects table in the System Repository.

    3rd

    Party Tracing

    As the System Repository can be installed on a several platforms, the

    vendors database solution may also come with its own tracing

    utilities. For example, Microsoft provides a utility called Profiler that

    captures server load to SQL Server. Profiler displays SQL Statements

    in addition to other metrics such as statement duration, paging,

    deadlocks and locking

  • Page 22 of 23

    For Internal Use Only

    Step: 8 The CMS updates the instance record in the system database to change the instance status to Success

    Map

    Process The system repository is updated with a status of success.

    Tools Business Objects trace

    Adding the command line trace parameter to the CMS causes it to log

    its actions. The trace will show an Update SQL Statement issued

    against the InfoObjects table in the System Repository.

    3rd

    Party Tracing

    As the System Repository can be installed on a several platforms, the

    vendors database solution may also come with its own tracing

    utilities. For example, Microsoft provides a utility called Profiler that

    captures server load to SQL Server. Profiler displays SQL Statements

    in addition to other metrics such as statement duration, paging,

  • Page 23 of 23

    For Internal Use Only

    deadlocks and locking