Sorting Out Microsoft's Collaboration Technologies
This content is no longer actively maintained. It is provided as is, for anyone who may still be using these technologies, with no warranties or claims of accuracy with regard to the most recent product version or service release.
Summary: Whether or not you have been developing for the Microsoft Office System for a long time or just getting started, you may be a little overwhelmed by the number of new, re-crafted, or updated Microsoft products available for building collaborative solutions. This article lists the different programs that you can use as the main components of a collaborative solution. (16 printed pages)
John R. Durant Microsoft Corporation
Applies to: Microsoft Office System
To be honest, it takes me time and constant vigilance to stay on top of how the collaboration-oriented technologies at Microsoft fit together. Microsoft adds new ones at a regular pace while dramatically improving others. The roster of technologies changes all of the time, and it can be a challenge to stay informed. It's a good problem to have, however, because we are listening (and trying hard to improve how we listen) to what you, our valued customers, need and respond with software that helps you achieve your goals. I know, it sounds a bit like a platitude, but it is truly what drives us. Anyway, I digress. In this article, I want to help sort out the different programs and technologies that target collaboration. Obviously, the Microsoft Office System and Microsoft SharePoint Products and Technologies stand out in this category, but they can consort with other lesser-known programs such as Microsoft Office Live Communications Server 2003. This article provides a working definition of collaboration, a brief history of Microsoft collaboration technologies, and then gets into the current primary collaboration technologies.
Working together and sharing information is not new, but collaboration is so much more than that. Without getting into a theoretical discussion of what collaboration means, let's at least agree that collaboration involves with working together directly toward a common, clearly defined objective (Figure 1).
Without involving any software systems, collaboration is about putting everyone in a room with some pizza and caffeine and working together until you finish a project. However, not everyone can be there for this type of immediate collaboration (and obscene amounts of deodorant), so Microsoft started to introduce systems that attempt to bring this same immediacy. This means sharing ideas and data, sharing calendars, messages, thoughts, impressions, work results, observations, and so much more in a conversation that takes place in a truly abstract way.
For example, imagine a team working on a project with a tight deadline. The team members are in different locations, but all have access to the corporate network either locally or through a remote connection. To be sure, e-mail is a great way to collaborate. We can send document back and forth and so forth. But, it is asynchronous. They need real-time collaboration, the ability to work on documents, to have meetings, to show presentations, to review changes, to sketch out ideas, and engage in impromptu conversations without waiting. In essence, this is what collaboration is really all about. It is certainly not about just centralizing data, consolidating information, or standardizing access. Often, these are passed off as collaboration initiatives, but they really miss the point. Collaboration is not a strategy or technology play at all; it is about removing technical barriers so people get on with what they naturally do.
When companies believed that just consolidating and centralizing information naturally engendered collaboration, Microsoft offered up the FrontPage Server Extensions (FPSE), so that Web page authors could easily post their content up to the server from Microsoft FrontPage. This, along with Microsoft Site Server and Microsoft Commerce Server were initial building blocks for collaboration, so it seemed. With Microsoft Office 2000 Edition, Microsoft introduced Microsoft Office Server Extensions (OSE) (Figure 2), an extension of FPSE so that, right from Office applications such as Microsoft Word 2000, users could work with server-side resources such as publishing to Web Folders, adding discussions to documents, and adding subscriptions so they can be informed if documents change. OSE, built on top of FPSE, was a fully programmable environment, too, so when out-of-the-box functionality was not enough, you could add new capabilities.
During this same time, another movement was underway at Microsoft--the digital dashboard. This idea blossomed at the time corporate intranets and portals were beginning to gain popularity. The idea behind it was to give users the right information at the right time, to put them in control of what mattered to them with respect to corporate information and let them take action. In its earliest stage, the digital dashboard was only a concept or theory really, not a technology. It amounted to creating Web pages that targeted the dashboard principle and then calling them a digital dashboard. What was more interesting, however, was that Microsoft enhanced Outlook 2000 so that users could assign folders in the Outlook folder list a Web page as their view (Figure 3).
Additionally, Outlook provided a programmatic technique so that you could create a Web page for a specified Outlook folder to display the folder's contents (e-mails, documents, calendar items, task items, etc.) in an entirely customized and even personalized way. It was a hint of things to come.
In 2001, Microsoft released Microsoft Office XP, but the Office Server Extensions were recast as SharePoint Team Services from Microsoft, and although the underlying architecture was largely the same (Figure 4), it included important enhancements.
At around the same time, Microsoft released Microsoft SharePoint Portal Server 2001. Although both SharePoint Team Services and SharePoint Portal Server shared the "SharePoint" trademark, they differed architecturally. SharePoint Team Services used Microsoft SQL Server as its database engine, while SharePoint Portal Server used the Web Storage System technology of Microsoft Exchange 2000.
Using SQL Server for its foundation was the primary advantage of SharePoint Team Services. SharePoint Team Services also made it easy for users to provision new Web sites and quickly get a site up and running. These sites were based on templates, and they were very customizable. Users could share documents on their sites, and Office XP made it easy to add a reference to Web-based documents, removing the distinction between local paths or URL paths. A Web site based on SharePoint Team Services from Microsoft is built on top of both the Microsoft FrontPage Server Extensions and a Microsoft SQL Server or Microsoft Data Engine (MSDE) database in what forms a three-tier application. The client tier is the Web browser or Microsoft Office XP client, the middle tier is the Web server running SharePoint Team Services, and the server tier is the SQL Server database.
Using Web Part technology, more complete document services, and enterprise search were the main advantages of SharePoint Portal Server 2001. The original framework for Web Parts was a client-server model where the server pulled together the necessary Web Parts for a specified request and then sent them to the client computer where they rendered in an orderly way according to a specific standard. Using this technique, Web pages, instead of just being raw HTML hand-rolled time after time or just based on a template, became programmable "components" that you could manipulate in increasingly powerful ways.
One key feature was the inclusion of a special COM Add-in for the Microsoft Office suite that integrated the document management functions of SharePoint Portal Server as additional menu items in Microsoft Word, Microsoft PowerPoint, and Microsoft Excel. This COM Add-in integration supports document management functions for SharePoint Portal Server from within the core Office applications.
Meanwhile, while SharePoint Portal Server and SharePoint Team Services were gaining steam, Microsoft published the Digital Dashboard Resource Kit (DDRK), a SQL Server-based version of the Web Part Framework. Using the DDRK developers could set up Web servers to deliver Web Part-based sites. The DDRK was not a product and was available for free. It also did nothing more than just install the Web Part Framework and make it accessible on SQL Server.
Office XP took collaboration to a new level as well by adding new review and tracking features. In addition, Outlook 2002 integrated with MSN Messenger, and Exchange 2000 introduced its Instant Messaging (IM) Service, giving users the ability to start IM sessions right from Outlook.
Users, administrators, and developers responded positively to the new products and features. However, during the time that followed, it became clear that what was really needed was to bring greater consistency and clarity to these technologies. Therefore, the next release made some big changes.
The Digital Dashboard Resource Kit was retired.
Although originally bundled with Office XP, Share Point Team Services was a component of the Microsoft Windows Server System. It was renamed Windows SharePoint Services for the release of Microsoft Windows Server 2003.
Windows SharePoint Services is based entirely on the .NET Framework. It uses ASP.NET for its Web sites, making heavy use of server controls for simplifying the Web development experience and adding greater programmability. In this effort, the original Web Part Framework endured, but was completely revised based on the .NET Framework.
SharePoint Portal Server used Windows SharePoint Services as its platform and became part of the Microsoft Office System when it was renamed Microsoft Office SharePoint Portal Server 2003 (whew!). SharePoint Portal Server continues to offer additional power that does not come with Windows SharePoint Services alone, such as personalization services, enterprise search, enterprise management of SharePoint sites, and more.
The Microsoft Office System gained a greater awareness of content and activity from SharePoint sites. It also acquired other collaboration features that are discussed in the next section of this article.
Other products were standardized, changed, enhanced, or introduced, and that is what the next section is about—the new wave of collaboration technologies.
Since the first gesture toward collaboration with the FrontPage Server Extensions from Microsoft, customer needs clarified and refined while also changing. Moreover, Microsoft is on a more firm footing in the collaboration space as are the developers who build solutions based on Microsoft technologies. There is a now a solid foundation upon which to build. One of the most important shifts is the widening umbrella of collaboration technologies in the Microsoft Office System. At the same, moving the foundation of Windows SharePoint Services to the .NET Framework and building it into the Windows operating system was key. The following is a description of the main products and technologies that form the foundation of collaboration solutions today.
Each new release of Office has important usability improvements, and sometimes these are incremental. But, no release of Office was more dramatic than this one, especially with respect to out-the-box collaboration features and the ability to build custom solutions.
It is difficult to talk about the Microsoft Office System and collaboration without getting into how it integrates with Windows SharePoint Services and SharePoint Portal Server. The Microsoft Office System is more than just a document-authoring environment; it is a tool for learning, searching, discussing, working with others on documents, and so much more. Let's start with the basic bread and butter of Office: document composition. You can store documents on the local disk, but there are more and more reasons to store them on a server. You can also store documents in a document library on a SharePoint site in a document library. You can also do this programmatically from the target application. In addition to saving the document, you can take advantages of document versions in Windows SharePoint Services. But this does not add up to collaboration. Shared Workspace sites, SharePoint sites focused on collaboration, do.
A Shared Workspace site is an area, hosted by a Web server, where users can share more than just documents. They can share other information in lists. The Shared Workspace task pane (Figure 6) is available whenever a user opens a document that is in a document library.
The Shared Workspace task pane includes a link to the Shared Workspace site and six tabs. These tabs include:
Status. Displays status messages
Members. Displays the members of the Shared Workspace, and you can send these members instant messages, schedule meetings with them, add the member to your Outlook contacts, and more
Tasks. Displays the tasks in the Shared Workspace, together with their status and to whom they are assigned
Documents. Displays the documents in the document library where the currently opened document is located
Links. Displays hyperlinks located in the Shared Workspace
Document Information. Allows you to see who last modified the document and its version history, and custom properties that are assigned to the document
Now, once you have the document open, you can invite others to get in on it with you. You can send an e-mail to get the meeting scheduled, or you can do so in your document creation program such as Word, Excel, or PowerPoint. If you have Microsoft Office Live Communications Server 2003 installed, you also send an instant message with an invitation to the meeting (more on Live Communications Server later in this article).
The integration with SharePoint Products and Technologies is even more pervasive. In Outlook, you can connect to lists, calendars, and tasks whose data are stored on a SharePoint site. This means, for example, that you can view a team calendar stored on a SharePoint site inside of Outlook (Figure 7), alone or side by side with a personal calendar. As users collaborate and schedule events, communicate with Outlook, exchange documents, schedule online meetings, schedule in-person meetings, and so forth, it all happens through Office and SharePoint sites.
Another benefit with SharePoint lists is that you can set documents and other content to expire at certain times. Users can set alerts so that a change to content causes the SharePoint site to send alert results. Users can choose to be informed in real-time or later in daily or weekly alert results. Also, users can add discussion comments about documents in a thread-style manner as another way of collaborating around a document. To help users get the collaboration going more fully than just sending documents around in e-mail, when they attach a file to an e-mail, Outlook offers to put it in a Document Workspace site instead. A Document Workspace site is another type of SharePoint site, similar to Shared Workspace sites, but designed to facilitate collaboration around a document. One of the key benefits here is that it encourages users to think in terms of team access and working together rather just ad hoc contributions.
One of the biggest challenges with collaboration is balancing freedom to communicate with the need to control information. Encouraging more "chefs in the kitchen" can mean that some of the treasured recipes are more likely to be shared with unintended people, either inadvertently or deliberately. The Microsoft Office System comes with support for information rights management (IRM). Using IRM, you can make documents available to certain users and control access to such an extent that users cannot copy the documents at all, even when permissions are read-only.
As you can see, Windows SharePoint Services is a key part of the collaboration story with the Microsoft Office System, even though the features of the Microsoft Office System can stand on their own merits. Windows SharePoint Services is no longer available as a separate program or product as it is included with Windows Server 2003.
Windows Server 2003 did not include Windows SharePoint Services during its initial release. However, Windows SharePoint Services is available free from the Microsoft Download Center.
SharePoint sites are really a type of file system. They can store anything, including documents, tasks, contacts, events, and other information. These SharePoint sites are comrised of Web Parts and Windows ASP.NET-based components. You can add Web Parts to pages and site administrators and users can configure them to create complete page-based applications. In Windows SharePoint Services, site settings and information, along with all site content-such as all list data, all documents in document libraries, and other page content-is stored in the Microsoft SQL Server or Microsoft SQL Server 2000 Desktop Engine (Windows) (WMSDE) database (Figure 8).
Windows SharePoint Services makes life easier for developers and opens up many possibilities. One reason is that it offers up a fully programmable object library. If you want to write a solution that manipulates documents, use the API. If you want to enumerate items in a list and view their properties, use the API. What's more, this object model is based on the .NET Framework. This keeps Windows SharePoint Services in step with all of the advances and advantages of the .NET Framework.
Another way Windows SharePoint Services expands possibilities for collaborative solutions are through Web services. You can access lists, update them, add new items, change data elements, and so forth by using Web services. In the .NET Framework, creating and consuming Web services is surprisingly easy, especially when using Microsoft Visual Studio .NET 2003.
Windows SharePoint Services is the underlying architecture upon which Microsoft Office SharePoint Portal Server 2003 is built. SharePoint Portal Server is a superset of functionality. Enterprise-wide implementations of SharePoint sites benefit the most from SharePoint Portal Server. Think of it, once users start creating sites, the sheer number could get unwieldy, creating a management nightmare. No matter how great the collaboration story is, no sensible information technology (IT) administrator signs up for chaos. In addition, it is impossible to put all sites on a single server, so you must balance the load across multiple servers. How can an IT administrator manage the content across these servers effectively and make them searchable across the enterprise? That is what SharePoint Portal Server is all about.
SharePoint Portal Server also provides support for personalization and customization down to the user level and the ability to target content for specific audiences. SharePoint Portal Server enhances Alerts in Windows SharePoint Services by making it possible for users to receive alerts when content across the enterprise alters.
Collaboration may include business application data, not just documents or other data items added by using Office or SharePoint Portal Server. SharePoint Portal Server integrates with Microsoft BizTalk Server and uses connectors to standard ERP systems such as PeopleSoft, SAP, and Siebel.
One of the most exciting products is Microsoft Office Live Communications Server, an instant messaging-based product. What is particularly gratifying is that the user gets loads of spectacular features without much effort. Administrators on the server finish nearly all of the setup and configuration. It is fair to summarize that Live Communications Server provides a way to enable peer-to-peer real-time communications between people while managing and controlling the experience at the administrative level. Thus, rather than just opening up instant messaging in a free-for-all style, Live Communications Server allows a company to keep private IM content internal while letting public IM go on at the same time, not crossing lines between them. This is possible because Live Communications Server relies on industry-standard protocols, such as Session Initiation Protocol (SIP) as shown in Figure 9.
Users can share applications and application data in real-time. This means that groups of people can open an application and all contribute to its workings in real-time. They can start white-board sessions as well. From Microsoft Windows Messenger, a user can invite others to join a white-board session that loads Microsoft Paint and allows them to compose there just as if at a white-board. A user can also start a video or voice-only conversation with someone in the contact list.
Instant messaging (IM) is becoming increasingly popular particularly because it allows for personal exchanges in real-time. You can do this by typing on the keyboard, writing in ink, a special format for handling pen-based composition so that hand-written input is preserved as-is, no recognition required, or Windows Messenger's high-quality voice abilities. The conversation is not just for the ears, however. PC video cameras let you see others while you are typing or talking together when you use Windows Messenger. If live images are not what the occasion requires, you can trade documents or other types of files directly. However, what if you wanted to draw a picture together? This also possible as you brainstorm with a co-worker using the Whiteboard feature, which starts an instance of Microsoft Paint and lets you share the drawing space. Using the application-sharing feature, you work on documents together rather than pass revisions around.
It is easy to see how these features could be part of a collaboration process or solution. Using them, however, requires that parties in the exchange connect using SIP, a protocol that allows application interaction at a high level. This can only be done with Windows Messenger and its underlying architecture (Figure 10), not with MSN Messenger. MSN Messenger does not support the requisite APIs. This is not to say that MSN Messenger cannot stand on its own merits as a collaborative tool, but the more advanced information-sharing capabilities are offered only through Windows Messenger when working in conjunction with Live Communications Server.
The Windows Messenger client application has two back-end sources for communication. The first is the Communications Service based on the Session Initiation Protocol (SIP) and coupled with the Real-time Communications (RTC) Client API. Together, these enable communication by using an SIP server in the enterprise. The second is the .NET Messenger Service that enables clients to communicate with contacts using a .NET Passport.
Whereas Live Communications Server is based on users relying on instant messaging for real-time collaboration, Live Meeting lets users participate in interactive presentations and meetings over the Web while relying on a scalable browser-based architecture. Live Meeting is useful when you want to schedule and conduct an online meeting or conference of any size. Like Live Communications Server, Live Meeting offers application sharing and white boarding. However, it is designed for managing conferences of people in interactive meetings around the world with remote teams, prospects, customers, partners, colleagues, and global audiences. After the meeting is over, you save or print the presentation content, or even record the presentations with the audio and visuals synchronize so that people who could not attend can still get close to the experience.
For Office System developers, there is no direct developer story. In other words, there is no Live Meeting API to conveniently reference and begin manipulating conference sessions and so forth programmatically. However, Live Meeting is likely to be a major part of collaboration solutions.
You can build many types of collaborative applications on the Exchange store usually with e-mail prominently figured. Microsoft Exchange Server 2003 provides a powerful platform for these types of solutions because of it highly programmable server-based architecture. Some of the power in Exchange comes from it support for document-level access control, integrated data access, extensible APIs for collaboration, support for both Web-based and mail-based applications. There is just too much in Exchange to treat here responsibly, but many developers find its APIs and their use for collaboration solutions very tempting.
Using Exchange Server 2003, you can create workflow applications. You use CDO for Workflow (CDOWF) for this. A workflow application reflects the flow of information and thinking in a business processes. Therefore, it should automate the flow of information between the process steps, and allow for the manipulation of data at each step. Applications that manage workflow processes are used to plan, design, implement, and measure the effectiveness of workflow automation. Within this framework, you can design workflow applications with the data of e-mails, calendar items, attachments, tasks, and other items directly available in your server-side code. CDOWF includes a workflow engine, modeling tools, and event sink architecture that allow you to respond to events synchronously or asynchronously. Using CDOWF, you add states to the workflow, add transitions between states, and add code to the processing of data through these states.
Another technology built into Exchange Server 2003 is CDO for Exchange 2000 Server (CDOEX). This programmatic library provides the fundamental Component Object Model (COM) classes and interfaces that manage most types of information in the Exchange store. Like CDOWF, the data for Exchange items (tasks, appointments, etc.) are directly available via CDOEX. However, CDOEX does not feature any workflow API. Using CDOEX you can do operations such as create and send messages, read or alter their content, work with appointments, contacts, and other information in an Exchange data store.
As you can see, you can include many technologies in your collaboration solution, whether you are creating one from scratch or enhancing an existing one. No doubt, I could have elaborated upon other products and technologies such as Microsoft BizTalk Server 2003 or how Microsoft Visual Studio Tools for the Microsoft Office System can help speed application design and development, but it seemed sensible to keep the list a little more concise.
As always, you should begin by clearly defining your solution and then employ a development method such as the Microsoft Solutions Framework, an adaptable framework for successfully delivering information technology solutions. When considering how you build the target system to meet the objectives of your collaboration solution, consider the technologies described in this article. To help you find the resources about them more easily, the following section contains a list of technologies and suitable starting points on MSDN or elsewhere. The list is in no way comprehensive, mainly because it would just take a lot of time to research the list. Nonetheless, these links are enough for getting started.
MSDN Office Developer Center. Visit the MSDN Office Developer Center for more great resources for Office Developers.
Microsoft MVPs. Find Office-oriented MVPs.
OfficeZealot.com. Visit this great site for all things Office including blogs and more.
Instant Messaging and Conferencing
Microsoft Office Live Communications Server 2003. See articles, downloads, and more resources for Live Communication Server on the MSDN Office Developer Center.
Windows Messenger. See articles, downloads, and more resources for Windows Messenger on MSDN.
Microsoft Live Meeting. See articles, downloads, and more resources for Live Meeting on Office Online.
Microsoft Exchange Server
Exchange Server 2003 SDK. Review the SDK for Exchange Server on MSDN.
Exchange on MSDN. See documentation, tools, and samples for easier and faster application development for Exchange Server on MSDN.
Exchange Resources on SlipStick.com. Visit this community site for more great resources for Exchange.
Microsoft SharePoint Products and Technologies
SharePoint Products and Technologies. See articles, downloads, and more resources for Microsoft SharePoint Products and Technologies on MSDN.
Microsoft Office SharePoint Portal Server 2003. Learn about Microsoft Office SharePoint Portal Server 2003 on the MSDN Office Developer Center.
Customization Kit for SharePoint Products and Technologies. View sample sites based on real world scenarios that fully expose great new functionality in Microsoft Office FrontPage 2003, Microsoft Windows SharePoint Services, and SharePoint Portal Server.
Evolutionary SharePoint by Peter O'Kelly. Read Peter O'Kelly's column "Evolutionary SharePoint As Microsoft's Collaboration Strategy Evolves, So Must SharePoint."
Microsoft Solutions Framework Version 3.0 Overview. Read this white paper to gain an overview of the foundational principles of the Solutions Framework including core models, and essential disciplines, focusing on how this application contributes to the success of technology projects.
ProjectConnections. Visit this great site for practical knowledge on project management.