The term “web parts” can mean different things to different people. A simple web search for “Microsoft web parts” returns some interesting results. My introduction to web parts began with SQL Server 2008 R2 Reporting Services and the introduction of the report viewer web part (not to be confused w/ the report part.) This allowed you to embed reporting services .RDL files within a PerformancePoint 2007 dashboard. I believe you could also embed a report in any SharePoint page using the add web part feature.
A Developer’s Introduction to Web Parts (pertaining to SharePoint 2003) states: “Developers can build Web Parts as ASP.NET custom controls. Administrators can install Web Parts on any site based on Windows SharePoint Services. Users can add Web Parts to pages by dragging and dropping in a browser, and they can personalize them by setting properties. Web Parts can connect to other Web Parts using standard interfaces.”
The Introduction to Customizing Pages by Using Web Parts (applies to SharePoint Server 2007) provides an excellent overview of Web Parts and Web Part Pages:
A Web Part is a modular unit of information that forms the basic building block of a Web Part Page. You can add Web Parts to Web Part zones in a Web Part Page and then customize the individual Web Parts to create a unique page for your site users.
The following example uses the Image Web Part to describe the basic features of a Web Part.
The Web Part title bar contains the heading for the Web Part.
The Web Part menu contains functions that enable you to minimize or close the Web Part, edit the Web Part, or get Help for a specific Web Part. When the page is in edit mode, you can also use this menu to delete the Web Part or connect it to other Web Parts, depending on the type of Web Part that you are using.
The body of the Web Part contains the content that you specified for the type of Web Part that is being used. In this example, the Web Part is an Image Web Part, which displays an image.
A Web Part Page is a special type of Web page in which you can use Web Parts to consolidate data, such as lists and charts, and Web content, such as text and images, into a dynamic information portal that is built around a common task or special interest.
Finally, WikePedia defines a web part this way:
A Web Part, also called a Web Widget, is an ASP.NET server control which is added to a Web Part Zone on Web Part Pages by users at run time. The controls enable end users to modify the content, appearance, and behavior of Web pages directly from a browser. It can be put into certain places in a web page by end users, after development by a programmer.
Web Parts can be used as an add-on ASP.NET technology to Windows SharePoint Services.
Web Parts can be custom created for your needs or purchased through third party vendors.
Here are some Free Microsoft SharePoint Web Parts.
As a PerformancePoint dashboard designer, the web part customization is done after the dashboard has been deployed. The frustration for me as a developer is that the customization tasks must be repeated every time the dashboard is re-deployed. I’ve had to create long text cheat sheets of the various web part height, width, and chrome settings for a dashboard. If anything needs changed to the dashboard using Dashboard Designer that causes you to have to re-deploy, these needs to be done individually by hand. As far as I know, there is still no way to automate this task. This always baffled me since these configurations can’t really be stored in source control and can’t be automated as the solution is deployed from dev to QA to production.
UPDATE! SharePoint 2013 allows for easy migrations!
One new feature of SharePoint 2013 that I really like is the new way it handles exporting and importing a dashboard project. In previous versions of SharePoint, I had to create long lists of customizations that had to be done to the web parts after Dashboard Designer had deployed the dashboard. Things such as hiding filters, resizing objects, and changing the chrome settings had to be done over and over again every time we made a change to the dashboard that required a re-deployment. Moving the project from the development environment to the QA environment and finally to the production environment was a manual tedious process. Furthermore, these customizations were not stored in source control. I was pleased as punch to discover the export/import feature of SharePoint 2013 solves both problems. I can extract the resulting .CMP file using a cab extractor and put the entire project into source control and I don’t have to repeat those customizations over and over again.