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