Czernicki | Next-Generation Business Intelligence Software with Silverlight 3 | E-Book | www2.sack.de
E-Book

E-Book, Englisch, 576 Seiten

Czernicki Next-Generation Business Intelligence Software with Silverlight 3


1. ed
ISBN: 978-1-4302-2488-4
Verlag: Apress
Format: PDF
Kopierschutz: 1 - PDF Watermark

E-Book, Englisch, 576 Seiten

ISBN: 978-1-4302-2488-4
Verlag: Apress
Format: PDF
Kopierschutz: 1 - PDF Watermark



Business intelligence (BI) software is the code and tools that allow you to view different components of a business using a single visual platform, making comprehending mountains of data easier. Applications that include reports, analytics, statistics, and historical and predictive modeling are all examples of BI applications. Currently, we are in the second generation of BI software, called BI 2.0. This generation is focused on writing BI software that is predictive, adaptive, simple, and interactive. As computers and software have evolved, more data can be presented to end users with increasingly visually rich techniques. Rich Internet application (RIA) technologies such as Microsoft Silverlight can be used to transform traditional user interfaces filled with boring data into fully interactive analytical applications to deliver insight from large data sets quickly. Furthermore, RIAs include 3D spatial design capabilities that allow for interesting layouts of aggregated data beyond a simple list or grid. BI 2.0 implemented via RIA technology can truly bring out the power of BI and deliver it to an average user via the Web. Next-Generation Business Intelligence Software with Rich Internet Applications provides developers, designers, and architects a solid foundation of BI design and architecture concepts with Microsoft Silverlight. This book covers key BI design concepts and how they can be applied without requiring an existing BI infrastructure. The author, Bart Czernicki, will show you how to build small BI applications by example that are interactive, highly visual, statistical, predictive, and most importantly, intuitive to the user. BI isn't just for the executive branch of a Fortune 500 company; it is for the masses. Let Next-Generation Business Intelligence Software with Rich Internet Applications show you how to unlock the rich intelligence you already have.

Bart Czernicki has been playing around with computers since 1988 and has spent years as a professional in the information technology field. He currently works as a senior software architect at a software development company.

Czernicki Next-Generation Business Intelligence Software with Silverlight 3 jetzt bestellen!

Autoren/Hrsg.


Weitere Infos & Material


1;Contents at a Glance;5
2;Table of Contents;6
3;About the Author;13
4;About the Technical Reviewer;14
5;Introduction;15
5.1;Who Should Read This Book?;16
5.1.1;Silverlight Developers or Architects;16
5.1.2;BI Professionals;16
5.1.3;Strategic Decision Makers in Technology;17
5.2;Technical and Nontechnical Audiences;17
5.3;Why Should You Invest in This Book?;18
5.4;Chapter Roadmap;19
5.5;What Is Not Covered in This Book?;20
5.5.1;Why Aren’t Data Services Covered in This Book?;20
5.6;Following the Coding Exercises in the Book;20
5.6.1;Software You Need to Follow the Exercises;21
5.7;Companion Web Site;21
5.8;Author on the Internet;22
6;Chapter 1: Business Intelligence 2.0 Defined;23
6.1;The Need to Make Better Decisions;23
6.2;Decision Support Systems;24
6.3;Business Intelligence Is Born;25
6.4;Business Intelligence Defined;26
6.4.1;BI Terms;27
6.5;Architecture of a Business Intelligence System;28
6.5.1;Component Overview of a BI Architecture;28
6.5.1.1;Data Feeds;29
6.5.1.2;Extract-Transform-Load Process;30
6.5.1.3;The Data Warehouse;32
6.5.1.4;The BI Presentation Layer (Presentation of Knowledge);32
6.5.1.5;Challenges of Bringing the BI Tiers Together;32
6.6;Business Intelligence 1.0 Implementation;33
6.6.1;BI 1.0’s Intended Audience;34
6.6.1.1;Two Distinct Users of BI 1.0;34
6.6.1.2;Proper Understanding of BI Models;35
6.6.2;Applications;36
6.6.2.1;Static and Noninteractive Data;38
6.6.3;System Design;39
6.7;Business Intelligence 2.0 Implementation;40
6.7.1;How BI 2.0 Came to Be;40
6.7.1.1;Web 2.0;41
6.7.1.2;Agile Development Methodologies;41
6.7.1.3;Service Orientation;42
6.7.2;BI 2.0’s Intended Audience;42
6.7.2.1;Empowering the BI 2.0 User;43
6.7.3;Applications;44
6.7.4;System Design;46
6.8;Comparison of Business Intelligence 1.0 and 2.0;47
6.9;Summary;48
7;Chapter 2: Advantages of Applying Business Intelligence 2.0 Using Microsoft Silverlight;49
7.1;Industry Trends;50
7.1.1;Delivery to Multiple Platforms;50
7.1.1.1;The Desktop Platform;51
7.1.1.2;The Web Platform;51
7.1.1.3;The Mobile Platform;52
7.1.2;Value in Services;53
7.1.3;Virtualizing Resources on the Cloud;53
7.2;What Is Silverlight?;54
7.2.1;The Silverlight Solution;55
7.2.1.1;Less Plumbing, More Designing;55
7.2.1.2;Leveraging the Power of .NET;56
7.2.1.3;It’s All on the Client (Well, Mostly);56
7.2.1.4;Next-Generation Interaction with Multitouch;57
7.2.1.5;Multiple Platforms and the Cloud;57
7.2.1.5.1;The Web;58
7.2.1.5.2;The Desktop;58
7.2.1.5.3;Mobile;59
7.2.1.5.4;The Cloud;59
7.3;Silverlight vs. Other RIA Technologies;60
7.3.1;Current State of RIA Technology;60
7.3.2;Silverlight’s Position Among RIAs;62
7.4;Silverlight: The Business RIA;63
7.4.1;Lessons from the Past;63
7.4.2;Leveraging Existing Development Investments;64
7.4.3;Moving to the Cloud More Easily;64
7.4.4;Integrating with Microsoft Products;64
7.4.5;Overcoming Silverlight’s Weaknesses;66
7.5;The Microsoft Business Intelligence Platform and Silverlight;67
7.5.1;SQL Server BI;67
7.5.2;Microsoft Office BI;67
7.5.3;What Does Silverlight Have to Offer BI?;68
7.6;Summary;69
8;Chapter 3: Silverlight As a Business Intelligence Client;70
8.1;Client Distributed Architecture;71
8.1.1;Distributed Architectures Defined;71
8.1.2;Problems with N-Tier Architecture;73
8.1.3;Scaling BI with the Client Tier;75
8.1.4;Business Logic on the Silverlight Client;78
8.1.4.1;First-Class Data Structures and Querying;78
8.1.4.2;Local Access to the DOM;78
8.1.4.3;Isolated Storage;78
8.1.4.4;Multithreading;78
8.1.4.5;Open and Save Dialogs;79
8.1.4.6;Visual Intelligence;79
8.2;Common Scenarios Handled with Silverlight;79
8.2.1;Coding Scenario: Working with Business Data;80
8.2.1.1;Querying Large Data Sets with LINQ;80
8.2.1.2;Lessons Learned;87
8.2.2;Coding Scenario: Decoupling Business Algorithms;88
8.2.2.1;Applying Business Logic with Data Binding and Value Converters;88
8.2.2.2;Lessons Learned;97
8.2.3;Coding Scenario: Persisting Local Data;97
8.2.3.1;In-Memory and Isolated Storage Caching;98
8.2.3.2;Lessons Learned;106
8.3;Summary;106
9;Chapter 4: Adding Interactivity to Business Intelligence Data;108
9.1;User Interactivity;109
9.1.1;Importance of Good User Interactivity;109
9.1.2;Touch Interactivity;110
9.1.3;Silverlight and Interactivity Support;111
9.2;Interactivity with Business Intelligence Data;112
9.2.1;Types of Data Interactivity;113
9.2.1.1;Sorting;114
9.2.1.2;Data Paging;114
9.2.1.3;Filtering;114
9.2.1.4;Searching;114
9.2.1.5;Grouping and Pivoting Data;114
9.3;Applying Interactivity in Business Intelligence with Silverlight;116
9.3.1;Common Silverlight Controls for Data Lists;116
9.3.1.1;Data Grid;117
9.3.1.2;List Box;118
9.3.1.3;Tree View;118
9.3.2;Coding Scenario: Lazy Loading List Box Data;120
9.3.2.1;Importance of Lazy Loading;120
9.3.2.2;Lessons Learned;131
9.3.3;Coding Scenario: Interactive Data Paging with the Slider Control;131
9.3.3.1;Lessons Learned;140
9.3.3.2;Possible Enhancements;141
9.3.4;Coding Scenario: Fluent Data Filtering with the Slider Control;141
9.3.4.1;Lessons Learned;143
9.3.4.2;Possible Enhancements;144
9.3.5;Coding Scenario: Searching Data with the AutoCompleteBox Control;144
9.3.5.1;Lessons Learned;146
9.4;Summary;147
10;Chapter 5: Introduction to Data Visualizations;148
10.1;What Are Data Visualizations?;149
10.2;Characteristics of a Data Visualization;151
10.2.1;Respect the Data;151
10.2.2;Simple and to the Point;152
10.2.3;Animations and Transitions;153
10.2.4;Interactivity;155
10.2.5;Widgets and Dashboards;156
10.3;Data Visualizations and Business Intelligence 2.0;156
10.3.1;BI for the Masses;156
10.3.2;Controlled Analysis;156
10.3.3;Simple to Use;156
10.3.4;Rich Interfaces;157
10.4;Challenges of Implementing Data Visualizations;157
10.4.1;Custom Controls;157
10.4.2;Need for Designers;157
10.4.3;Reinventing the Insight Wheel;158
10.4.4;Presenting Proper Insight;158
10.4.5;Not Knowing the Target Audience;158
10.4.6;Data Visualizations Might Not Be Enough;158
10.5;Data Visualizations and Silverlight;159
10.5.1;Out-of-the-Box Data Visualizations;159
10.5.2;Rich Rendering Engine and Design Tools;160
10.5.3;Data-Centric Processing;162
10.5.4;Integration with Microsoft Enterprise Services;162
10.5.5;Descry Framework;163
10.6;Coding Scenarios;165
10.6.1;Chart Data Visualizations;165
10.6.1.1;Lessons Learned;172
10.6.2;Building a Tag Cloud;172
10.6.2.1;Lessons Learned;177
10.6.3;Using Geographic Visualizations;177
10.6.3.1;Lessons Learned;185
10.7;Summary;185
11;Chapter 6: Creating Data Visualizations for Analysis;186
11.1;Choosing a Visualization for Analysis;187
11.1.1;Determining Types of Analysis for Silverlight Visualizations;190
11.1.1.1;Comparing Parts of a Whole;191
11.1.1.1.1;Applying Chart Styles in Silverlight;195
11.1.1.2;Visualizing Trend Analysis;199
11.1.1.3;Comparing Metrics to Organizational Goals;203
11.1.1.4;Comparing Ratios (Before and After);206
11.1.1.5;Text Data;207
11.1.1.6;Geographical Data;208
11.1.1.7;Hierarchical Data;208
11.1.1.8;Other Visualization Types;210
11.2;Managing Layout with Word-Sized Visualizations;210
11.2.1;Types of Word-Sized Visualizations;211
11.2.1.1;Sparklines;211
11.2.1.1.1;Applying Sparklines in Silverlight;213
11.2.1.2;Column Charts;215
11.2.1.2.1;Applying Word-Sized Column Visualizations in Silverlight;217
11.2.1.3;Progress Bars;221
11.2.2;Other Candidates for Word-Sized Charts;221
11.3;Summary;222
12;Chapter 7: Enhancing Visual Intelligence in Silverlight;223
12.1;Workflow Visualizations;224
12.1.1;Workflows in Silverlight;226
12.2;Using Graphical Symbols;227
12.2.1;Creating Graphical Assets;227
12.2.2;Visualization Layout;229
12.3;Creating Composite Visuals for Analysis;231
12.3.1;Creating a Cross-Tab Data Visualization;231
12.3.2;Silverlight Cross-Tab Implementation;232
12.3.2.1;Why a Cross-Tab Implementation?;239
12.3.3;Improving the Implementation;239
12.4;Visualizations for the Environment;241
12.5;Comparing Non-Silverlight Solutions;243
12.5.1;Other Development Environments;243
12.5.2;Visual Intelligence Vendors;244
12.5.3;Silverlight As a Visual Intelligence Engine;244
12.6;Coding Scenario: Providing the User Options;245
12.6.1;Lessons Learned;254
12.6.2;Possible Improvements;254
12.7;Summary;255
13;Chapter 8: Applying Collective Intelligence;256
13.1;What Is Collective Intelligence?;257
13.1.1;Collective Intelligence and Web 2.0;258
13.1.1.1;The User Is Always Right;258
13.1.1.2;Content Is the User;259
13.1.1.3;Classifying Collective Intelligence Data;262
13.1.2;Collective Intelligence As BI 2.0 Applied;263
13.1.3;Advantages of Applying Collective Intelligence;263
13.1.3.1;Measuring Collective Intelligence;265
13.2;Collecting and Displaying User Content;266
13.2.1;Collecting User-Generated Data;266
13.2.1.1;Keeping It Simple;267
13.2.1.2;Explicit Data Collection;268
13.2.1.3;Implicit Data Collection;271
13.2.2;Displaying User-Generated Data;272
13.2.3;Example of Collective Intelligence in Blogs;275
13.2.4;Collective Intelligence UIs with Silverlight;276
13.2.5;Collective Intelligence in the Enterprise;277
13.3;Coding Scenarios;277
13.3.1;Coding Scenario: Working with the Rating Control;277
13.3.1.1;Lessons Learned;288
13.3.1.2;Possible Improvements;289
13.3.2;Coding Scenario: Collecting Data Implicitly;289
13.3.2.1;Lessons Learned;294
13.3.2.2;Possible Improvements;294
13.4;Summary;294
14;Chapter 9: Predictive Analytics (What-If Modeling);295
14.1;What Is Predictive Analytics?;296
14.1.1;Predictive Analytics Overview;296
14.1.1.1;Classic Predictive Analytics with What-If Analysis;298
14.1.2;Delivering Predictive Analytics Faster with BI 2.0;301
14.1.3;Choosing Correct Data Sets for Predictive Models;303
14.1.4;Implementing the Proper Tier for Predictive Analysis;304
14.2;Benefits of Applying Predictive Analytics;305
14.2.1;Bringing Out Additional Value to Existing Data;305
14.2.2;Translating Assumptions into Decisions;305
14.2.3;Being Proactive Instead of Reactive;306
14.2.4;Gaining Competitive Advantage;306
14.3;Applying Forward-Looking Models in Silverlight;307
14.3.1;Using a Functional Language (F#);307
14.3.2;Designing Predictive Models Using Silverlight;308
14.3.2.1;Predictive Models with Aggregated Data Sets;310
14.3.2.2;Building the Profit Forecast Control;310
14.3.2.3;Communicating Between Local Controls;312
14.3.2.4;Key Highlights;315
14.3.3;Deployment Using the Plug-In Model;315
14.4;Coding Scenario: Applying a Statistical Model to Predict Future Behavior;316
14.4.1;Part 1: Creating the UI and Applying a Static Predictive Model;317
14.4.2;Part 2: Creating an Interactive and Visual Predictive Model;325
14.4.3;Lessons Learned;331
14.4.4;Possible Improvements;331
14.5;Summary;332
15;Chapter 10: Improving Performance with Concurrent Programming;333
15.1;Concurrent Programming Defined;334
15.1.1;Processor Architecture Shift to Multiple Cores;335
15.1.2;Taking Advantage of Multicore Architectures;337
15.1.3;Multithreading vs. Parallelism;339
15.1.3.1;Multithreading;339
15.1.3.2;Parallelism;340
15.2;Silverlight Concurrent Programming Features;344
15.2.1;Multithreading Support;344
15.2.1.1;Silverlight Multithreading Essentials;345
15.2.1.2;Using the BackgroundWorker Class;348
15.2.1.3;Using the Network Stack Asynchronously;349
15.2.2;Concurrency and Rendering;350
15.2.2.1;Improving Business Application Performance;352
15.2.3;Silverlight Concurrent Programming Limitations;354
15.2.3.1;No Parallel Extension Support;354
15.2.3.2;Missing Concurrency Programming Essentials;354
15.2.3.3;Do Not Block the UI Thread;354
15.2.3.4;Missing Implementations in the Framework;355
15.3;Coding Scenarios;356
15.3.1;Coding Scenario: Improving the Performance of the UI;356
15.3.1.1;Lessons Learned;368
15.3.1.2;Possible Improvements;368
15.3.2;Coding Scenario: Improving Computational Processing Performance;368
15.3.2.1;Part 1: Getting the Project Ready for Concurrency;369
15.3.2.2;Part 2: Designing a Two-Thread Solution to Improve Performance;374
15.3.2.3;Part 3: Dynamic Concurrency and Performance Analysis;379
15.3.2.4;Lessons Learned;383
15.3.2.5;Possible Improvements;383
15.3.3;Additional Coding Scenarios on the Companion Web Site;383
15.4;Summary;384
16;Chapter 11: Integrating with Business Intelligence Systems;385
16.1;Architecting for Business Intelligence Systems;386
16.1.1;Infrastructure and Software Requirements;386
16.1.1.1;Non-Microsoft Infrastructures;390
16.1.2;New BI 2.0 Applications;391
16.1.3;Integrating with Existing BI Investments;394
16.1.3.1;Basic Integration;394
16.1.3.2;Communicating Between Silverlight Applications;395
16.1.4;Silverlight Web Parts;398
16.1.4.1;Two Types of Web Parts;399
16.1.4.2;Relationship Between Silverlight and Web Parts;400
16.1.4.3;Why Silverlight Web Parts?;401
16.2;Silverlight in the SaaS Model;402
16.2.1;SaaS for BI;402
16.2.2;SaaS Features Implemented in Silverlight;402
16.2.2.1;Centralized Management of Service Delivery;402
16.2.2.2;SaaS Maturity Model;406
16.2.2.2.1;Enterprise Composite Applications;409
16.2.2.3;SaaS in the Virtualized Cloud;410
16.3;Summary;411
17;Appendix: Prototyping Applications with Dynamic Data;412
17.1;Blend’s Dynamic Data Tools;412
17.1.1;Defining New Sample Data;413
17.1.2;Customizing Sample Data Sources;415
17.1.3;Customizing Properties;417
17.1.4;Customizing Collections;419
17.2;Behind the Scenes of Dynamic Data;420
17.2.1;Autogenerated Files;420
17.2.2;Using the Dynamic Data;422
17.3;Summary;424
18;Index;425



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.