MicroStrategy ONE
Workflow for Data as a Service
Embedding MicroStrategy BI data in a line of business application by using data as a service provides the quick response required by today's dynamic interactive web technologies, such as "Extreme Ajax". An application can pass a task (that is, a web-accessible service) request to MicroStrategy Web and receive back only that portion of information that is needed, rather than passing a page request that updates all of the information on the page.
The diagram below illustrates the typical workflow for an application that retrieves context-specific BI data on the fly, when a user is making the request with a task. The request includes the information needed to connect to MicroStrategy Web and the ID of the report or document to be executed. Depending on the format in which the application expects to receive the BI data, the task request can also include a parameter that specifies the style (that is, the transform) to be applied when rendering the data. Task requests are handled by the Task Processor instead of the servlet or ASP.NET page, which handles normal MicroStrategy Web page execution.
The following steps describe the sequence of actions that take place in the workflow illustrated in the diagram above.
-
On a client—such as a composite application, RIA, web browser, or portal—a user opens an application that includes MicroStrategy BI data. The user request for MicroStrategy BI data is sent to the application.
-
The application forwards the request for MicroStrategy BI data, including any relevant properties, such as the report or document ID, to a BI proxy.
-
The BI proxy (that is, the code responsible for making the call to MicroStrategy Web) connects to a properties vault (or other storage mechanism) where user personalization properties are saved. The BI proxy retrieves the properties that are required to connect to MicroStrategy Web and retrieve the BI data—MicroStrategy-specific properties such as the Web Server, port, Intelligence Server, and project. The properties that are retrieved are forwarded in the request together with the properties that are sent dynamically.
-
The BI proxy makes a call to MicroStrategy Web to create the session. If the session is already available, it retrieves the existing session and sends a task request along with the session state and other relevant parameters, such as the ID of the report or document to be executed.
-
MicroStrategy Web receives the task request, and the Task Processor handles it using the session state and other information included in the request.
-
MicroStrategy Web connects to Intelligence Server and requests execution of the specified report or document.
-
The report or document is executed on Intelligence Server, which returns the XML results to MicroStrategy Web.
-
MicroStrategy Web renders the data by applying the specified style, and the Task Processor delivers the data back to the BI proxy.
MicroStrategy includes an extensive set of out-of-the-box styles and transforms that can be used to convert reports to XML and that can also be extended to produce custom output. MicroStrategy Web delivers the data back in the format needed by the application, based on the style applied. MicroStrategy Web can deliver the data in HTML, XML, or a comma-delimited format.
-
The BI proxy retrieves the information passed to it and handles it appropriately. If it is HTML, it sends it to the client for display. If it is XML, it parses the information, converts it to HTML, and sends it to the client for display.
-
The user views the MicroStrategy BI data rendered on the client.
This workflow happens automatically, dynamically, and transparently to the end user, who simply sees the application he or she has opened, including the embedded BI data.
The steps in this topic describe the typical workflow when a user is requesting BI data. Because multiple tasks are typically used in this workflow, a session is established during the first request and it remains open for as many requests as the user makes. When an application is making the request, the workflow is generally different. Because there is no predictable pattern to the frequency of requests, a session is opened and immediately closed for each separate request for data. MicroStrategy Web includes a special composite task, called ReportDataService, that performs all of the services needed for an application to log on to MicroStrategy Web, execute a specified report, and log off from MicroStrategy Web. See How Applications Can Request BI Data Using Data as a Service for an explanation of the ReportDataService task.
See also