MicroStrategy ONE
Overview of Task (Service) Execution
In MicroStrategy Web, a task is a well-defined operation that is packaged as a Web-accessible service. Such an operation generally provides only a subset of the information displayed on a MicroStrategy Web page. As a result, when a request is made to retrieve data from the server using a task, only a portion of the web page needs to be updated, rather than the entire page. This ability to perform partial updates is key to supporting highly interactive web and web services-based applications.
Tasks are supported by the Task Infrastructure, MicroStrategy's service-oriented architecture (SOA). The Task Infrastructure was designed for performance and provide tasks with all of the advantages of using web-accessible services. There are several major benefits of using MicroStrategy tasks rather than having Web API logic in an application, including the fact that these services are:
-
Reusable
If logic is embedded in an application it cannot be reused by another application. Services, on the other hand, are reusable across applications. For example, assume that you have multiple web applications in which you want to embed MicroStrategy HTML. You can either write separate code for each application — perhaps even writing code in different languages (such as ASP, JSP, or PHP)— or you can use a task. If you use a task — whether it is an existing task provided by MicroStrategy or a custom task that you built— it can be reused in every application. This is especially important for programming languages that do not have an API available, such as PHP.
-
Abstracted
When you use services to create an application, you don't need to worry about the logic or workflow of MicroStrategy. You simply need to understand the parameters required for the tasks you are using, and MicroStrategy takes care of the rest. For example, assume that you want to create a consumer application in which a report is executed. You have two options for how to handle the report execution— use the MicroStrategy API or use a MicroStrategy task. If you use the MicroStrategy API, your application needs to understand how to create MicroStrategy Objects from factories, set the appropriate properties on the object, collect the appropriate data from Intelligence Server using flags, and transform the results into the correct format. If, on the other hand, you use a MicroStrategy task, your application only needs to pass easy to understand parameters, such as a report ID to specify which report to execute and a style to specify how to format the output. The workflow and the logic are handled by the Task Infrastructure and the specified task.
-
Encapsulated
Many different services can be accessed under the same architecture.
-
Discovery-based
Services can be very descriptive and can be discovered by external mechanisms.
To simplify the process of using tasks, MicroStrategy provides a set of pre-built tasks that cover a wide range of functionality. It also provides a powerful wizard that steps you through the process of creating your own custom tasks.
To use tasks effectively, it is helpful to have an understanding not only of tasks themselves, but also of the infrastructure and the architecture that support them. The topics in this section provide an explanation of each of these areas.
-
Tasks are well-defined operations packaged as Web-accessible services that are accessible to a variety of clients in a variety of forms. Tasks can be accessed via an HTTP request from a web browser to a server or a Web Service call from a client to a server using the SOAP protocol.
-
Overview of the Task Infrastructure
The Task Infrastructure is a set of components that facilitates highly interactive web and web services-based applications. It is designed to respond to a simple request in the fastest way by returning the least amount of data required to satisfy that request.
-
Architecture of the Task Infrastructure
This topic provides an explanation of the overall architecture of the Task Infrastructure.
-
The task execution sequence in this topic represents a typical workflow that can be created and tested using the Task Processor Administrator application.