SharePoint is a rich framework for developing business collaboration solutions. In fact, from developer’s perspective, SharePoint is simply a rich set of tools, classes, libraries, controls, and so on that are useful for building custom solutions that are focused on making business collaboration possible. SharePoint is a platform for building websites, and of course, it can target intranet and extranet sites. But it is more than just that; you can use it to build any kind of web solution, including Internet publishing sites, by taking advantage of a well-defined and ready-to-use set of tools, based on a secure, scalable, and maintainable architecture. You can think of SharePoint as a superset of ASP.NET, with a broad set of services that can speed up the development of collaboration solutions.
Microsoft grouped the features and services in SharePoint 2010 into six main categories: Sites, Communities, Content, Search, Insights, and Composites. Figure shows these capabilities along with their main characteristics.