Suchen und Finden
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
Alle Preise verstehen sich inklusive der gesetzlichen MwSt.