Web Parts and Portals
Jump-start your Web projects with MOSS 2007.
With the release of Microsoft Office SharePoint Server (MOSS) 2007, Microsoft's document- and information-sharing technology is now a full-blown application-development platform. Many organizations are jump-starting their Web app development using MOSS or Windows SharePoint Services (WSS) because instead of reinventing the wheel, you can assemble and configure large parts of your portal application.
Instead of writing your application from scratch (akin to building a car out of parts), you can connect the pieces of WSS like building blocks in order to create your application (more like bolting on custom wheels and exhaust to a car). Windows SharePoint Services 3.0 is a free component installed on Windows Server 2003. It contains the basic capabilities that all of SharePoint is built on, including security, authentication, finite element-level access control, application management, site templates, content types, version control, document libraries, solutions, features, master pages, workflow, search and lists. It also supports blogs, wikis, alerts and RSS.
The WSS foundation can handle the usual application-plumbing needs for you (user authentication, database storage, search ability including "agents," etc.), letting you concentrate on the important part-making sure the application meets user requirements. Entities such as content types and lists let you quickly build applications that perform create, read, update and delete (CRUD) operations, as well as make the items searchable. WSS workflow can be used to implement business logic, and custom .NET code can be added if SharePoint doesn't support an operation that you need to perform out of the box.
To get an idea of how to develop a range of apps with WSS, check out the Application Templates for Windows SharePoint Services 3.0 that Microsoft developed. You can download 40 free templates from
http://tinyurl.com/yvkuq5. One template that my organization has found immediately useful is the Bug Tracking site. Installation and activation of the site template was quick and painless, and allowed us to set up bug tracking for a software project in a matter of hours.
MOSS 2007 contains all of the capabilities of WSS and much more. If your Web app needs features such as social networking (Microsoft's MySite for example), the ability to connect to other relational data sources, document workflow, record-retention policies, user content authoring, electronic forms or Single Sign On, or needs to be able to search things outside of SharePoint, MOSS Standard or Enterprise Edition can provide these capabilities.
When a client wanted us to develop a document-collaboration portal with a rich user community experience, MOSS provided the MySite and people-search functionality we needed. By integrating with Active Directory, we configured the functionality in MOSS in a fraction of the time it would have taken us to build the portal from scratch. Microsoft summarizes the differences between MOSS and WSS at
Another client had a list of requirements for its portal: The app needed to feature a personal portal page for each employee, move documents off the desktop and file shares into a managed environment, and provide document workflow for approval and distribution. That last requirement meant that a workflow needed to be developed to match the company's business rules.
The built-in document-workflow management in MOSS was a great fit for the client's requirements, and through configuration we were able to meet their needs with zero custom coding. When it came time to make the application data searchable, we were able to leverage SharePoint's search ability. When the client wanted to add new data to the search from Exchange Public Folders and other data sources outside SharePoint, we were able to do this quickly and at no extra cost because they had purchased MOSS. If we had been using only WSS we would have been unable to fulfill this requirement.
Learning to Share
The benefits of using WSS or MOSS as your dev platform are numerous, if you take the time to learn the ins and outs of the platforms and tooling. Here's some advice from the trenches:
Play to SharePoint's strengths, using Lists and Content Types, Content Management and Workflow. This helps reduce bugs and QA time by reducing the amount of custom code
- Build by configuration to enable faster dev cycles. This can help you hit shorter project deadlines and spend less money and time developing Web apps.
- Take advantage of the many free enterprise management and governance features that SharePoint provides, including templates, backup/restore and user management.
- Minimize your custom code, which will help you preserve an upgrade path to get new SharePoint capabilities in subsequent releases. These releases are free if you're a Software Assurance customer during their release period.
- Lower your maintenance cost by using the SharePoint framework, which will allow user requests like "We need to add another column/list/view to this application" to be done in near-real time. Maintenance can be up to 50 percent of your total cost of application ownership, so plan to minimize it up front.
SharePoint is a complete dev platform with amazing power for those who know how to use it. If you don't have the SharePoint expertise in-house, bring in folks who do. They can help you lay the groundwork to make your future application development even easier.
Andrew Gelina is the CEO of Syrinx Consulting Corp., a Microsoft Gold Certified Partner specializing in .NET and SharePoint technologies.