Next-Generation Business Intelligence Software with Silverlight 3

Next-Generation Business Intelligence Software with Silverlight 3

von: Bart Czernicki

Apress, 2011

ISBN: 9781430224884 , 576 Seiten

Format: PDF, OL

Kopierschutz: Wasserzeichen

Windows PC,Mac OSX für alle DRM-fähigen eReader Apple iPad, Android Tablet PC's Online-Lesen für: Windows PC,Mac OSX,Linux

Preis: 56,99 EUR

  • Microsoft SharePoint 2010 - Building Solutions for SharePoint 2010
    Pro SharePoint 2010 Solution Development - Combining .NET, SharePoint, and Office 2010
    Oracle SQL Recipes - A Problem-Solution Approach
    Android Essentials
    Haskell-Intensivkurs - Ein kompakter Einstieg in die funktionale Programmierung
    Numerik-Algorithmen - Verfahren, Beispiele, Anwendungen
 

Mehr zum Inhalt

Next-Generation Business Intelligence Software with Silverlight 3


 

Contents at a Glance

5

Table of Contents

6

About the Author

13

About the Technical Reviewer

14

Introduction

15

Who Should Read This Book?

16

Silverlight Developers or Architects

16

BI Professionals

16

Strategic Decision Makers in Technology

17

Technical and Nontechnical Audiences

17

Why Should You Invest in This Book?

18

Chapter Roadmap

19

What Is Not Covered in This Book?

20

Why Aren’t Data Services Covered in This Book?

20

Following the Coding Exercises in the Book

20

Software You Need to Follow the Exercises

21

Companion Web Site

21

Author on the Internet

22

Chapter 1: Business Intelligence 2.0 Defined

23

The Need to Make Better Decisions

23

Decision Support Systems

24

Business Intelligence Is Born

25

Business Intelligence Defined

26

BI Terms

27

Architecture of a Business Intelligence System

28

Component Overview of a BI Architecture

28

Data Feeds

29

Extract-Transform-Load Process

30

The Data Warehouse

32

The BI Presentation Layer (Presentation of Knowledge)

32

Challenges of Bringing the BI Tiers Together

32

Business Intelligence 1.0 Implementation

33

BI 1.0’s Intended Audience

34

Two Distinct Users of BI 1.0

34

Proper Understanding of BI Models

35

Applications

36

Static and Noninteractive Data

38

System Design

39

Business Intelligence 2.0 Implementation

40

How BI 2.0 Came to Be

40

Web 2.0

41

Agile Development Methodologies

41

Service Orientation

42

BI 2.0’s Intended Audience

42

Empowering the BI 2.0 User

43

Applications

44

System Design

46

Comparison of Business Intelligence 1.0 and 2.0

47

Summary

48

Chapter 2: Advantages of Applying Business Intelligence 2.0 Using Microsoft Silverlight

49

Industry Trends

50

Delivery to Multiple Platforms

50

The Desktop Platform

51

The Web Platform

51

The Mobile Platform

52

Value in Services

53

Virtualizing Resources on the Cloud

53

What Is Silverlight?

54

The Silverlight Solution

55

Less Plumbing, More Designing

55

Leveraging the Power of .NET

56

It’s All on the Client (Well, Mostly)

56

Next-Generation Interaction with Multitouch

57

Multiple Platforms and the Cloud

57

The Web

58

The Desktop

58

Mobile

59

The Cloud

59

Silverlight vs. Other RIA Technologies

60

Current State of RIA Technology

60

Silverlight’s Position Among RIAs

62

Silverlight: The Business RIA

63

Lessons from the Past

63

Leveraging Existing Development Investments

64

Moving to the Cloud More Easily

64

Integrating with Microsoft Products

64

Overcoming Silverlight’s Weaknesses

66

The Microsoft Business Intelligence Platform and Silverlight

67

SQL Server BI

67

Microsoft Office BI

67

What Does Silverlight Have to Offer BI?

68

Summary

69

Chapter 3: Silverlight As a Business Intelligence Client

70

Client Distributed Architecture

71

Distributed Architectures Defined

71

Problems with N-Tier Architecture

73

Scaling BI with the Client Tier

75

Business Logic on the Silverlight Client

78

First-Class Data Structures and Querying

78

Local Access to the DOM

78

Isolated Storage

78

Multithreading

78

Open and Save Dialogs

79

Visual Intelligence

79

Common Scenarios Handled with Silverlight

79

Coding Scenario: Working with Business Data

80

Querying Large Data Sets with LINQ

80

Lessons Learned

87

Coding Scenario: Decoupling Business Algorithms

88

Applying Business Logic with Data Binding and Value Converters

88

Lessons Learned

97

Coding Scenario: Persisting Local Data

97

In-Memory and Isolated Storage Caching

98

Lessons Learned

106

Summary

106

Chapter 4: Adding Interactivity to Business Intelligence Data

108

User Interactivity

109

Importance of Good User Interactivity

109

Touch Interactivity

110

Silverlight and Interactivity Support

111

Interactivity with Business Intelligence Data

112

Types of Data Interactivity

113

Sorting

114

Data Paging

114

Filtering

114

Searching

114

Grouping and Pivoting Data

114

Applying Interactivity in Business Intelligence with Silverlight

116

Common Silverlight Controls for Data Lists

116

Data Grid

117

List Box

118

Tree View

118

Coding Scenario: Lazy Loading List Box Data

120

Importance of Lazy Loading

120

Lessons Learned

131

Coding Scenario: Interactive Data Paging with the Slider Control

131

Lessons Learned

140

Possible Enhancements

141

Coding Scenario: Fluent Data Filtering with the Slider Control

141

Lessons Learned

143

Possible Enhancements

144

Coding Scenario: Searching Data with the AutoCompleteBox Control

144

Lessons Learned

146

Summary

147

Chapter 5: Introduction to Data Visualizations

148

What Are Data Visualizations?

149

Characteristics of a Data Visualization

151

Respect the Data

151

Simple and to the Point

152

Animations and Transitions

153

Interactivity

155

Widgets and Dashboards

156

Data Visualizations and Business Intelligence 2.0

156

BI for the Masses

156

Controlled Analysis

156

Simple to Use

156

Rich Interfaces

157

Challenges of Implementing Data Visualizations

157

Custom Controls

157

Need for Designers

157

Reinventing the Insight Wheel

158

Presenting Proper Insight

158

Not Knowing the Target Audience

158

Data Visualizations Might Not Be Enough

158

Data Visualizations and Silverlight

159

Out-of-the-Box Data Visualizations

159

Rich Rendering Engine and Design Tools

160

Data-Centric Processing

162

Integration with Microsoft Enterprise Services

162

Descry Framework

163

Coding Scenarios

165

Chart Data Visualizations

165

Lessons Learned

172

Building a Tag Cloud

172

Lessons Learned

177

Using Geographic Visualizations

177

Lessons Learned

185

Summary

185

Chapter 6: Creating Data Visualizations for Analysis

186

Choosing a Visualization for Analysis

187

Determining Types of Analysis for Silverlight Visualizations

190

Comparing Parts of a Whole

191

Applying Chart Styles in Silverlight

195

Visualizing Trend Analysis

199

Comparing Metrics to Organizational Goals

203

Comparing Ratios (Before and After)

206

Text Data

207

Geographical Data

208

Hierarchical Data

208

Other Visualization Types

210

Managing Layout with Word-Sized Visualizations

210

Types of Word-Sized Visualizations

211

Sparklines

211

Applying Sparklines in Silverlight

213

Column Charts

215

Applying Word-Sized Column Visualizations in Silverlight

217

Progress Bars

221

Other Candidates for Word-Sized Charts

221

Summary

222

Chapter 7: Enhancing Visual Intelligence in Silverlight

223

Workflow Visualizations

224

Workflows in Silverlight

226

Using Graphical Symbols

227

Creating Graphical Assets

227

Visualization Layout

229

Creating Composite Visuals for Analysis

231

Creating a Cross-Tab Data Visualization

231

Silverlight Cross-Tab Implementation

232

Why a Cross-Tab Implementation?

239

Improving the Implementation

239

Visualizations for the Environment

241

Comparing Non-Silverlight Solutions

243

Other Development Environments

243

Visual Intelligence Vendors

244

Silverlight As a Visual Intelligence Engine

244

Coding Scenario: Providing the User Options

245

Lessons Learned

254

Possible Improvements

254

Summary

255

Chapter 8: Applying Collective Intelligence

256

What Is Collective Intelligence?

257

Collective Intelligence and Web 2.0

258

The User Is Always Right

258

Content Is the User

259

Classifying Collective Intelligence Data

262

Collective Intelligence As BI 2.0 Applied

263

Advantages of Applying Collective Intelligence

263

Measuring Collective Intelligence

265

Collecting and Displaying User Content

266

Collecting User-Generated Data

266

Keeping It Simple

267

Explicit Data Collection

268

Implicit Data Collection

271

Displaying User-Generated Data

272

Example of Collective Intelligence in Blogs

275

Collective Intelligence UIs with Silverlight

276

Collective Intelligence in the Enterprise

277

Coding Scenarios

277

Coding Scenario: Working with the Rating Control

277

Lessons Learned

288

Possible Improvements

289

Coding Scenario: Collecting Data Implicitly

289

Lessons Learned

294

Possible Improvements

294

Summary

294

Chapter 9: Predictive Analytics (What-If Modeling)

295

What Is Predictive Analytics?

296

Predictive Analytics Overview

296

Classic Predictive Analytics with What-If Analysis

298

Delivering Predictive Analytics Faster with BI 2.0

301

Choosing Correct Data Sets for Predictive Models

303

Implementing the Proper Tier for Predictive Analysis

304

Benefits of Applying Predictive Analytics

305

Bringing Out Additional Value to Existing Data

305

Translating Assumptions into Decisions

305

Being Proactive Instead of Reactive

306

Gaining Competitive Advantage

306

Applying Forward-Looking Models in Silverlight

307

Using a Functional Language (F#)

307

Designing Predictive Models Using Silverlight

308

Predictive Models with Aggregated Data Sets

310

Building the Profit Forecast Control

310

Communicating Between Local Controls

312

Key Highlights

315

Deployment Using the Plug-In Model

315

Coding Scenario: Applying a Statistical Model to Predict Future Behavior

316

Part 1: Creating the UI and Applying a Static Predictive Model

317

Part 2: Creating an Interactive and Visual Predictive Model

325

Lessons Learned

331

Possible Improvements

331

Summary

332

Chapter 10: Improving Performance with Concurrent Programming

333

Concurrent Programming Defined

334

Processor Architecture Shift to Multiple Cores

335

Taking Advantage of Multicore Architectures

337

Multithreading vs. Parallelism

339

Multithreading

339

Parallelism

340

Silverlight Concurrent Programming Features

344

Multithreading Support

344

Silverlight Multithreading Essentials

345

Using the BackgroundWorker Class

348

Using the Network Stack Asynchronously

349

Concurrency and Rendering

350

Improving Business Application Performance

352

Silverlight Concurrent Programming Limitations

354

No Parallel Extension Support

354

Missing Concurrency Programming Essentials

354

Do Not Block the UI Thread

354

Missing Implementations in the Framework

355

Coding Scenarios

356

Coding Scenario: Improving the Performance of the UI

356

Lessons Learned

368

Possible Improvements

368

Coding Scenario: Improving Computational Processing Performance

368

Part 1: Getting the Project Ready for Concurrency

369

Part 2: Designing a Two-Thread Solution to Improve Performance

374

Part 3: Dynamic Concurrency and Performance Analysis

379

Lessons Learned

383

Possible Improvements

383

Additional Coding Scenarios on the Companion Web Site

383

Summary

384

Chapter 11: Integrating with Business Intelligence Systems

385

Architecting for Business Intelligence Systems

386

Infrastructure and Software Requirements

386

Non-Microsoft Infrastructures

390

New BI 2.0 Applications

391

Integrating with Existing BI Investments

394

Basic Integration

394

Communicating Between Silverlight Applications

395

Silverlight Web Parts

398

Two Types of Web Parts

399

Relationship Between Silverlight and Web Parts

400

Why Silverlight Web Parts?

401

Silverlight in the SaaS Model

402

SaaS for BI

402

SaaS Features Implemented in Silverlight

402

Centralized Management of Service Delivery

402

SaaS Maturity Model

406

Enterprise Composite Applications

409

SaaS in the Virtualized Cloud

410

Summary

411

Appendix: Prototyping Applications with Dynamic Data

412

Blend’s Dynamic Data Tools

412

Defining New Sample Data

413

Customizing Sample Data Sources

415

Customizing Properties

417

Customizing Collections

419

Behind the Scenes of Dynamic Data

420

Autogenerated Files

420

Using the Dynamic Data

422

Summary

424

Index

425