Silverlight 4 Business Intelligence Software

Silverlight 4 Business Intelligence Software

von: Bart Czernicki

Apress, 2011

ISBN: 9781430230618 , 576 Seiten

2. Auflage

Format: PDF, OL

Kopierschutz: Wasserzeichen

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

Preis: 49,99 EUR

  • IT-Risikomanagement leben! - Wirkungsvolle Umsetzung für Projekte in der Softwareentwicklung
    Mobile and Wireless Network Security and Privacy
    Windows Vista
    Enterprise Interoperability II - New Challenges and Approaches
    IT-Projektrecht - Vertragliche Gestaltung und Steuerung von IT-Projekten, Best Practices, Haftung der Geschäftsleitung
    Pro WPF - Windows Presentation Foundation in .NET 3.0
  • What's App? - Genial und verrückt! - Die Welt der kleinen Alleskönner

     

     

     

     

     

     

     

     

 

Mehr zum Inhalt

Silverlight 4 Business Intelligence Software


 

Title Page

1

Copyright Page

2

Table of Contents

4

About the Author

15

About the Technical Reviewer

16

Introduction

17

Who Should Read This Book?

18

Silverlight Developers or Architects

18

BI Professionals

18

Strategic Decision Makers in Technology

19

Technical and Nontechnical Audiences

19

Why Should You Invest in This Book?

20

Chapter Roadmap

21

What Is Not Covered in This Book?

22

Why Aren’t Data Services Covered in This Book?

22

Following the Coding Exercises in the Book

23

Software You Need to Follow the Exercises

23

Companion Web Site

24

What about Silverlight 3 Support?

26

Author on the Internet

26

Chapter 1: Business Intelligence 2.0 Defined

27

The Need to Make Better Decisions

27

Decision Support Systems

28

Business Intelligence Is Born

29

Business Intelligence Defined

30

BI Terms

30

Architecture of a Business Intelligence System

32

Component Overview of a BI Architecture

32

Data Feeds

33

Extract-Transform-Load Process

34

The Data Warehouse

35

The BI Presentation Layer (Presentation of Knowledge)

36

Challenges of Bringing the BI Tiers Together

36

Business Intelligence 1.0 Implementation

37

BI 1.0’s Intended Audience

37

Two Distinct Users of BI 1.0

38

Proper Understanding of BI Models

39

Applications

39

Static and Noninteractive Data

42

System Design

43

Business Intelligence 2.0 Implementation

44

How BI 2.0 Came to Be

44

Web 2.0

45

Agile Development Methodologies

45

Service Orientation

45

BI 2.0’s Intended Audience

46

Empowering the BI 2.0 User

47

Applications

48

System Design

49

Comparison of Business Intelligence 1.0 and 2.0

50

Summary

51

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

52

Industry Trends

53

Delivery to Multiple Platforms

53

The Desktop Platform

54

The Web Platform

54

The Mobile Platform

55

The Tablet Platform

56

Value in Services

56

Virtualizing Resources on the Cloud

56

What Is Silverlight?

58

The Silverlight Solution

58

Less Plumbing, More Designing

59

Leveraging the Power of .NET

59

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

60

Next-Generation Interaction with Multitouch

60

Multiple Platforms and the Cloud

61

Silverlight vs. Other RIA Technologies

64

Current State of RIA Technology

64

Silverlight’s Position Among RIAs

66

Silverlight vs. HTML 5

67

Key New Features of HTML 5

67

HTML 5 Limitations

68

Silverlight: The Business RIA

69

Lessons from the Past

70

Leveraging Existing Development Investments

70

Moving to the Cloud More Easily

70

Integrating with Microsoft Products

71

Overcoming Silverlight’s Weaknesses

73

The Microsoft Business Intelligence Platform and Silverlight

73

SQL Server BI

73

Microsoft Office BI

74

What Does Silverlight Have to Offer BI?

74

Summary

75

Chapter 3: Silverlight as a Business Intelligence Client

77

Client Distributed Architecture

78

Distributed Architectures Defined

78

Problems with N-Tier Architecture

80

Scaling BI with the Client Tier

82

Is Business Intelligence on the client viable?

84

Microsoft Excel

85

PowerPivot for Microsoft Excel 2010

86

Pivot for Silverlight

88

Disconnected MOLAP

89

Summary

90

Business Logic on the Silverlight Client

90

First-Class Data Structures and Querying

90

Local Access to the DOM

91

Isolated Storage

91

Multithreading

91

Open and Save Dialogs

91

Visual Intelligence

92

OData Support

92

COM Automation Support

92

Printing Support

93

F# Language Support

93

Improvements to Expression Blend 4

93

Common Scenarios Handled with Silverlight

94

Coding Scenario: Working with Business Data

95

Querying Large Data Sets with LINQ

95

Lessons Learned

102

Coding Scenario: Decoupling Business Algorithms

103

Applying Business Logic with Data Binding and Value Converters

103

Lessons Learned

110

Coding Scenario: Persisting Local Data

111

In-Memory and Isolated Storage Caching

111

Lessons Learned

119

Summary

120

Chapter 4: Adding Interactivity to Business Intelligence Data

121

User Interactivity

122

Importance of Good User Interactivity

122

Touch Interactivity

122

Silverlight and Interactivity Support

124

Interactivity with Business Intelligence Data

125

Types of Data Interactivity

125

Sorting

126

Data Paging

127

Filtering

127

Searching

127

Grouping and Pivoting Data

127

Applying Interactivity in Business Intelligence with Silverlight

129

Common Silverlight Controls for Data Lists

129

Data Grid

129

List Box

130

Tree View

131

Coding Scenario: Lazy Loading List Box Data

132

Importance of Lazy Loading

133

Lessons Learned

142

Coding Scenario: Interactive Data Paging with the Slider Control

143

Lessons Learned

151

Possible Enhancements

151

Coding Scenario: Fluent Data Filtering with the Slider Control

151

Lessons Learned

154

Possible Enhancements

154

Coding Scenario: Searching Data with the AutoCompleteBox Control

154

Lessons Learned

157

Summary

157

Chapter 5: Introduction to Data Visualizations

159

What Are Data Visualizations?

160

Characteristics of a Data Visualization

161

Respect the Data

161

Simple and to the Point

162

Animations and Transitions

163

Interactivity

165

Widgets and Dashboards

166

Data Visualizations and Business Intelligence 2.0

166

BI for the Masses

166

Controlled Analysis

166

Ease of Use

166

Rich Interfaces

167

Challenges of Implementing Data Visualizations

167

Custom Controls

167

Need for Designers

167

Reinventing the Insight Wheel

168

Presenting Proper Insight

168

Not Knowing the Target Audience

168

Data Visualizations Might Not Be Enough

168

Data Visualizations and Silverlight

169

Out-of-the-Box Data Visualizations

169

Rich Rendering Engine and Design Tools

170

Data-Centric Processing

171

Integration with Microsoft Enterprise Services

172

Descry Framework

173

Coding Scenarios

175

Chart Data Visualizations

175

Lessons Learned

181

Building a Tag Cloud

181

Lessons Learned

186

Possible Improvements

186

Using Geographic Visualizations

187

Lessons Learned

196

Summary

197

Chapter 6: Creating Data Visualizations for Analysis

198

Choosing a Visualization for Analysis

199

Determining Types of Analysis for Silverlight Visualizations

202

Comparing Parts of a Whole

202

Visualizing Trend Analysis

211

Comparing Ratios (Before and After)

215

Text Data

216

Geographical Data

216

Hierarchical Data

217

Other Visualization Types

219

Comparing Metrics to Organizational Goals

219

Reference Lines

220

Creating Visual KPIs for Scorecard Dashboards

222

Word-Sized Chart Visualizations

229

Types of Word-Sized Chart Visualizations

229

Sparklines

229

Column Charts

234

Data Bars

239

Other Candidates for Word-Sized Charts

240

Summary

240

Chapter 7: Enhancing Visual Intelligence in Silverlight

241

Workflow Visualizations

242

Workflows in Silverlight

243

Using Graphical Symbols

244

Creating Graphical Assets

245

Visualization Layout

247

Creating Composite Visuals for Analysis

249

Creating a Cross-Tab Data Visualization

249

Silverlight Cross-Tab Implementation

250

Why a Cross-Tab Implementation?

256

Improving the Implementation

256

Visualizations for the Environment

258

Comparing Non-Silverlight Solutions

260

Other Development Environments

261

Visual Intelligence Vendors

261

Silverlight as a Visual Intelligence Engine

262

Coding Scenario: Providing the User Visualization Options

262

Lessons Learned

271

Possible Improvements

271

Summary

272

Chapter 8: Applying Collective Intelligence

273

What Is Collective Intelligence?

274

Collective Intelligence and Web 2.0

274

The User Is Always Right

274

Content Is the User

275

Classifying Collective Intelligence Data

277

Collective Intelligence as BI 2.0 Applied

279

Advantages of Applying Collective Intelligence

279

Measuring Collective Intelligence

281

Collecting and Displaying User Content

281

Collecting User-Generated Data

282

Keeping It Simple

282

Explicit Data Collection

283

Implicit Data Collection

285

Data Collection in Silverlight

286

Displaying User-Generated Data

287

Example of Collective Intelligence in Blogs

290

Collective Intelligence UIs with Silverlight

291

Collective Intelligence in the Enterprise

292

Coding Scenarios

293

Coding Scenario: Working with the Rating Control

293

Lessons Learned

302

Possible Improvements

303

Summary

303

Chapter 9: Predictive Analytics (What-If Modeling)

304

What Is Predictive Analytics?

305

Predictive Analytics Overview

305

Classic Predictive Analytics with What-If Analysis

307

Delivering Predictive Analytics Faster with BI 2.0

309

Choosing Correct Data Sets for Predictive Models

311

Implementing the Proper Tier for Predictive Analysis

311

Benefits of Applying Predictive Analytics

312

Bringing Out Additional Value to Existing Data

312

Translating Assumptions into Decisions

313

Being Proactive Instead of Reactive

313

Gaining Competitive Advantage

314

Applying Forward-Looking Models in Silverlight

314

Using a Functional Language (F#)

315

Designing Predictive Models Using Silverlight

315

Predictive Models with Aggregated Data Sets

317

Building the Profit Forecast Control

317

Communicating Between Local Controls

319

Key Highlights

321

Deployment Using the Plug-In Model

322

Coding Scenario: Applying a Statistical Model to Predict Future Behavior

322

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

324

Part 2: Creating an Interactive and Visual Predictive Model

331

Lessons Learned

336

Possible Improvements

336

Summary

337

Chapter 10: Improving Performance with Concurrent Programming

338

Concurrent Programming Defined

339

Processor Architecture Shift to Multiple Cores

339

Taking Advantage of Multicore Architectures

342

Multithreading vs. Parallelism

343

Multithreading

343

Parallelism

344

Silverlight Concurrent Programming Features

348

Multithreading Support

348

Silverlight Multithreading Essentials

349

Using the BackgroundWorker Class

352

Asynchronous Workflows in F#

353

Using the Network Stack Asynchronously

354

Concurrency and Rendering

355

Improving Business Application Performance

357

Silverlight Concurrent Programming Limitations

358

No Parallel Extension Support

358

Missing Concurrency Programming Essentials

359

Do Not Block the UI Thread

359

Missing Implementations in the Framework

360

Coding Scenarios

361

Coding Scenario: Improving the Performance of the UI

361

Lessons Learned

372

Possible Improvements

372

Coding Scenario: Improving Computational Processing Performance

373

Part 1: Getting the Project Ready for Concurrency

374

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

378

Part 3: Dynamic Concurrency and Performance Analysis

382

Lessons Learned

386

Possible Improvements

386

Additional Coding Scenarios on the Companion Web Site

386

Summary

386

Chapter 11: Integrating with Business Intelligence Systems

388

Architecting for Business Intelligence Systems

389

Infrastructure and Software Requirements

389

Non-Microsoft Infrastructures

393

New BI 2.0 Applications

394

Integrating with Existing BI Investments

396

Basic Integration

397

Communicating Between Separate Silverlight Applications

397

Silverlight in the SaaS Model

401

SaaS for BI

401

SaaS Features Implemented in Silverlight

401

Centralized Management of Service Delivery

401

SaaS Maturity Model

404

SaaS in the Virtualized Cloud

409

Summary

410

Chapter 12: Mobile Intelligence

411

What Is Mobile Intelligence?

412

Mobile Intelligence for the Consumer

413

Silverlight Mobile Intelligence Platforms

414

Windows Phone 7

415

Developing for the Windows Phone 7

415

Windows XP OS and Windows 7 OS Tablets

417

Windows Embedded Compact 7

418

Other Platforms

418

Implementing Silverlight Mobile Intelligence

419

Adding Interactivity

419

Word-Sized Visualizations

421

Mobile Dashboards

422

Leveraging Microsoft Services and Components

424

Coding Scenarios

424

The Bing Maps Silverlight Control on Windows Phone 7

424

Lessons Learned

429

Concurrent Programming on Windows Phone 7

430

Lessons Learned

440

Summary

440

Chapter 13: Surfacing Silverlight Business Intelligence in SharePoint

442

Why SharePoint for Business Intelligence?

443

SharePoint 2007 Business Intelligence Capabilities

443

SharePoint 2010 Business Intelligence Capabilities

444

SharePoint 2007 and Silverlight Integration

446

Object HTML Tag

446

Custom Web Parts

447

Two Types of Web Parts

447

The Relationship between Silverlight and Web Parts

448

Why Silverlight Web Parts?

448

SharePoint 2010 and Silverlight Integration

449

Silverlight Web Part

450

Client Object Model

452

SharePoint 2010 Development Story

453

Implementing Silverlight Business Intelligence Scenarios in SharePoint

453

Adding Silverlight to an existing SharePoint BI SharePoint Site

453

Exposing Complete Silverlight BI tools in SharePoint

454

Communication Between Silverlight Web Parts

456

Coding Scenarios

457

Coding Scenario: Self-Service Silverlight Application Hosting

458

Lessons Learned

460

Summary

460

Chapter 14: Using the Silverlight PivotViewer

462

What Is the PivotViewer?

463

Which Pivot Technology Is this?

463

PivotTable

463

Power Pivot

464

PivotViewer Components & Architecture

465

Installing the PivotViewer Platform

466

Prerequisites

466

PivotViewer & Pivot Collection Tools

466

Running the Sample Silverlight PivotViewer Application

467

PivotViewer User Interface

468

PivotViewer User Interface Components

468

Top Bar

469

Filter Panel

471

Imagery Canvas

476

Info Panel

476

PivotViewer Collections

477

Learning Coding Scenario: Consuming an existing PivotViewer Collection

480

Learning Coding Scenario: Using the Pivot Collection Tool for Microsoft Excel

482

PivotViewer and Business Intelligence 2.0

489

Summary

490

Appendix A: Prototyping Applications with Dynamic Data

491

Blend’s Dynamic Data Tools

491

Defining New Sample Data

492

Customizing Sample Data Sources

494

Customizing Properties

497

Customizing Collections

497

Generating data from image collections

499

Behind the Scenes of Dynamic Data

501

Autogenerated Files

501

Using the Dynamic Data

503

Summary

504

Appendix B: Creating a Bullet Graph User Control

505

What Is a Bullet Graph?

506

Using the Bullet Graph to Gain Business Intelligence Insight

508

Comparing the Bullet Graph to Traditional Gauges

510

Specification of the Silverlight Bullet Graph

513

Implementation Roadmap

513

Mashing Up the Control with Silverlight Controls

515

Creating a Fluid Layout

517

Leveraging the Silverlight Layout Controls

518

Bullet Graph Configuration Properties

522

Implementing Dependency Properties

523

Implementing the Bullet Graph in Silverlight

532

Bullet Graph Layout and Adding Main Components

532

Starting the Project

533

Building the Layout

533

Adding the Bullet Graph Components

535

Styling Qualitative Ranges & Adding Dynamic Content

537

Styling the Qualitative Ranges

538

Adding the Quantitative Scale

540

Implementing Dependency Properties & Design-Time Logic

544

Adding Category & Property Descriptions

545

Additional Calculations and Notes

547

Using the Bullet Graph Control

549

Proving Business Intelligence Scenarios

549

Data Binding & Animations

550

Alternate Implementations

550

Summary

551

Index

552