SharePoint is an amazing development platform compiled from
numerous components. One of the advantages of SharePoint 2007 over its predecessor
is in how well it works with the existing framework that Microsoft has constructed
with .NET, IIS, etc. One serious drawback with SharePoint 2003 was that it was
in some ways counterproductive in its use of IIS and ASP.NET. Over time the
SharePoint development team ended up recreating a significant amount of the functionality
that already existed in ASP.NET on IIS. As the complexity of SharePoint 2003
increased, so did the amount of functionality that needed to be recreated. This
was most notable in the lack of namespace functionality. In other words, not
all of the tricks you knew in ASP.NET were available for use in SharePoint code.
For example, you would know what you want to do, then you would call on the
SharePoint namespaces, just to find that the methods and properties you
expected to have at your disposal where not available.
In many ways SharePoint 2007 is a complete rewrite. It answers
many of these problems by virtue of its real integration with ASP.NET and IIS.
It truly sits on top of these products and makes no effort to replace existing
functionality (or at least significantly less). This means that if you
performed SharePoint 2003 development, and complained about how much SharePoint
was not like ASP.NET, you will be much happier… and as such, more productive.
A SharePoint application? A goal driven solution…
So what exactly is a SharePoint application? It may be more
helpful to use the term solution. When you determine the goal you are trying to
accomplish with SharePoint, it may be more helpful to think of the resulting
set of objects in terms of their parts. As you have seen from Part 1, we have
prepared the locations for files of different types. In most solutions you will
obviously want to use the bulwark of the SharePoint solution, the List. Other
needs will be answered by way of ASPX and ASCX objects. And still others by the
use of assemblies. In short, you may choose to think of a SharePoint solution
as multiple parts similar to ASP.NET applications.