MicroStrategy ONE

Web Transforms Layer

The objects in the Web transforms layer, called transforms, are responsible for converting the data within a Web bean into its final output representation. This is typically HTML, but may also include other formats such as Wireless Markup Language (WML), plain text, or binary data.

The following customization tasks involve modifying objects within this layer:  

  • Modifying the look and feel of a MicroStrategy report or folder  

  • Modifying business intelligence functionality

Specifically, transform objects can be applied to any object that is transformable. All Web beans extend a transformable interface. The Web bean is a container for one or more transform objects, and it must specify at run-time which transform from its collection it wants to use to perform data rendering. Each transform object in the collection is capable of extracting and transforming the data in its containing Web bean using standard interfaces that the Web bean exposes. This may be either through XML-based interfaces (such as DOM document) or the Web Objects interfaces. The bean, however, remains the top-level object, containing the core methods that set off the execution process (using the collectData() method) or rendering processes (using the transform() method). The transform() method triggers a call to the default transform object registered to the calling Web bean. The transform object operates on a MarkupOutput object that records the result of the transformation and flushes it to the screen.

Summary: Bean-transform relationship

The relationship between transforms and a Web bean is depicted in the Bean-transform relationship diagram below:

For the following definitions, refer to the numbers in the Bean-transform relationship diagram above:

  1. Web bean: Responsible for collecting XML from Intelligence Server using a combination of Web objects. It manages a collection of transform objects and acts as both a Controller and a Model.
  2. Transform object: Operates on standard WebBean and WebObject interfaces to generate the output presentation. It makes use of a Markup Output object to store the generated output.
  3. Markup output object: Collects the output generated by a transform and directs its contents back to a Web browser. Creation and use of this object occurs automatically in the out-of-the-box MicroStrategy Web application. However, the MarkupOutput object can be controlled extensively using the API.

Transforms and events

It is important to know that transforms also use events. They generally use events to generate URL links and forms. Whenever a transform needs to generate a link or a form that will be used later to perform some user action, the transform searches for the event corresponding to the desired action and obtains a set of required and optional arguments from that event. The transform uses this information to construct a URL string or a form that encapsulates the request. If no event is found, the transform does not generate any output for it. This prevents the transform from generating a request that cannot be fulfilled by the Web page components.

See also