Business Intelligence (BI) systems address the demands of large scale enterprises for operational analytics, management information and decision support tasks. Building such applications presents many challenges. They must support complex and changing data models, have fast turnarounds, present an up-to-date and accurate view of information and provide extensibility mechanisms for new analyses. Widely adopted distributed object systems, such as J2EE can be heavyweight and inflexible when applied to the described scenario. This paper presents our experience when developing a data analysis system that applies a combination of lightweight distributed component technologies available for Java. These technologies are combined in an event-based architecture that anticipates constant changes to analysis algorithms in short time frames and provides the ability to maintain correlated analyses in a consistent state. The resulting architecture is extensible, easy to deploy, highly configurable ...