Microsoft® SharePoint® 2010 is the fourth incarnation of the popular collaboration and
content management platform from Microsoft. With each release, the reach and capabilities
of SharePoint products and technologies have grown, offering new tools to organizations
and new opportunities to developers. With SharePoint 2010, you can build
multi-tenant, hosted applications on an infrastructure that is scalable, secure, and stable.
Let’s take a brief look at some of the new functionality. SharePoint 2010 introduces
the concept of sandboxed solutions whereby you can deploy solutions directly to a site
collection without access to the server or the involvement of the IT team. To safeguard
the performance and security of the farm as a whole, SharePoint restricts the functionality
and throttles the resources available to sandboxed solutions. SharePoint 2010 also
provides many new ways of working with data. For the first time, you can configure relationships
and constraints between SharePoint lists, which goes some way towards bridging
the gap between the capabilities of relational databases and the capabilities of Share-
Point lists as a data source. New concepts, such as external content types and external
lists, make it easier to consume and manipulate external data from within the SharePoint
environment. The new LINQ to SharePoint provider enables you to replace your CAML
queries with more user-friendly LINQ expressions. Finally, SharePoint 2010 introduces
substantial support for client applications that interact with SharePoint sites and lists.
Client object models for JavaScript, Silverlight, and managed Microsoft .NET clients provide
client applications with strongly typed access to SharePoint objects and collections,
while a REST-based Web service provides platform-independent access to SharePoint list
data.
The new features, operational models, and configuration tools in SharePoint 2010
introduce fresh opportunities and challenges for developers and architects. To design
effective SharePoint solutions, you need a deep technical understanding of the platform.
For example, you’ll want to understand the benefits and limitations of targeting your
applications to the sandbox execution environment. You will want to know whether you
should implement a data model using SharePoint lists or a relational database. You may
want to know how to avoid hitting list query throttling limits when you write LINQ to
SharePoint expressions, and you’ll likely want to know how you can take advantage of the
data binding capabilities of the Microsoft Silverlight® platform when you develop client
applications for SharePoint. This book will help you answer all these questions and more.