What Developers Need to Know About Windows SharePoint Services

by Mike Gunderloy

You have probably heard of Microsoft SharePoint or Windows SharePoint Services but are not sure what advantage it will be to developers. Here is your chance to find out what it is and if it can help you.

You're probably at least vaguely aware that Microsoft has a collaborative product named SharePoint. Actually, they have several such products, and one of them -- the soon-to-be-released Windows SharePoint Services -- is poised to make a significant difference in the way that you write collaborative applications. As an optional (but free) component of Windows 2003, SharePoint Team Services provides a rich collaborative layer that any application is free to use. In this article and in other articles to come, I'll show you the basics of SharePoint Services, so that you can add this product to your toolbox for future solutions.

Getting Started with Windows SharePoint Services 2.0

Windows SharePoint Services 2.0 is the new version of the application that was formerly known as SharePoint Team Services. Under either name, it's Microsoft's solution for workgroup and department collaboration. (There's also SharePoint Portal Server, which is aimed at more enterprise-level applications). SharePoint Services allows you to communicate, share documents, and work together on projects using nothing more than a Web browser. Figure 1 shows a SharePoint Services Web site open in Internet Explorer.

SharePoint Services in the browser

Installing Windows SharePoint Services 2.0

SharePoint Services is free; you can download the current beta from the Windows SharePoint Services page on Microsoft's Web site. The final release of this version should be available at about the same time that Office 2003 comes out, later this year. You'll need to ensure that your system meets some minimum requirements to install SharePoint services. Note that these requirements only apply to the system where the server runs, not to client systems that access SharePoint sites:

  • Hardware
    • Intel Pentium III-compatible processor
    • 512 megabytes (MB) of RAM
    • 550 MB of available hard disk drive space
  • Software
    One of the following operating systems:
    • Microsoft Windows Server 2003, Standard Edition
    • Windows Server 2003, Enterprise Edition
    • Windows Server 2003, Datacenter Edition
    • Windows Server 2003, Web Edition
  • Web Application Server with the following components:
    • ASP.NET
    • Internet Information Services (IIS) 6.0 with the following components:
    • Common Files
    • SMTP Service
    • World Wide Web Service
  • Database
    One of the following versions of Microsoft SQL Server:
    • SQL Server 2000, with the latest service pack
    • SQL Server 2000 Enterprise Edition, with the latest service pack
    • SQL Server 2000 Desktop Engine (MSDE 2000)
  • Network
    • Multiple server configurations must be members of a Windows NT 4.0, Windows 2000, or Windows Server 2003 domain.
  • Browser
    One of the following browsers:
    • Microsoft Internet Explorer 5.01 with Service Pack 2
    • Internet Explorer 5.5 with Service Pack 2
    • Internet Explorer 6.0
    • Netscape Navigator 6.2 or higher

Given those prerequisites, installing SharePoint Services is easy. Just run the SETUPSTS.EXE file on the Windows SharePoint Services CD-ROM or from the downloaded file. This installs SharePoint Services on the default Web site for the computer, and sets up its own instance of the Microsoft Desktop Engine (MSDE) version of Microsoft SQL Server to store the SharePoint Services data. For more complex configurations (such as using an existing SQL Server to store SharePoint Services data), refer to the release notes installed with the product.

SharePoint Services Architecture

SharePoint Services is built on the twin foundations of Microsoft SQL Server (or MSDE), and ASP.NET. SharePoint Services is implemented largely as a set of Web Parts, which are ASP.NET controls that run on the server. Web Parts can display lists or images, retrieve stock quotes or weather forecasts, and perform a host of other tasks. Web Parts are grouped into Web part pages, which can be built and modified in an HTML editor, FrontPage or directly in the browser.

For the developer, SharePoint Services offers a number of ways to tie in to the collaborative process. I'll briefly introduce three of these in this article (and then dig into them further in future articles):

  1. Web Services
  2. Lists
  3. Workspaces

Using SharePoint Web Services

You've certainly noticed Microsoft pushing Web Services as a means of application connectivity over the last year or so -- and with good reason. The loosely-coupled model of Web Services, where the client needs very little prior knowledge of the server, is an ideal way to manage platform-agnostic component software from multiple vendors distributed across networks. For version 2.0, Microsoft has added a comprehensive Web Services API to SharePoint Services. Just about any task that can be done from the browser-based user interface can also be done by making an appropriate Web Services call. Figure 2 shows the test page for the Meetings Web Service, which is one of a dozen Web Services supported by SharePoint Services.

SharePoint Meetings Web Service test page

The Web Services API for SharePoint Services is important for several reasons. First, it provides easy access to SharePoint functionality for other Microsoft applications that can consume Web Services -- notably, Visual Studio .NET and Office 2003 (or Office XP) equipped with the Web Services Toolkit. But even more importantly, thsi ties SharePoint Services to the open standards that support Web Services, including SOAP and WSDL. This will make it possible to write applications on a variety of platforms that work with SharePoint Services data.

Using SharePoint Lists

SharePoint lists are not new in this version of SharePoint. Lists are the basic data structure of SharePoint Services; everything from meetings to contacts is stored as a list, which is very similar to an Access table or an Excel range. What is new is tight integration of SharePoint lists with the applications in Microsoft Office 2003. You can, for example, save an Excel 2003 range as a SharePoint list, or open a SharePoint list in Excel. You can import, export, and link data from Access to SharePoint and vice versa. This makes SharePoint a very useful tool for data interchange with Office 2003 applications.

For example, suppose that most of your employees work with Microsoft Access, but that you have a few roaming employees who need to be able to get to the same data with nothing more than a Web browser. Rather than layer a Web interface on top of the Access data, you could store the data in SharePoint Services, link it back to an Access database for the majority of your workers, and let the rest use it through the standard browser-based SharePoint interface.

Using SharePoint Workspaces

SharePoint Services 2.0 introduces "Meeting Workspaces" and "Document Workspaces" - these are SharePoint sites organized around particular tasks and accessed mainly through Office 2003 documents instead of Web sites. A Meeting Workspace lets you organize the documents and tasks surrounding a meeting, while a Document Workspace provides you with a document-centric collaboration model. Figure 3 shows a Document Workspace open in the task pane of Microsoft Word 2003.

A Document Workspace in action

Workspaces provide another way for users to interact with SharePoint -- one in which SharePoint isn't even evident to the end user. In addition, Office 2003 supplies an object model for workspaces, so you can use Office VBA code to tie into SharePoint directly.

Is There Collaboration In Your Future?

Microsoft is betting heavily on collaboration in general, and SharePoint Services in particular, to drive the adoption of Office 2003. You should expect a steady stream of technical and marketing material to come out of Redmond, demonstrating the usefulness of these features. Of course, you should evaluate SharePoint Services in terms of your own organization's needs, not strictly based on marketing. The key questions are whether you're doing anything that can benefit from collaborative features, and whether those features can be easily supplied by the SharePoint Services infrastructure. If the answer to both of those questions is "yes," then it's definitely worth your while to find out more about the nuts and bolts of these features.

Mike Gunderloy is the author of over 20 books and numerous articles on development topics, and the lead developer for Larkware. Check out his MCAD 70-305, MCAD 70-306, and MCAD 70-310 Training Guides from Que Publishing. When he's not writing code, Mike putters in the garden on his farm in eastern Washington state.

This article was originally published on Wednesday Jul 9th 2003
Mobile Site | Full Site