The NEXT thing to try!!

Icon

Random rants and tips about NETCF, WinCE, Emacs, Powershell etc.

Presenting Flex Analysis Services Bridge!!

In my last post, I gave an idea about how one can make their flex application talk to a Microsoft Analysis Services instance. Flex Analysis service Bridge and HTTP pump together provide a layer in between to enable communication between two.

Here is the high level diagram illustrating the design of the bridge and the workflow.Flex Analysis Services Bridge

Request:

  1. An XMLA request like DISCOVER_CUBES is sent to the XMLAService.
  2. XMLAService takes the request and uses it to create a SOAP request. The created SOAP request is then sent to the HTTP pump.
  3. HTTP pump (msmdpump.dll) then forwards the request to the Microsoft Analysis Services Instance.

Reply:

  1. Microsoft Analysis Services respond to the request and send the SOAP reply to the HTTP pump.
  2. HTTP pump then forwards the reply to the bridge.
  3. Bridge then parses the reply and create an actionscript representation of the reply. XMLAService then dispatches an XMLA_RESULT event which can be listened and appropriate action can be taken. After dispatching the event XMLAService also takes care of calling the responders if any registered.

Similarly, when cube.refresh() is called from the Flex application, the bridge starts reading the cube by sending SOAP requests to the HTTP pump which in turn forward these requests to the Microsoft Analysis Services instance. The ASCube keeps parsing the replies and building the cube. It also keeps sending CUBE_PROGRESS events. Once it receives all the replies, it dispatches a CUBE_COMPLETE event.

Same workflow is followed in case of query execution.

I also explained in detail the code you need to write in your flex application in my last post. You can see, after using the bridge it requires almost zero effort to connect with a remote OLAP cube. The implementation is generic enough and is supposed to work in case of a custom XMLA provider like mondrian. The only thing you need there is a serviceURL or in other words an equivalent of HTTP pump which can accepts POST requests. Feel free to use and drop in your feedback.

You can download the code here.

Filed under: actionscript, flex, flex component, OLAP

<mx:ResizableTitleWindow>

ResizableTitleWindow Component Code is now available at the following link.

Resizable Title Window

Install instructions and the documentation is also there with the code.

Feel free to use and drop in your feedback.

Filed under: flex, flex component

AutoComplete: 2500 and still going

This is my first time I am writing something for the AutoComplete component considering the fact that I am the owner of this component

Its the implementation of the famous Autocomplete text control in flex. The basic functionality is to pop up list of suggestions as soon as a user starts typing in the text box (Just like what happens in your browser firefox/IE when you start typing a URL, it searches in the history and provides similar matches)

With AutoComplete, it is more generic. It provides a way to set the filtering criteria while providing suggestions i.e unlike browser you might want to start typing the reverse string and want to display what all matches from the end.(typing com should show up all websites ending with com)

In browser when we hit more and more URLs the suggestion list keeps increasing. Similarly, in this component the new entries can be added to the local history. This is implemented using local SharedObjects. Local Shared objects are like browser cookies which allows read/write of limited amount of data on user’s computer.

If the flag keepLocalHistory is set to true, it will start adding the new entries typed by the user and later will provide them also as suggestion.

And now the best thing. Advantage of doing things flex way-AutoComplete component is build by extending ComboBox control. ComboBox control allows any item renderer to be used in the drop-down list that appears. Thus, the developer is not restricted to use only text entries in the drop-down suggestion list. He can create his own custom item renderer using images, checkboxes, radio buttons, buttons and use them in the suggestion list. The samples provided with the component on flex exchange has some samples showing this use case (Thanks to Ajit for this).

The component was posted on September 27th, 2006 and our idea was to get 500 downloads in first 3 months and 1000 downloads in the long run. These were the exact figures given by Ajit (the other guy involved with me in this). But, to our surprise on its very first day, it got 200 downloads. And now from past 4 months AutoComplete component is on the top of most downloaded components on flex Exchange.

Filed under: flex, flex component

Resizable, Minimizable, Maximizable TitleWindow

By extending the existing TitleWindow I have came up with a resizable/minimizable/maximizable titlewindow component. The component still in the development phase and a neater version of the component will be available very soon.

The <ResizableTitleWindow> tag inherits all the tag attributes of its superclass, and adds the following tag attributes:

  <ResizableTitleWindow   

    Properties
    resizable="true"
    closeable="true"
    maximizable="true"
    minimizable="true"   

    Styles
    resizeAffordance="6"
    maximizeButtonIcon="Internal"
    minimizeButtonIcon="Internal"       

    Events
    maximize="No default"
    minimize="No default"
    restore="No default"   

  />

A sample application for the component can be found here.

Feel free to comment and make suggestions about the component.

Filed under: flex, flex component

About the author

avatar
25, Male, living in Hyderabad Mobile Developer, working for Microsoft IDC

View Nisheet Jain's profile on LinkedIn

RSS Mobile Dev Blog

  • An error has occurred; the feed is probably down. Try again later.