The SharePoint product has been around for some time, with the first version being released in 2001 as SharePoint Portal Server 2001. Things have moved on a bit since then. Following the acquisition of NCompass Labs, a content management system (CMS) vendor, Microsoft launched a new product, Content Management Server 2001. In 2003, Microsoft launched SharePoint Portal Server 2003 as well as an updated version of Content Management Server. These products were ultimately combined to become Microsoft Office SharePoint Server 2007 (MOSS) in late 2006.
While this was going on Microsoft also acquired ProClarity, a business intelligence (BI) vendor, and Groove, a peer-to-peer collaboration tool vendor. In 2007, Microsoft released PerformancePoint, a BI solution that was integrated with SharePoint and derived from the technology acquired from ProClarity. With MOSS 2007, Groove still existed as a stand-alone product, but now in SharePoint 2010, the features of Groove have been integrated into the platform. So, in answer to the question “What is SharePoint?”SharePoint 2010 is a fully integrated platform that is made up of the best bits of many tried-and-tested products.
There’s more to SharePoint than a collection of useful business tools, however. Creating such tight integration is no easy feat, and to make it happen, the good people at Microsoft have effectively deconstructed each of the products and pieced them back together into a software development platform that is based on the .NET Framework. In a sense, the SharePoint 2010 Platform is the .NET Framework with a whole host of reuseable application services such as content management, business intelligence, offline synchronization, and workflow.
How can it be used to develop applications? The answer is simple: open Visual Studio and start typing in the language of your choice. Of course, you’ll need to learn about a few new object models and you’ll need a good understanding of the platform architecture, but fundamentally developing applications using the SharePoint platform is exactly the same as developing applications using the .NET Framework. There are no new languages to learn and the improved tooling in SharePoint 2010 means that most of the work can be done in Visual Studio.
The aim of this book is to provide the necessary guidance to allow developers who are already comfortable with the .NET platform and the Visual Studio toolset to make full use of the SharePoint platform when developing custom applications.
SharePoint is more than a document management tool, a content management tool, or an application that allows users to create collaborative web sites. Behind all of this, SharePoint is a new kind of operating system that runs across an entire organization and provides the tools and services that information workers need on a day-to-day basis.
Organizations will always have line-of-business applications, but what about the myriad administrative applications—the Access databases, Excel spreadsheets, custom .NET application for tracking widget returns? What about the business data that’s stored in an incalculable number of Word documents and PDF files on desktop PCs and network file shares? What about the holiday request formsthat get filled in and stuck in a filing cabinetsomewhere? The SharePoint platform provides the tools and technologies to manage all of these processes and all of this data in a single unified manner. Building applications that leverage this platform provides an unparalleled level of visibility and integration—all using the familiar toolset of Microsoft Visual Studio 2010.
The SharePoint platform is delivered via a server farm architecture, shown in the following example:
Each farm can have one or more servers and can be scaled out to meet requirements.The SharePoint platform is a collection of centrally managed services that are automatically installed and configured on the various servers within the farm. Among these services, one of the most prevalent is the web service that uses Internet Information Services (IIS) on each server to deliver the web user interface that is commonly associated with SharePoint.
As well as leveraging IIS to deliver a web user interface, the SharePoint platform also makes use of Microsoft SQL Server as its primary data store. A number of separate databases are used to maintain data for each of the services on a farm; however, the global configuration for the farm itself is stored in a single database. New servers must connect to this database to be added to the farm.