Introduction to Portals and SharePoint 2003

Jul 19, 11:00 pm

Article Author: Amar Galla
.NET 3.5 Books

Introduction


The term "portal" is commonly heard these days. Everyone is familiar with information portals like MSN, My Yahoo, and CNN. The explosion of the Internet and the emergence of Web-based thin clients have revolutionized the way we design and use software over the past few years. Apart from the ease of delivering content to the end user, the Internet has slowly grown into a full-blown medium through which end users can access their applications and carry on with their business tasks.


Unlike Internet-based information portals, the corporate world has been swept over by yet another kind of portal, called the enterprise information portal ( EIP ), which I’ll be examining further in this article. Not surprisingly, these EIPs are increasingly being deployed as intranet-based web applications. They serve the need for rapid information delivery, assimilation, and flow within an organization.


Merrill Lynch in a November 1998 report defined portals as "a single gateway to personalized information needed to make informed business decisions." This in short provides the very essence of what an enterprise portal is supposed to do. It is not a fancy way of storing or searching for information, neither is it a replacement for your existing business applications. Instead, an enterprise portal is a gateway that acts as a single access point to all kinds of data and applications an enterprise has to offer. Its sole purpose is to speed up data gathering tasks and increase data analyzing capabilities, thus enabling users to make business decisions with more information that might not otherwise have been at their disposal.


Let’s begin our journey by discussing what an enterprise portal is and how Microsoft SharePoint 2003 plays a vital role in the EIP scenario. I examine portals and their functionality in brief along with describing exactly how and where Microsoft SharePoint fits into the picture. In the process, I also discuss the features and differences of the different versions of SharePoint that are available.


Portals Explained


I have already provided an overview of what an information portal is and what it is supposed to do in the "Introduction" section. Here, I try to dive deeper and provide you with an understanding of the workings of an EIP. If you are familiar with portals in general and are interested in finding out more about SharePoint in particular, you can skip this section and go directly to the next, which introduces you to Microsoft SharePoint.


A portal addresses the problem of storing, finding, and accessing information quickly and efficiently. The goal of any portal is to provide centralized access to the various enterprise applications, thus increasing collaboration among people and departments, enabling them quick access to the information and applications they need. You may think from that explanation that a portal sounds like nothing more than a central dump of information and applications. However besides that, one important feature of any portal is providing personalization to the end user. Personalization supplies the end user with a customized and personalized view of information and access to applications in order to work in a more efficient, smart, and productive manner. In order to do so, a portal should be able to connect to existing applications and should also support a framework on which additional applications can be quickly built and integrated into the portal.


Broadly, a portal should be capable of the following:


  • Security and user authentication

  • Personalization

  • Integration with existing applications

  • Search capabilities

  • Collaboration and workflow

  • Content management

  • Analytics and reporting

Introducing SharePoint


SharePoint is a very popular product in the mid- and low-end portal markets that leverages the power of various proven Microsoft technologies for rapid integration, development, and deployment. SharePoint is positioned as an integral part of Microsoft’s portal strategy. Before I try to describe exactly what SharePoint is and what it does, let’s first have a quick look at the different versions of SharePoint that are available.


SharePoint as it is known today consists of actually two different products under the same name. To understand SharePoint properly, it is very important that you understand the different versions and where each product stands on its own. Both versions 1.0 and 2.0 of SharePoint come in two different varieties.


  • Version 1.0

  • Microsoft SharePoint Portal Server 1.0 (SPS)

  • Microsoft SharePoint Team Services (STS)

  • Version 2.0

  • Microsoft SharePoint Portal Server 2003 (SPS)

  • Microsoft Windows SharePoint Services (WSS)

Microsoft SharePoint Version 1.0 was developed using ISAPI filters and relied on the Office Developer edition for its customization. It was a decent product, but was very difficult to develop on and customize due to its COM-based object model and heavy reliance on the Office Developer edition.


With the launch of Version 2.0 of the product, Microsoft completely revamped the entire product, bringing the power of the .NET Framework, IIS 6, and Windows 2003 behind SharePoint. Most of Version 1.0 was recoded to use the .NET Framework. Version 2.0 uses Visual Studio .NET for its development and extension. FrontPage 2003 can still be used in many places for customization as well. Version 2.0 is poised as an out-of-the-box portal that has a lot of ready-to-use features, along with a lot of flexibility for end users to personalize and customize it, and allows developers to use the .NET Framework for highly customized portals. This article focuses mainly on Version 2.0 from here on out.


Currently there exist two products under the SharePoint 2003 name, as described previously. Windows SharePoint Services ( WSS ) is a free download and can be installed on Windows Server 2003, while SharePoint Portal Server 2003 ( SPS ) is a separate commercial product that increases the capabilities of WSS. Going forward I will simply refer to the two versions as WSS and SPS for brevity. Wherever I mention SharePoint henceforth, I mean the common features of both WSS and SPS. If there is something specific to WSS or SPS, then I mention it specifically.


Windows SharePoint Services (WSS)


One of the main reasons for the widespread success of SharePoint was because of WSS. WSS is free, provides out-of-the-box functionality, and can be extended and customized to provide customized solutions to clients. It can be considered the vanilla version of SharePoint. It’s a full-fledged Web-based collaboration system that comes with a lot of features prebuilt. WSS provides customization and personalization features, all of which are administrable through a web browser. It also comes with the Web Part Infrastructure of SharePoint, which allows reusable pieces of software called Web Parts to be built over the existing infrastructure, thus extending the functionality provided by SharePoint. Web Parts are segments of web pages (the kind of thing you might in the context of direct ASP.NET pages have represented using web user controls), but they have the additional feature that they can be added to pages by simple drag-and-drop operations onto your sites. WSS also provides the end user very simple browser-based administration features. Apart from all this, WSS provides document libraries, alerts, notifications, and various lists like announcements, contacts, links, events, etc. WSS has the ability to quickly create websites, which can easily be administered and customized by the end user. This is the perfect alternative to individual department and project sites.


SharePoint Portal Server 2003 (SPS)


SharePoint Portal Server 2003, in spite of being a separate product and sold separately, requires WSS to already be installed in order to run. The default installer of SPS will automatically install WSS if it is not already installed on the target machine. It extends the basic infrastructure provided by WSS by adding enterprise features. One of the main enhancements provided by SPS is to bring information integration capabilities to WSS. While WSS sites are basically considered project or department sites, an SPS portal is typically an aggregation of many different WSS sites within an organization. It brings them together and makes them reachable within a single interface that is very easy to navigate. It introduces a very robust indexing and enterprise-wide search functionality that allows you to search through all the WSS sites present under the portal, through a single interface. SPS also introduces categorization features to WSS by providing Areas and Listings , which provide better content categorization in a WSS site. It contains a very sophisticated and customizable search engine that can search through various content sources as well various types of content. It is not limited to only the data on WSS or SPS; it can index documents and files located on file shares and other websites as well.



Figure 1. WSS and SPS integration


Figure 1 provides a high-level view of WSS and SPS. Basically, SPS uses the base infrastructure provided by WSS and extends it by adding many new features and providing a robust, extensible, and scalable enterprise portal solution. WSS is built on the Microsoft .NET Framework and utilizes the power of ASP.NET and Windows Server 2003. It uses SQL Server as its database to store various site, portal data, configuration settings, and user-specific data.


A Detailed Look at SharePoint


With the idea of WSS and SPS and its basic feature set, I am going to provide more details to help you to understand exactly what SharePoint is and what its capabilities are. As discussed previously, SharePoint provides an out-of-the-box portal, with various features and functionality. This provides a rapid, single-point, well-organized starting point to all the information and applications in an enterprise. It was designed to be self-serviceable by the information workers themselves, allowing them to easily and rapidly add/remove components, thereby customizing and personalizing the information to their relevant needs without the need of a specialized programmer or a support team.


To facilitate end users to meet their basic needs, WSS comes out of the box with two preconfigured workspaces “the Document Workspace and the Meeting Workspace.


Workspaces are precustomized pages with certain functionality built into them, and which can be extended according to the users’ needs. Alternatively, you can start with a blank workspace and build into it the functionality you need.


The Document Workspace, shown in Figure 2 comes with the out-of-the-box functionality for sharing documents, assigning tasks, global announcements for all users, and a useful links module. This workspace is created with document sharing in mind, which enables users of an enterprise to share documents.



Figure 2. The Document Workspace


This site may alternatively be a department or project group site as shown in Figure 3 where only the members have access and share relevant documents. Similarly, the Meeting Workspaces have functionality to coordinate and manage meetings, agendas, and attendees to those meetings.



Figure 3. The Meeting Workspace


After installing SharePoint, users can create sites and choose workspaces for their sites by just a few clicks from the configuration options. It allows rapid creation of sites and customization of the functionality and the look and feel of that site. The workspaces discussed previously are common on both WSS and SPS. Once you install SPS, you get search functionality as shown in the top-right corner of the preceding images. This is not present in a WSS installation. So basically, the difference between SPS and WSS sites are the few extra features that SPS will add over the existing WSS feature set.


The individual functionality like document library, agenda, attendees, shared documents, tasks, etc. that you see in Figure 1 and Figure 2 are the Web Parts mentioned previously. These are the heart of any SharePoint site. They are small individual modules responsible for doing a particular task. End users have the ability to modify the Web Parts, layout, look, and feel of their page by selecting Web Parts from an available list and just dragging and dropping at the appropriate page in their portal.



Figure 4. Adding Web Parts
This figure has been reduced in size to fit in the text. To view the full image Click here


Figure 4shows a list of Web Parts on the right pane. These can be added to the page in the left pane by simply dragging and dropping the appropriate Web Part from the right pane to the desired location in the left pane. All this functionality is available right through the browser, hence enabling information workers to manage and change their portal as they want without the need of any administrator or a specialized programmer. This results in easy customization and personalization of the SharePoint site without requiring a lot of technical knowledge or skills.


Document Management


Along with rapid site creation and customization, SharePoint provides integrated document management support. It provides something called a document library, which supplies a nice user-friendly UI to upload documents, track changes, and maintain version control and editing control on the documents. All documents in the document library are internally stored inside the content databases within SQL Server. The document management features of SharePoint are pretty basic but do provide the ability to create or approve a basic workflow, Unfortunately, SharePoint does not provide good workflow capability around the document creation, editing, and approval process out of the box. However, you can use some partner products that extend SharePoint with robust document management and workflow capabilities.


Figure 5 depicts a document inside a shared document library. The menu shown is the content menu that appears when you right-click any document inside a SharePoint document library. As you can see, it provides features such as Check Out , Version History , and integrated editing within MS Office applications out of the box.



Figure 5. Document management in SharePoint


Integration with Microsoft Office 2003


SharePoint is very closely integrated with the Office 2003 family of products. Office 2003 applications are SharePoint aware and hence applications like Word 2003 are aware of SharePoint document libraries and provide automatic check-in, check-out, versioning, and history tracking functionality whenever they detect a document is attached to a SharePoint document library. Let’s take the case of a SharePoint list. A SharePoint list is nothing but an internal data storage mechanism that stores data in tabular form. It stores data in rows and columns and allows editing, insertion, and deletion operations on that data. It is very similar to the row column data stored in an Excel worksheet or an Access table. An Excel 2003 worksheet can automatically bind to a SharePoint list and can show reflected changes when the list data is changed or can automatically update the SharePoint list whenever a change is made to the Excel worksheet.


Another case can be that of a SharePoint form library. A form library in SharePoint is a place where users can fill in forms and store the data. Each form library will have a specific form template associated with it, and users can create a new instance of the associated form and fill in their data. SharePoint form libraries have the built-in capability of using an InfoPath 2003 form as its associated template. It is also possible to automatically bind and create a form library in a SharePoint site, from inside InfoPath 2003 Form Designer.


This close integration with Office 2003 makes SharePoint the preferred choice when you want to have a solution based around Office documents. It was built along the theme of having a very user-friendly portal that the end users can easily create, customize, and manage using simple Web-based mechanisms while continuing to work with their daily-use applications like Office 2003 in an integrated and connected way. End users will not have to call on administrators whenever they want to add something new to their portal or department site, grant a new team member access to a project site, upload and share documents, or create new sites or pages in the site and customize and personalize them. They can do all this using the browser-based administration features of SharePoint.


Integration with BizTalk


Another very critical feature of SharePoint is its close integration with Microsoft BizTalk Server. BizTalk Server is a Microsoft server product that provides the ability to easily pass data between two applications without modifying them heavily. It is mostly used to integrate new applications with legacy systems or other bespoke applications and also to provide tracking of the state of your system (eg. monitoring the state of customer orders as they move between the various appliations involved in processing them). The built-in integration of SharePoint with BizTalk allows SharePoint to extend its reach and pull data out of existing line of business applications or complex custom applications. One of the major features of a good enterprise information portal is to provide good reporting and data retrieval features. When used in conjunction with BizTalk Server, SharePoint Portal Server 2003 can extract and display data from multiple heterogeneous data sources. For example, if you have a custom inventory processing system written in COBOL or VB and you would like to display a report using the data from it on your portal, you could be in for a lot of work. Without BizTalk, you would have to write a custom extension in your application to extract the required data and load it into SharePoint. BizTalk simplifies this process by interchanging XML data between the application and SharePoint, hence enabling SharePoint to receive XML data from BizTalk without knowing or caring that the data is coming from a VB or COBOL system.


Extending SharePoint


As SharePoint 2003 is built on the .NET Framework, Microsoft has provided various ways to extend the functionality of SharePoint. It exposes a very detailed and rich API that can be used to customize and access most of the features of SharePoint. Using the API, you can write your custom code to access the SharePoint API and manipulate a document present in the document library inside a department site in a SharePoint portal. It also provides a way to write our own custom Web Parts, which can be installed using a simple drag-and-drop process just like the default SharePoint Web Parts.


Further customization can be done to SharePoint as all the site designs, configuration files, and settings are stored as XML files, which can be edited to change the inherent behavior of SharePoint sites. A full SDK is also available that can be used to customize SharePoint as well as create custom Web Parts.


Conclusion


SharePoint is a very robust and vast product that provides a highly customizable, extendible, and usable portal system that can be used to rapidly develop simple to complex intranet-based solutions. It does provide very basic document management features along with a robust search engine for an intranet. It is designed such that even end users can customize, manage, and use the out-of-the-box portal system, while giving advanced developers enough room to extend and modify the portal system as they wish using the .NET Framework.

Founders at Work

Commenting is closed for this article.