MicroStrategy ONE
Overview of Architectural Layers
The overall architecture for MicroStrategy Web products is shown below. This architecture is open and highly customizable. All the pieces of MicroStrategy Web products are structured as components with highly specialized functionality that is exposed through object interfaces. Since the architecture is built on the themes of component utilization and application-independence, all objects can be reused as building blocks for a customized application. Depending on the nature of your customization tasks, you may only need to understand certain parts of the architecture.
This architecture is based on the Model-View-Controller design paradigm that allows you to separate core data access functionality from the presentation and control logic:
-
The Model manages the behavior and data of the application domain, responds to requests for information about its state (usually from the View), and responds to instructions to change state (usually from the Controller).
-
The View manages the graphical and/or textual output for the application. It renders the content.
-
The Controller interprets inputs from the user (button clicks, GET and POST HTTP requests, and so on), commanding the Model and/or the View to change as appropriate.
The layers that make up MicroStrategy Web are:
-
Presentation Layer: A thin layer of JSP or ASP.NET files that define the page layout and can be easily edited. A servlet or ASP.NET file-Controller combination controls all actions and interconnections between JSP or ASP.NET files and other objects.
-
Application Objects Layer: The business intelligence (BI) information objects layer that contains JavaBeans which represent each of the information containers (such as reports, folders, and so on) that can be manipulated in the user interface. The BI information objects capture and process distinct user events (such as pivot, drill, and so on) that are acted upon them. Information objects can be ported to other Web applications as self-contained JavaBeans.
-
Web Beans Layer: Responsible for collecting the data from the back end and delegating the HTML rendering to the Web transforms layer. The Web beans layer is similar to the application objects layer, but it represents JavaBeans that are managed by MicroStrategy Intelligence Server, and therefore have an XML representation.
-
Web Transforms Layer: Contains Java classes that transform abstract BI information into a variety of viewable renderings for any user device or interface.
-
Web Objects Layer: The BI function layer that contains the Java classes that interpret and initiate distinct units of BI functionality (such as pivot, sort, subtotal, drill, and so on). This layer also constructs the aggregated XML API calls to the XML API layer.
-
XML API Layer: The communication objects layer that manages the high-throughput XML communication that accesses Intelligence Server methods.
Refer to the Package structure to understand the various Java packages that comprise the layers presented above.