Bart Czernicki Create a rich, visual platform for real-time business insights Silverlight 4 Business Intelligence Software The eXperT’s Voice ® in silVerlighT www.it-ebooks.info www.it-ebooks.info Silverlight 4 Business Intelligence Software Bart Czernicki www.it-ebooks.info Silverlight 4 Business Intelligence Software Copyright © 2010 by Bart Czernicki All rights reserved. No part of this work may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or by any information storage or retrieval system, without the prior written permission of the copyright owner and the publisher. ISBN-13 (pbk): 978-1-4302-3060-1 ISBN-13 (electronic): 978-1-4302-3061-8 Printed and bound in the United States of America 9 8 7 6 5 4 3 2 1 Trademarked names, logos, and images may appear in this book. Rather than use a trademark symbol with every occurrence of a trademarked name, logo, or image we use the names, logos, and images only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark. The use in this publication of trade names, trademarks, service marks, and similar terms, even if they are not identified as such, is not to be taken as an expression of opinion as to whether or not they are subject to proprietary rights. President and Publisher: Paul Manning Lead Editor: Jonathan Hassell Technical Reviewer: Ivan Dragoev Editorial Board: Clay Andres, Steve Anglin, Mark Beckner, Ewan Buckingham, Gary Cornell, Jonathan Gennick, Jonathan Hassell, Michelle Lowman, Matthew Moodie, Duncan Parkes, Jeffrey Pepper, Frank Pohlmann, Douglas Pundick, Ben Renow-Clarke, Dominic Shakeshaft, Matt Wade, Tom Welsh Coordinating Editor: Tracy Brown-Collins Copy Editor: Mary Behr Compositor: Bytheway Publishing Services Indexer: Julie Grady Artist: April Milne Cover Designer: Anna Ishchenko Distributed to the book trade worldwide by Springer Science+Business Media, LLC, 233 Spring Street, 6th Floor, New York, NY 10013. Phone 1-800-SPRINGER, fax 201-348-4505, e-mail orders- ny@springer-sbm.com, or visit www.springeronline.com. For information on translations, please e-mail rights@apress.com, or visit www.apress.com. Apress and friends of ED books may be purchased in bulk for academic, corporate, or promotional use. eBook versions and licenses are also available for most titles. For more information, reference our Special Bulk Sales–eBook Licensing web page at www.apress.com/info/bulksales. The information in this book is distributed on an “as is” basis, without warranty. Although every precaution has been taken in the preparation of this work, neither the author(s) nor Apress shall have any liability to any person or entity with respect to any loss or damage caused or alleged to be caused directly or indirectly by the information contained in this work. www.it-ebooks.info To my family and friends. www.it-ebooks.info iv Contents at a Glance About the Author xv About the Technical Reviewer xvi Introduction xvii Chapter 1: Business Intelligence 2.0 Defined 1 Chapter 2: Advantages of Applying Business Intelligence 2.0 Using Microsoft Silverlight 27 Chapter 3: Silverlight as a Business Intelligence Client 53 Chapter 4: Adding Interactivity to Business Intelligence Data 97 Chapter 5: Introduction to Data Visualizations 135 Chapter 6: Creating Data Visualizations for Analysis 175 Chapter 7: Enhancing Visual Intelligence in Silverlight 219 Chapter 8: Applying Collective Intelligence 251 Chapter 9: Predictive Analytics (What-If Modeling) 283 Chapter 10: Improving Performance with Concurrent Programming 317 Chapter 11: Integrating with Business Intelligence Systems 367 Chapter 12: Mobile Intelligence 391 Chapter 13: Surfacing Silverlight Business Intelligence in SharePoint 423 Chapter 14: Using the Silverlight PivotViewer 443 Appendix A: Prototyping Applications with Dynamic Data 473 Appendix B: Creating a Bullet Graph User Control 487 Index 535 www.it-ebooks.info v Contents About the Author xv About the Technical Reviewer xvi Introduction xvii Chapter 1: Business Intelligence 2.0 Defined 1 The Need to Make Better Decisions 1 Decision Support Systems 2 Business Intelligence Is Born 3 Business Intelligence Defined 4 BI Terms 4 Architecture of a Business Intelligence System 6 Component Overview of a BI Architecture 6 Business Intelligence 1.0 Implementation 12 BI 1.0’s Intended Audience 12 Applications 14 System Design 18 Business Intelligence 2.0 Implementation 18 How BI 2.0 Came to Be 19 BI 2.0’s Intended Audience 21 Applications 23 System Design 24 Comparison of Business Intelligence 1.0 and 2.0 25 Summary 26 www.it-ebooks.info CONTENTS vi Chapter 2: Advantages of Applying Business Intelligence 2.0 Using Microsoft Silverlight 27 Industry Trends 28 Delivery to Multiple Platforms 28 Value in Services 31 Virtualizing Resources on the Cloud 31 What Is Silverlight? 33 The Silverlight Solution 33 Silverlight vs. Other RIA Technologies 39 Current State of RIA Technology 39 Silverlight’s Position Among RIAs 41 Silverlight vs. HTML 5 42 Silverlight: The Business RIA 44 Lessons from the Past 45 Leveraging Existing Development Investments 45 Moving to the Cloud More Easily 45 Integrating with Microsoft Products 46 Overcoming Silverlight’s Weaknesses 48 The Microsoft Business Intelligence Platform and Silverlight 48 SQL Server BI 48 Microsoft Office BI 49 What Does Silverlight Have to Offer BI? 49 Summary 50 Chapter 3: Silverlight as a Business Intelligence Client 53 Client Distributed Architecture 54 Distributed Architectures Defined 54 Problems with N-Tier Architecture 56 Scaling BI with the Client Tier 58 www.it-ebooks.info CONTENTS vii Is Business Intelligence on the client viable? 60 Business Logic on the Silverlight Client 66 Common Scenarios Handled with Silverlight 70 Coding Scenario: Working with Business Data 71 Coding Scenario: Decoupling Business Algorithms 79 Coding Scenario: Persisting Local Data 87 Summary 96 Chapter 4: Adding Interactivity to Business Intelligence Data 97 User Interactivity 98 Importance of Good User Interactivity 98 Touch Interactivity 98 Silverlight and Interactivity Support 100 Interactivity with Business Intelligence Data 101 Types of Data Interactivity 101 Applying Interactivity in Business Intelligence with Silverlight 105 Common Silverlight Controls for Data Lists 105 Coding Scenario: Lazy Loading List Box Data 108 Coding Scenario: Interactive Data Paging with the Slider Control 119 Coding Scenario: Fluent Data Filtering with the Slider Control 127 Coding Scenario: Searching Data with the AutoCompleteBox Control 130 Summary 133 Chapter 5: Introduction to Data Visualizations 135 What Are Data Visualizations? 136 Characteristics of a Data Visualization 137 Respect the Data 137 Simple and to the Point 138 Animations and Transitions 139 Interactivity 141 www.it-ebooks.info CONTENTS viii Widgets and Dashboards 142 Data Visualizations and Business Intelligence 2.0 142 BI for the Masses 142 Controlled Analysis 142 Ease of Use 142 Rich Interfaces 143 Challenges of Implementing Data Visualizations 143 Custom Controls 143 Need for Designers 143 Reinventing the Insight Wheel 144 Presenting Proper Insight 144 Not Knowing the Target Audience 144 Data Visualizations Might Not Be Enough 144 Data Visualizations and Silverlight 145 Out-of-the-Box Data Visualizations 145 Rich Rendering Engine and Design Tools 146 Data-Centric Processing 147 Integration with Microsoft Enterprise Services 148 Descry Framework 149 Coding Scenarios 151 Chart Data Visualizations 151 Building a Tag Cloud 158 Using Geographic Visualizations 164 Summary 174 Chapter 6: Creating Data Visualizations for Analysis 175 Choosing a Visualization for Analysis 176 Determining Types of Analysis for Silverlight Visualizations 179 Comparing Metrics to Organizational Goals 196 www.it-ebooks.info [...]... Summary .44 2 Chapter 14: Using the Silverlight PivotViewer 44 3 What Is the PivotViewer? .44 4 Which Pivot Technology Is this? 44 4 PivotViewer Components & Architecture 44 6 Installing the PivotViewer Platform 44 7 Running the Sample Silverlight PivotViewer Application 44 8 PivotViewer User Interface 44 9 PivotViewer User... Surfacing Silverlight Business Intelligence in SharePoint 42 3 Why SharePoint for Business Intelligence? 42 4 SharePoint 2007 Business Intelligence Capabilities 42 4 SharePoint 2010 Business Intelligence Capabilities 42 5 SharePoint 2007 and Silverlight Integration 42 7 Object HTML Tag 42 7 Custom Web Parts 42 8 SharePoint 2010 and Silverlight. .. 43 0 Implementing Silverlight Business Intelligence Scenarios in SharePoint 43 4 Adding Silverlight to an existing SharePoint BI SharePoint Site 43 4 Exposing Complete Silverlight BI tools in SharePoint 43 5 Communication Between Silverlight Web Parts 43 7 Coding Scenarios 43 8 Coding Scenario: Self-Service Silverlight Application Hosting 43 9 xii... bartczernicki@gmail.com Companion web site: www.silverlightbusinessintelligence.com Blog/web site: www.silverlighthack.com Follow me on Twitter: www.twitter.com/bartczernicki Silverlight Business Intelligence on Twitter: www.twitter.com/silverlightbi Silverlight forums: www .silverlight. net xxvi www.it-ebooks.info CHAPTER 1 Business Intelligence 2.0 Defined What is business intelligence 2.0? This is the question... Components 44 9 PivotViewer Collections 45 8 PivotViewer and Business Intelligence 2.0 47 1 Summary .47 2 Appendix A: Prototyping Applications with Dynamic Data 47 3 Blend’s Dynamic Data Tools 47 3 Defining New Sample Data 47 4 Customizing Sample Data Sources 47 6 Customizing Properties 47 9 Customizing Collections... Mobile Intelligence 399 Adding Interactivity 399 Word-Sized Visualizations 40 1 Mobile Dashboards 40 2 Leveraging Microsoft Services and Components 40 4 Coding Scenarios 40 4 The Bing Maps Silverlight Control on Windows Phone 7 40 4 Concurrent Programming on Windows Phone 7 41 0 Summary .42 1 Chapter... the core Silverlight development software, the Silverlight Business Intelligence in SharePoint 2010 (Chapter 13) requires the following software: • • SharePoint 2010 development tools for Visual Studio 2010 installed SharePoint 2010 Server installed In addition to the core Silverlight development software, the Working with Pivot Collections (Chapter 14) requires the following software: • Silverlight. .. 47 9 Generating data from image collections 48 1 Behind the Scenes of Dynamic Data 48 3 Autogenerated Files 48 3 Using the Dynamic Data 48 5 Summary .48 6 Appendix B: Creating a Bullet Graph User Control 48 7 What Is a Bullet Graph? 48 8 Using the Bullet Graph to Gain Business Intelligence Insight 49 0 Comparing... Traditional Gauges 49 2 Specification of the Silverlight Bullet Graph 49 5 xiii www.it-ebooks.info CONTENTS Implementation Roadmap 49 5 Mashing Up the Control with Silverlight Controls 49 7 Creating a Fluid Layout 49 9 Bullet Graph Configuration Properties 5 04 Implementing the Bullet Graph in Silverlight 5 14 Bullet Graph Layout and... 2 34 Visualizations for the Environment 236 Comparing Non -Silverlight Solutions 238 Other Development Environments 239 Visual Intelligence Vendors 239 Silverlight as a Visual Intelligence Engine 240 Coding Scenario: Providing the User Visualization Options 240 Lessons Learned 249 Possible Improvements 249 . PivotViewer? 44 4 Which Pivot Technology Is this? 44 4 PivotViewer Components & Architecture 44 6 Installing the PivotViewer Platform 44 7 Running the Sample Silverlight. 13: Surfacing Silverlight Business Intelligence in SharePoint 42 3 Why SharePoint for Business Intelligence? 42 4 SharePoint 2007 Business Intelligence