6Siebel Reports Architecture

Siebel Reports Architecture

This chapter describes the Siebel Reports architecture. It includes the following topics:

About the Siebel Reports Architecture

This topic describes the architecture that Siebel Reports uses. It includes the following information:

Siebel CRM uses the following separate architectures starting with Siebel CRM versions 8.1.1.x and 8.2.2.x:

  • Connected architecture. Siebel CRM integrates directly with the Siebel XMLP Report server component and the Oracle BI Publisher Server.

  • Disconnected architecture. Siebel CRM uses Oracle BI Publisher to run Oracle BI Publisher through the XMLP Report Business Service.

    Overview of How Siebel CRM Runs Reports in Clients

    The following illustrates an overview of how Siebel CRM runs reports in connected and disconnected clients.

    Overview of How Siebel CRM Runs Reports in Connected and Disconnected Clients

    Explanation of Callouts

    Siebel CRM does the following work when it runs a report in a connected or disconnected client:

    1. The user requests to run a report in the Siebel client, and then Siebel CRM sends this request to one of the following items:

      • Oracle BI Publisher Server if the user is using a connected client

      • Oracle BI Publisher XDO Engine if the user is using a disconnected client

    2. The RTF Processor converts the report template files to the XSL format so that Siebel CRM can use it as input to the BI Publisher-FO Processor.

    3. The BI Publisher-FO Processor merges the XSL and the XML data files, and then creates one or more of the following output formats, depending on the output type that the user chooses:

      • Converts XML and XSL formats to HTML.

      • Converts XML, XSL-FO, and XLIFF formats to PDF, HTML, RTF, EXCEL, PPT, and MHTML.

      For more information about the file types that the user can choose, see Output File Types That Siebel Reports Supports.

    Oracle renamed XML Publisher and XMLP to Oracle BI Publisher. Some items still use XML Publisher or XMLP.

      How Siebel CRM Runs Reports in Connected Clients

      The following figure illustrates the architecture that Siebel CRM uses to run a report if the user is using a Siebel client that is connected to a Siebel Server.

      How Siebel CRM Runs Reports in Connected Clients

      Explanation of Callouts

      Siebel CRM does the following work when it runs a report in connected clients:

      1. A user runs a report from the Run Report pane.

      2. The Application Object Manager (AOM) sends an event to the Siebel Database.

      3. The Server Request Broker (SRBroker) and the Server Request Processor (SRProc) monitor the request, and then sends it to the XMLP Report server component through the XMLP Driver Service.

      4. The XMLP Driver Service calls the XMLP Data Service.

      5. The XMLP Data Service gets data from the Siebel Database through the EAI Siebel Adapter, and then returns control back to the XMLP Data Service.

      6. The XMLP Data Service sends control to the XMLP Driver Service.

      7. The XMLP Driver Service calls the XMLP Adapter Service.

      8. The XMLP Adapter Service calls the proxy PublicReportServiceService business service.

        The PublicReportServiceService Web service is the interface between the Siebel application and the Oracle BI Publisher Server.

      9. The PublicReportService business service makes a Web service call to the Oracle BI Publisher Server. For more information, see How Siebel CRM Uses the PublicReportServiceService Web Service.

      10. The Oracle BI Publisher Server runs the report, and then makes a Web service call to the PublicReportServiceService business service to return the report binary data.

        The Oracle BI Publisher Server uses XSLT and XPath files to get XML data from the Siebel Database, and then merges this data with the report template that it gets from the Oracle BI Publisher repository. It then sends the report to the Siebel application. For more information, see How Siebel CRM Uses the Oracle BI Publisher Repository.

      11. The PublicReportServiceService business service returns control to the XMLP Adapter Service.

      12. The XMLP Adapter Service downloads the report, and then creates the file in the Siebel File System. Siebel CRM displays the file in the Siebel application.

        How Siebel CRM Uses the PublicReportServiceService Web Service

        The PublicReportServiceService Web service is a Web service that Oracle BI Publisher uses to upload and send a report to the Siebel application. It does the following work:

        • Validates privileges

        • Gets information about reports, the Oracle BI Publisher repository, and the Oracle BI Publisher Server SharedFolder/SIEBELCRMREPORTS

        • Runs reports

        • Creates and manages reports

          How Siebel CRM Uses the Oracle BI Publisher Repository

          The Oracle BI Publisher repository is a repository that contains predefined reports and new reports that you create. It resides on the Oracle BI Publisher Server. You install it when you install the Oracle BI Publisher Server. The following folder in the Oracle BI Publisher repository stores all reports:

          SharedFolder/SIEBELCRMREPORTS
          

          Siebel CRM stores the report template files that it requires to run a report in a separate folder in the SIEBELCRMREPORTS folder. For more information, see Directory Structure That Siebel Reports Uses.

            How Siebel CRM Runs Reports in Disconnected Clients

            The following figure illustrates the architecture that Siebel CRM uses to run a report if the user is using a disconnected client. The Siebel Mobile Web Client and Siebel Developer Web Client allow you to run reports if disconnected from the Siebel Server.

            How Siebel CRM Runs Reports in Disconnected Clients

            Explanation of Callouts

            Siebel CRM does the following work when it runs a report in a disconnected client:

            1. A user runs a report from the Run Report pane.

            2. Siebel CRM uses the EAI Siebel Adapter to get data from the Siebel Database, and then stores this data as XML code in the following folder:

              SIEBEL_CLIENT_ROOT\CLASSES\XMLP\DATA
              
            3. Siebel CRM calls the XMLP Report Java Business Service.

            4. The XMLP Report Business Service calls the EAI Java Business Service, and then loads the JAR files in the Java Virtual Machine.

              The XMLP Report Business Service provides XML files to the Oracle BI Publisher XDO Engine to merge the report templates with XML data. One of the required inputs for the XDO Engine is an XML file. Siebel CRM uses the EAI Java Business Service to connect a Siebel application to the XDO Engine, and then uses the EAI Siebel Adapter to create the XML files. Oracle BI Publisher uses the EAI Java Business Service to send the XML file to the Oracle BI Publisher XDO Engine. This XML file contains the data that Siebel CRM uses to populate the report. Siebel CRM gets this data when it queries various data sources.

              Siebel CRM merges the XML data file with the report template, and then the Oracle BI Publisher displays the report in the client after storing the file in the Siebel File System.

              The XMLP Report Business Service and the Oracle BI Publisher libraries (XDO JAR files) are available as part of a Siebel mobile client installation. These libraries reside in the SIEBEL_CLIENT_ROOT\CLASSES folder. For information about installing a client, see Siebel Installation Guide for the operating system you are using.

              The EAI Java Business Service is the JVM (Java Virtual Machine) interface that resides between the XDO Engine and the Siebel application. For more information about the EAI Java Business Service and Java Virtual Machine, see Transports and Interfaces: Siebel Enterprise Application Integration.

            5. The Oracle BI Publisher XDO Engine loads the XDO classes from the JAR files. Siebel CRM then sends the XML, XLIFF, and XSL templates to the XDO classes to run the report. Siebel CRM temporarily stores the report in the following folder, and then sends it to the Siebel File System:

              SIEBEL_CLIENT_ROOT\CLASSES\XMLP\REPORTS
              

              Oracle BI Publisher uses the XSLT and XPath files to get data from the XML data, and then incorporates this data into a report template file. The XSL data includes the XSLT, XPath, and XSL-FO standards that Siebel CRM uses to manipulate XML data. The XMLP Report server component uses the XDO Engine to convert the report template files into the XSL format. It then uses the BI Publisher-FO Processor to convert these files to the report that it publishes.

            6. Siebel CRM sends control to the Siebel client, and then this client displays the report.

              How Siebel Reports Uses Integration Objects

              An integration object is a type of object that stores metadata that allows Siebel Reports to get Siebel data in XML format. It identifies the data that Siebel CRM must integrate. For example, a business object might contain multiple business components and fields, but most integrations only require some of these business components and fields. An integration object can specify only the business components and fields that Siebel CRM requires to run a report.

              A typical Siebel integration uses Siebel EAI and integration objects to get data from an external application and then distribute this data to a Siebel deployment. Siebel EAI distributes this data in an integration message that includes header data. This header data identifies the message type, message structure, and a body that contains one or more instances of data. Example data includes orders, accounts, or employee records.

              Siebel CRM uses this XML data to create a report template in RTF format and to run the report. Siebel CRM creates an XML data file that the following items use to merge the XML data with the report template, and then creates the report:

              • Connected client. It uses the Siebel XMLP Report server component.

              • Disconnected client. It uses the Oracle BI Publisher XDO Engine.

              It is recommended that you modify an existing integration object before you create a new integration object. If no existing integration object meets your requirements, then you can create one. For more information, see Modifying Predefined Integration Objects to Add Fields to Reports and Creating New Integration Objects to Add Fields to Reports.

              For more information about integration objects, see Integration Platform Technologies: Siebel Enterprise Application Integration.

                Computer Languages That Siebel Reports Uses

                Siebel Reports uses the following file types:

                • XML (Extensible Markup Language). A metalanguage that describes a markup language. It is a simplified version of SGML (Standard Generalized Markup Language). A markup language allows Siebel CRM to identify structures in a document. XML allows you to add markup to a document. It allows you to define tags and structural relationships between tags.

                • XSL (Extensible Stylesheet Language). A language that defines style sheets. An XSL style sheet is a file that describes how to display an XML document of a given type. Siebel CRM uses XSL files only in a disconnected client. For more information, see How Siebel CRM Runs Reports in Disconnected Clients.

                • XLIFF (XML Localization Interchange File Format). A format that stores text and carries data from one step to another step when Siebel CRM must support multiple languages.

                • XSL-FO (Extensible Stylesheet Language-Formatting Objects). An XML vocabulary that Siebel CRM uses to specify format semantics.

                • XSLT (Extensible Stylesheet Language Transformation). A language that Siebel CRM uses to transform XML documents.

                • XPath (XML Path Language). An expression language that XSLT uses to access or to refer to parts of an XML document.

                For more information about the output types that a user can choose, see Output File Types That Siebel Reports Supports.

                  About the Report Business Service

                  You can use the Report Business Service to run, share, or print a report automatically without requiring a user interaction. It allows Siebel CRM to run a report from a workflow process or in reply to a script that you write. You can create a workflow process that includes a business service step, and this step can reference a method of the Report Business Service. For example, you can create a workflow process that automatically does the following:

                  • Runs a report according to a specific query

                  • Saves a report in a specific format

                  • Sends a report to a customer in an email message

                  For more information about creating a workflow process, see Siebel Business Process Framework: Workflow Guide.

                  For more information about the Report Business Service and using business services with Siebel Reports, see the following documents on My Oracle Support:

                  • 1425724.1 (Article ID), Siebel BI Publisher Reports Business Service Methods

                  • 823360.1 (Article ID), Siebel BI Publisher Reports Business Service Methods

                  • 1362460.1 (Article ID), Using Oracle BI Publisher for Siebel Proposals

                    Guidelines for Modifying the Report Business Service

                    If you must modify the Report Business Service, then it is recommended that you use the following guidelines:

                    • Make sure you possess detailed knowledge and skills for the following items:

                      • Using Siebel Tools

                      • Using the Siebel Business Process Designer

                      • Using the Oracle BI Publisher Server

                      • Modifying a business service

                      • Scripting

                    • Make sure Siebel BI Publisher is integrated. This integration allows Siebel CRM to use the business service methods of the Report Business Service.

                    • If you use the Report Business Service to upgrade from a prior release, then make sure you do the following work:

                      • Make sure the following workflow processes are active:

                        • BIP Report Generation

                        • BIP Create Report Output

                      • You can use the language code as an optional input argument in the XMLP Driver Service business service.

                      Report Business Service Methods

                      The following table describes the methods that you can use with the XMLP Driver Service of the Report Business Service.

                      Table Methods That You Can Use with the Report Business Service

                      Method Description

                      GenerateBIPReport

                      Runs a report in a connected client. This is the final method that you must use to run a report. It creates Siebel binary data, and then sends this data to BI Publisher server. It calls the RunBIPReport method to run the report.

                      GenerateReport

                      Runs a report in a disconnected client. This is the final method that you must use to run a report. It creates Siebel binary data, and then sends this data to BI Publisher server. It calls the RunBIPReport method to run the report.

                      EMailReport

                      Submits a scheduled report, and then emails this report when the report finishes. You must make sure you configure the email server that your deployment uses so that it uses the BI Publisher server to deliver the email message.

                      FTPReport

                      Submits a scheduled report, and then uses FTP to send this report when the report finishes. You must make sure you configure the FTP server that your deployment uses so that it uses the BI Publisher server to send the FTP.

                      FaxReport

                      Submits a scheduled report, and then faxes this report when the report finishes. You must configure the BI Publisher server so that it sends this fax to the fax computer.

                      LocalDeliveryReport

                      Saves a report in the BI Publisher repository that resides on the BI Publisher file server.

                      PrintReport

                      Submits a scheduled report, and then prints this report when the report finishes. You must make sure you configure the BI Publisher server to use this printer.

                      ScheduleReport

                      Schedules a report.

                      WEBDAVReport

                      Submits a scheduled report, and then sends this report to the domain according to the WEBDav that you configure on the BI Publisher server.

                      AttachEntity

                      Sends input arguments to the Reports Business Service that determines how to do one of the following:

                      • Store the report in the Report Output business component.

                      • Attach the report to an Attachment business component.

                      The AttachEntity method is part of the GenerateBIPReport method.

                        Directory Structure That Siebel Reports Uses

                        The following table describes the folders that Siebel Reports uses. These folders reside in the following folder on the Siebel Server:

                        SIEBEL_SERVER_ROOT\XMLP
                        

                        Table Siebel Reports Directory Structure

                        Directory Description
                        SIEBEL_SERVER_ROOT\XMLP\DATA
                        

                        Contains the XML files that Siebel CRM creates from integration objects. For more information, see How Siebel Reports Uses Integration Objects.

                        SIEBEL_SERVER_ROOT\XMLP\FONTS
                        

                        Contains the predefined .ttf (TrueType format) font files. For more information, see Making Sure Fonts Are Available for Reports.

                        SIEBEL_SERVER_ROOT\XMLP\REPORTS
                        

                        Contains the temporary files that Siebel CRM uses to run a report.

                        SIEBEL_SERVER_ROOT\XMLP\TEMPLATES
                        

                        Contains the report template files. The user can download these report files to a local hard drive. This folder also contains the XSL files that a disconnected client requires. For information about how Siebel CRM uses these files to run a report, see About the Siebel Reports Architecture.

                        SIEBEL_SERVER_ROOT\XMLP\xliff\language_code 

                        Contains the XLIFF files that Siebel CRM uses for multiple languages. Siebel CRM uses XLIFF files as the XML format that it uses to exchange data across multiple language. If Siebel CRM supports multiple languages, then it uses a separate language subfolder that resides in the xliff folder for each language. It uses a language code to identify the language that this language subfolder contains. For example:

                        • XLIFF files for German reside in the xliff\deu folder.

                        • XLIFF files for French reside in xliff\fra folder.

                        Siebel CRM registers a report template, and then stores the XLIFF file in an SIEBEL_SERVER_ROOT\XMLP\language_code folder on the Siebel Server. Siebel CRM places the XLIFF files for each language folder and the RTF file in a corresponding folder on the Oracle BI Publisher Server when you upload the report template.

                          Directory Structure That the Oracle BI Publisher Repository Uses

                          The following table describes example folders that the Oracle BI Publisher Repository uses with a connected client.

                          Table Siebel Reports Directory Structure

                          Example Directory Description

                          ORACLE_HOME/xmlp/XMLP/Reports/SiebelCRMReports/Account List/

                          This directory contains the following files:

                          • aclist.xdo. Contains the report definitions.

                          • aclist.rtf. Contains the report template.

                          • aclist_ja_JP.xlf. Example file of a language translation.

                          • aclist_de_DE.xlf. Example file of a language translation.

                          ORACLE_HOME/xmlp/XMLP/Reports/SiebelCRMReports/Contact List/

                          This directory contains the following files:

                          • cnlist.xdo. Contains the report definitions.

                          • cnlist.rtf. Contains the report template.

                          • cnlist_ja_JP.xlf. Example file of a language translation.

                          • cnlist_de_DE.xlf. Example file of a language translation.

                            How Siebel CRM Controls Access to Reports

                            Siebel Reports use the same positions, responsibilities, and organizations to identify the reports a user can access that Siebel CRM uses to determine the views this user can access:

                            • The relationship that exists between the view and the report determines if a user can view a predefined report template.

                            • The position determines if the user can view a custom report template.

                            • The position determines if the user can share reports that finished running.

                            For more information about:

                            • Setting up responsibilities for reports, see the topic about setting up and enabling the Siebel Security Model for Siebel Reports in 1501378.1 (Article ID) on My Oracle Support.

                            • User access in relation to Siebel Reports, see the topic about security and authentication in 1501378.1 (Article ID), Integrating BI Publisher with Siebel Business Applications Version 8.1.1.x and Version 8.2.2.x, on My Oracle Support.

                            • Granting access to other users, see Sharing Report Templates.

                            • General information about controlling access, see Siebel Security Guide.

                              How Siebel CRM Uses Report Templates With Organizations

                              The user can view reports that are specific to an organization, where the Active Position Organization equals the organization or organizations that you define for a custom report template. A user who can view more than one organization can change the Primary Active Position Organization field during a session.

                              For example, assume a sales representative and this representative’s manager can view the same view, but the reports that these users can run vary depending on how Siebel CRM controls access to the reports. Assume the representative resides in the Holland organization, the manager resides in the Benelux organization, and that Benelux is the parent organization of the Holland and Belgium organizations. When accessing the Run Report pane:

                              • The sales representative and the manager can view any report that is defined in the report template views and that is associated with the view.

                              • The sales representative can view custom templates that:

                                • The representative created in the My Templates view. These templates include only a default organization.

                                • Are explicitly associated with the Holland organization, assuming the position is associated with the Holland organization.

                              • The manager can view custom templates that:

                                • The manager created in the My Template View or templates his subordinates created that appear in the My Teams view. These templates include only a default organization.

                                • Are explicitly associated to the Benelux organization, given his current active position organization is Benelux.

                                • A user created, where this user is associated with the Holland or Belgium organizations. The manager can view any report template that a subordinate creates when associated with any organization.