System Design 1

BI 2.0 system design is actually a lot simpler than BI 1.0 design at a higher level. BI 2.0 systems tend to leverage existing enterprise services for data, business algorithms, or visualizations. Furthermore, BI 2.0 implementations have a higher level of quality, as more mature software engineering concepts are applied to the design of these systems. Leveraging services allows BI 2.0 software to be highly flexible. Changes in the service algorithms can automatically propagate down through the...

Querying Large Data Sets with LINQ

In this step-by-step exercise, we are going to aggregate some data to perform analysis on a large data set of people. We are going to create a large data set of 1 million Person objects as our sample data. They will be our data sample for analysis. The analysis we are going to perform is going to center around the body mass index BMI scale. Note The BMI scale is a measure and classification of a person's body type. The calculation uses the person's height and weight as the main input attributes...

FirstClass Data Structures and Querying

The Silverlight .NET runtime exposes many first-class data structures that can aid you in designing your BI solution. Developers have the ability to use a multitude of different data structures and tailor them to specific operations like searching or aggregation. This enhances the performance of local operations. Furthermore, the use of generics allows custom data structures to be reused with different types while remaining performant. These data structures can then be filtered, searched,...

Business Intelligence Defined

What is business intelligence 2.0 This is the question this chapter aims to answer definitively. Before you dive into implementing the different concepts associated with business intelligence BI , you need to understand it. This chapter is dedicated to demystifying what constitutes BI. As you will soon see, the term BI is very loose in that it can be attributed to a series of technologies, data, and practices, which makes its raw definition very ambiguous. Therefore, the sections of this...

Chapter Roadmap

Chapter 1 is an introductory chapter to BI. This chapter will introduce BI and the new wave of BI 2.0. It will show how BI is evolving and embracing new software development advancements. This chapter will contrast classic BI and BI 2.0 by showing numerous examples of current software offerings. Lastly, this chapter will define the core concepts of BI 2.0 that will be implemented throughout this book using Silverlight. Chapter 2 introduces the Microsoft RIA technology Silverlight. This chapter...

NextGeneration Interaction with Multitouch

If you have ever watched any of the forensic crime dramas on television these days, you're probably blown away by scenes where detectives analyze crime data completely using hand gestures. They zoom in, pan, pause, and select data assets by simply using a multitouch interface. Producers of these shows specifically add these visuals to make average viewers understand the insight provided by crime data. Doesn't that sound like one of the tenets of BI 2.0 While this may seem like space-age...

Comparison of Business Intelligence and

This chapter has introduced a lot of concepts regarding the history of BI. Table 1 -1 summarizes some of these concepts. Intended Includes business professionals Requires deep understanding of the data as well as the ability to use complex software Applications Is complex and requires training Uses a mix of desktop and web platforms Presents data statically and allows only limited interactivity Allows for open-world modeling and a provides for near-unlimited data manipulation which is error...

Applying Business Logic with Data Binding and Value Converters

Business Logic Code

Let us take a look at what we accomplished in the previous coding scenario. Figure 3-9 shows our business logic directly living inside our code-behind file. Furthermore, we have explicitly set the values of the labels. So inside our business algorithm, we are also setting UI code. The code right now is coupled to the procedural UI logic, and we can improve upon this. Figure 3-9. Our business logic living inside the code-behind file and setting UI object values Figure 3-9. Our business logic...

InMemory and Isolated Storage Caching

In a typical Silverlight application, you will have the application start up and retrieve data using some kind of web service. When all of the data in a request is in our Silverlight client, it is ready to have additional manipulations done on it or be displayed in a UI. We do not want to perform these expensive web service requests each time we need data. It would be much better to cache some of this information on the local client. Silverlight provides two different forms of caching we can...

Multiple Platforms and the Cloud

I mentioned earlier that Silverlight has been designed to deliver content across multiple platforms using a proprietary model or the cloud foundation. Figure 2-3 shows Silverlight embracing four different platforms under a common technology. The following subsections describe how Silverlight is able to solve these challenges specifically. Figure 2-3. Silverlight technology embraces multiple delivery platforms. Figure 2-3. Silverlight technology embraces multiple delivery platforms. Silverlight...