MicroStrategy ONE

Understanding MicroStrategy Web

Before changing the way MicroStrategy Web products look or behave, it is helpful to understand how the application is built. The MicroStrategy Web products are built on a series of object layers, each of which maintains its own roles and responsibilities. Customizing the application requires you to be aware of what files or objects need to be manipulated to accomplish a given customization task.

For example, users can access the application only after being authenticated through the application's authentication mechanism. Integrating MicroStrategy Web products with an external security functionality requires a detailed understanding of how the application handles session management and authentication. When a user makes a request, it goes through a standard series of steps. If you wish to alter or append code to be executed while the application executes a request, you must be intimately familiar with the page execution flow. The application also maintains a comprehensive structure for handling errors and providing potentially helpful information for debugging.

All this information is discussed in this Architecture section. You may find it useful to browse through this information and come back to it later as you extend your understanding of the tasks you need to perform to accomplish your customizations. The topics covered include the following:

  • Benefits of MicroStrategy Web
    This section highlights the benefits of the MicroStrategy Web architecture.  

  • Architectural Layers
    This section provides a graphical representation of the architecture that describes the functionality of the main servlet or corresponding ASP.NET file in the context of the page execution flow, along with details for every architectural layer. A package diagram provides information about the various Java packages that comprise the architectural layers.

    A complete understanding of the architecture is not required for performing every customization. Only certain parts of the architecture may be important to you, depending on the nature of the desired customization. The customization tasks pertinent to a particular architecture layer are defined at the beginning of the topic that discusses that layer.  

  • Authentication Integration and Single Sign-On
    This section introduces the creation of connections and sessions that constitute the authentication query flow, along with information on error handling and how to interact with the External Security Module.  

  • Block Infrastructure
    This section introduces the basics and conceptual information for the Block Infrastructure. This technique is used to implement features such as prompts, toolbars and menus.  

  • Error handling
    This section discusses the error handling processes that are implemented by the MicroStrategy Web products.  

  • HTML Generation
    This section discusses different methods used by MicroStrategy Web to generate HTML output and the underlying technology used to generate the output.  

  • Page Execution and Event Processing
    This section provides information on the page execution flow within MicroStrategy Web, along with examples for common processes such as folder browsing and report execution. This information is particularly important in advanced customizations.  

  • Prompts Architecture
    This section discusses how prompts are implemented in MicroStrategy Web 9.x and later. The information provided is useful if you wish to customize prompts.  

  • Task (Web-accessible Service) Execution
    This section discusses the new Task Infrastructure and its component Tasks, which are designed to support interactive, collaborative, user-driven Web 2.0 applications such as mashups, Rich Internet Applications, and other composite applications. Tasks facilitate highly interactive web and web services-based applications by providing the ability to refresh only portions of a web page, rather than reloading the entire page, when a  new request is made to retrieve data from the server.

There is a brief discussion of the use of the term Web Components in the MSDL to clarify its meaning.