About the Authors
David Feldman is a software development manager in the defense industry. He is an industry-recognized expert in SharePoint, SSAS, Silverlight and SQL. Built a world-class technical organization of 40+ Microsoft Certified developers and infrastructure architects.
Jason Himmelstein is an IT Pro Solutions Architect with more than 15 years of experience working with Microsoft and related technologies. With a passion for technology, Jason has spent the past 7 years dedicated to SharePoint, becoming a recognized expert in the field. Having successfully architected solutions for up to 120,000 users, Mr. Himmelstein maintains an active speaking schedule, addressing conferences in the United States & Canada. He is currently the Senior Technical Director for SharePoint at a New England based consulting firm.
Chapter 1. SharePoint, Apps, and Business Intelligence
Of all the products introduced by Microsoft in the past 10 years, SharePoint is both the most successful and the hardest to define. Ask 10 people what SharePoint does and you will certainly receive 10 different answers.
SharePoint is a web portal product. SharePoint is a document management platform. SharePoint allows you to automate human workflow. It is a web content management system. SharePoint is a front-end for business intelligence (BI) tools. Its an enterprise search system that crawls documents, web content, and databases. Some may tell you that its the hub that binds together the Office products. Others might even say that SharePoint is a platform for composite application development. SharePoint is all of these things.
The fact that SharePoint fills so many roles causes us as developers and IT professionals to leverage it to make our companies run better. We integrate our processes and go to great expense to extend SharePoint with our own custom code. SharePoint allows us to redefine our concept of a business application and provides the building blocks for us to better understand and share real information about our business.
This is not the first book written about SharePoint development. SharePoint development has evolved with each new release of the platform, from 2003 to 2007 to 2010 to 2013. Most approaches for SharePoint development have involved writing code embedded into SharePoint, which can cause a number of performance and architecture challenges.
In this book, we will walk through a scenario about a help desk application from front to back. We will discuss the concepts, architecture, tools, and design patterns to make you successful in creating efficient and effective solutions that leverage SharePoint 2010, Visual Studio LightSwitch, and SQL Server 2012. Using these tools, you can create solutions that take advantage of all that SharePoint has to offer, while decreasing the tight coupling that leads to performance problems and which may prevent your organization from easily upgrading to SharePoint 2013 or future versions.
So What Does All This Have to Do with Business Intelligence?
Starting with SQL Server 2008 R2, Microsoft began talking a lot about Personal BI. The real focus of this discussion was a paradigm shift, moving business intelligence from being something a few BI professionals do with your data warehouse, with Star Schemas and Online Analytical Processing (OLAP) cubes, to a practice done by Information Workers every day inside Microsoft Excel and SharePoint.
The most famous cliche among developers, BI professionals, and IT managers is a phrase we have all heard at some point: garbage in, garbage out. It is for this reason that we begin with the design of your application and database schema to capture your data with integrity. Then we will show you how to quickly create screens and add business logic to your applications.
Well integrate this data into SharePoint using native capability in Visual Studio LightSwitch talking to SharePoints web services, providing you with powerful search capability and the ability to use this data inside of SharePoint without writing code. Well show you how to consume your application data and relate it to other unstructured data, such as lists and libraries.
Once we have this foundation on which to build, well create a tabular cube using the new Business Intelligence Semantic Model (BISM). You can do this in either PowerPivot within Excel or in the professional SQL Server Data Tools within Visual Studio. Well talk about the pros and cons of Excel versus Visual Studio, as well as the ability to upsize an Excel PowerPivot model into Visual Studio. The model we build together will provide a single place for reporting logic and calculations where they can be consumed from many reporting and analysis tools.
Then we get to the fun part: well explore our data. We will use a variety of clients from Excel and Excel Services, to Reporting Services with Report Builder, and talk about the new SharePoint Integration capabilities with SQL Server 2012. Well explore the incredible new data exploration tool, Power View 2012, and bring everything together in a dashboard with Performance Point Services. With so many choices, well guide you through what to use when.
If that sounds like a lot of new technology to cover, fear not. Well walk a scenario front to back and then talk about configuration and IT professional considerations at the end. With SharePoint, LightSwitch, and SQL Server 2012, the Microsoft stack has a robust and productive solution for end-to-end applications and business intelligence. Lets get started.
Chapter 2. Choosing the Right Tools for the Job
As the builders of applications, our clients trust us to solve problems with technology. We are trusted to create a solution that will be maintainable and that will grow and scale with the clients needs. Finally, were typically trusted to choose the right technologies and platforms to build our applications.
Its good to keep in mind that we are creatures of habit. If Im a web forms developer, then its tempting to see everything as an ASP.NET application. If Im a SharePoint developer, then I see the world as a collection of WSP packages with some list or site definitions. As an XAML developer, I may see a Silverlight application with some web services providing data access.
In this chapter, well explore each of the technologies were going to use in this book and why we chose them. This is a time of great change and opportunity in the world of Microsoft application development. Before we get into the tools, lets agree on a set of goals that well use for technology selection.
Technology Selection Goals
Reduce the time to solution delivery
Leverage tools that generate much of the code
Build a lasting solution
Capture our data in a scalable relational database management system (RDMS)
Use web services to support multiple clients
Break the solution into appropriate components
Provide end user self-service capabilities