As the popularity of Microsoft SharePoint continues to grow, the demand for SharePoint developers also increases. If you find yourself developing solutions with SharePoint 2007, this overview will help you sort out the differences between the two available editions, learn what tools are included, and more.
The editions of SharePoint
One of the more confusing aspects of SharePoint is that there are two versions available: Windows SharePoint Services (WSS) 3.0 and Microsoft Office SharePoint Server (MOSS) 2007. Developers follow the same basic steps to get started with SharePoint regardless of the version. Here's an overview of both offerings.
- WSS: This is the so-called "free" version, as there are no additional licensing issues. It is included with the Windows Server 2003 operating system (version 2.0). The current 3.0 version is available via download. It provides core document management, collaboration, and search functions, which include blogs, wikis, RSS feeds, e-mail support, and Office 2003/2007 integration to name a few. WSS will suffice for small organizations or departments.
- MOSS: The server product is built on top of WSS. Along with the core WSS functions, it adds enterprise search and people search capabilities, along with an unlimited document repository, personal sites, additional Web parts, workflow, content syndication, and much more. MOSS targets organizations that will store more than 500,000 documents, which are usually larger enterprise customers.
SharePoint utilizes SQL Server on the backend. You may choose to use an existing SQL Server installation or the limited version (think MSDE) included with it.
There is more than one way to get involved with SharePoint development. The most basic approach involves a FrontPage-esque tool and evolves to full-blown development with Visual Studio.
Before exploring external tools, SharePoint provides browser-based editing tools that allow you to manipulate and customize SharePoint applications via an easy-to-use interface that is much more powerful than in SharePoint 2003.
The SharePoint Designer tools allow you to edit sites, create, edit, and manage workflows, add Web part zones, add ASP.NET and SharePoint controls to a page, and back up a site. The SharePoint Designer also offers administration functions that allow you to check site compatibility with standards such as CSS, HTML/XHTML, and accessibility. You may use the tool without SharePoint to create, edit, or manage non-SharePoint pages.Visual Studio
The next step up from the SharePoint Designer is the Visual Studio 2005 IDE, which provides the most complete control over the application. In addition to the Visual Studio 2005 installation, the Visual Studio 2005 IDE requires additional setup to be ready for SharePoint development. You'll need the following tools to be SharePoint-enabled:
- .NET Framework 3.0: The latest edition of the .NET Framework builds upon version 2.0 to provide new features, including Windows Presentation Foundation, Windows Communication Foundation, and Windows Workflow Foundation. It also requires .NET Framework 2.0.
- Visual Studio 2005 extensions for .NET Framework 3.0: This is required if you will be building workflow-enabled applications.
- Visual Studio extensions for Windows SharePoint Services 3.0: The tools for developing custom SharePoint applications are: Visual Studio project templates for Web Parts, site definitions, and list definitions. It includes a stand-alone utility program, the SharePoint Solution Generator, which enables developers to use the browser and the SharePoint Designer to customize the content of their sites before creating code by using Visual Studio. The main drawback of this tool is the requirement that it and Visual Studio must be installed on the same box as SharePoint.
- Visual Studio Tools for Office 2005 SE: This is necessary if you'll be extending the SharePoint platform further to take advantage of the other applications within the Microsoft Office family. One example is utilizing an InfoPath form in a workflow-based solution.
In addition to the base .NET Framework and the previous list of tools, SharePoint development relies on the following technologies:
- ASP.NET 2.0: SharePoint relies completely on ASP.NET 2.0 as the foundation for its sites, so it's paramount for SharePoint developers to have a thorough understanding of ASP.NET 2.0. This includes the lifecycle of an ASP.NET page, server and user controls, templates, master pages, Web Parts and Web Parts' infrastructure, and the ASP.NET provider model.
- XML: SharePoint makes extensive use of XML; it is the base for many schema definitions that drive the provisioning engine. There are schema definitions for sites, lists, document libraries, fields, content types, and more. The Collaborative Application Markup Language (CAML) is used in most of these schema definitions.
Developers have options
Many developers (including myself) have recognized and admired the power of the SharePoint platform from afar until the current iteration. The latest feature-rich version includes browser-based tools for administration and customization. In addition, the SharePoint Designer application, Visual Studio integration, and various add-ons help make it easier to develop solutions with SharePoint 2007.
Are you currently developing solutions utilizing the SharePoint platform? Share your experiences with the .NET community.
Tony Patton began his professional career as an application developer earning Java, VB, Lotus, and XML certifications to bolster his knowledge.
---------------------------------------------------------------------------------------Get weekly .NET tips in your inbox TechRepublic's free .NET newsletter, delivered each Wednesday, contains useful tips and coding examples on topics such as Web services, ASP.NET, ADO.NET, and Visual Studio .NET. Automatically subscribe today!
Tony Patton has worn many hats over his 15+ years in the IT industry while witnessing many technologies come and go. He currently focuses on .NET and Web Development while trying to grasp the many facets of supporting such technologies in a production environment on a daily basis.