There is an increasing drive to create innovation and efficiency through technology adoption. Enterprise intranet portals are one method corporations use towards that purpose. SharePoint 2010 is consistently atop the decision matrix when corporations are looking to create or upgrade their intranet portal. However, SharePoint is capable of serving as the infrastructure for a company's internet and extranet websites as well, which can create efficiencies across multiple IT processes. SharePoint's rich suite of features may also create efficiencies in collaboration, document management, workflows and reporting.

If your company already relies on the Microsoft technology stack, SharePoint's ability to easily integrate with and connect to these applications may be an important selling point. Users will quickly adapt to SharePoint usage when they see the office applications they're familiar with. Administrators and developers will be working with familiar applications like Microsoft SQL Server and Visual Studio. A high adoption rate throughout the company is certainly a plus of the SharePoint platform.

There are three versions of SharePoint: SharePoint Foundation, a free version with limited functionality; SharePoint Server, the standard version with extended functionality; and SharePoint Enterprise, with the full suite of enterprise capabilities. Since SharePoint is best suited for use as an enterprise grade intranet portal, this article will be discussing the features and capabilities of SharePoint Enterprise.

SharePoint Enterprise 2010 Overview

Microsoft breaks SharePoint 2010's capabilities up into 6 categories- Sites, Communities, Content, Composites, Insights and Search. Although there is definitely overlap amongst these categories, they do serve as a convenient overview of what SharePoint 2010 can do.

SharePoint Consulting

Sites

SharePoint 2010 is a site driven system. Sites can support a company website for clients, an intranet portal for employees, an extranet portal for partners, a team site where team members collaborate, or a personal site that individuals may customize with their most frequently used systems and tools. Sites are typically grouped together in site collections that work together to provide the desired user experience.

SharePoint sites serve as the access points for all other SharePoint capabilities. They provide tools which allow non IT trained individuals to easily configure, edit, and publish sites and the content within them. However, to get the most out of SharePoint sites you will need Web and SharePoint Developers to customize and extend the out of the box capabilities. If you are using SharePoint as your internet website platform, you may also want to consider utilizing an SEO professional with SharePoint experience, as SharePoint websites are not very search engine friendly by default.

Communities

SharePoint Communities are essentially corporate social networks. Coworkers can connect and learn about each other through their personal profile pages. Wikis help efficiently disseminate information throughout the company. Workflows allow team members to understand and improve processes. Taxonomies, tags and notes make it easy to categorize, find and share information across the company. SharePoint also provides central administration capabilities which allow you to administer, manage, monitor, and analyze your corporate social network.

Content

SharePoint Content provides an Enterprise Content Management system that is easy to manage and use for anyone familiar with Microsoft Office products. SharePoint integrates with Microsoft Office, so users will be editing documents with those familiar products within SharePoint, which increases adoption rates. Automatic categorization, tagging and taxonomies make for convenient document organization. SharePoint allows you to work with many types of content beyond documents, such as web pages, social content and emails. Management capabilities include version control, records management, retention schedules, legal holds and audit reporting.

Insights

SharePoint Insights is a collection of business intelligence tools. Using only a web browser, people can access databases, reports and applications through built in reporting and analysis tools. Users may build dashboards and scorecards with PerformancePoint, create charts with Chart Web Part, analyze your Key Performance Indicators with status indicator lists, and use familiar tools like Excel worksheets and Visio diagrams.

Search

SharePoint Search allows you to search for all types of content. Search extracts metadata from documents and can also incorporate taxonomy tags. Searches can be narrowed through the search refinement panel. Search result rankings respond to click through relevancy, such that the content your users find most useful rises up in the search result page for that search query. SharePoint can be configured to search not only within SharePoint, but can be connected to external content as well. The FAST Search product add-on (part of Enterprise edition) allows you to extend the built-in search with capabilities like custom ranking weights, advanced meta data extraction and user driven ranking profiles.

Composites

SharePoint Composites allow you to build custom solutions without code. Composites provide you a set of building blocks which can be combined and configured by non IT trained individuals to solve common business problems. Solutions to manage calendars, events, tasks, charts and business data can be configured within the browser using the SharePoint Ribbon, Web Edit, Workflow Templates and Web Part. SharePoint Designer helps create solutions for common scenarios like data integration, data views, business intelligence and custom workflows. InfoPath allows you to create and manage rich and interactive web forms. That being said, there are obviously many limitations to this approach. That is where SharePoint Development comes into play.

SharePoint 2010 Custom Development

With the release of SharePoint 2010, Microsoft provided developers a rich set of tools for developing custom solutions based on the SharePoint 2010 platform. SharePoint Development can be divided into two categories, Middle Tier Development and Custom Solution Development.

Middle Tier Development

Middle Tier Development allows developers to utilize SharePoint Designer 2010 to create custom solutions without the need to deploy any code to the server. Developing in the middle tier can be done purely using the Data View Web Part (DVWP), scripting (JavaScript or jQuery), and Cascading Style Sheets (CSS).  SPServices is an excellent library that binds the SharePoint Web Services into a jQuery library which can take Middle Tier Development to the next level.

Benefits of Middle Tier Solutions:

Since Middle Tier Solutions are compiled at runtime, there is no need to deploy compiled code to the server. This is a major plus for businesses which have strict requirements on custom code being deployed. Middle Tier Solutions also utilize common web development skills, so developers with skills in XML, CSS, and JavaScript will be able to quickly build solutions. The tools needed to develop Middle Tier Solutions are also available for free. When advanced workflows are required, SharePoint Designer-based workflows provide capabilities to implement much more complex business workflow solutions than the built-in SharePoint Workflows offer. In most cases the Designer based workflows are more than adequate for most business requirements. 

Drawbacks to Middle Tier Solutions:

Middle Tier Solutions are primarily for single use situations. They are not easily replicated to other environments. Each instance of the solution needs some manual adjustments if deployed to other sites or servers. Middle Tier Solutions may also perform slower than managed code solutions, but in most situations there is no noticeable difference. The biggest performance factors are client side machine configurations and code optimizations.

Custom Solution Development

Custom Solution Development allows the developer to build robust business applications that leverage the SharePoint 2010 API and the ASP.NET 3.5 framework. Custom solutions could include merging SharePoint List Data into Word documents, building PowerPoint presentations automatically from site content, creating workflows to provision new sites, or visualizing business data with Microsoft Visio. Business data can come from multiple sources, and Business Connectivity Services is the key to accessing this information from within SharePoint.

Custom SharePoint Workflows developed in Visual Studio can be either sequential or state machine. The main difference being that sequential workflow must move forward in their processes, where a state machine workflow moves from one state to another until the completed state is reached. Sequential workflows are used for linear workflows where there is only one way to progress through the process. State machine workflows are event driven and can move from one state to another in a non linear fashion.

SharePoint 2010 custom solutions can be developed in two different varieties, farm solutions or sandboxed solutions. The main differences lie in how a solution is deployed, the level of trust a solution has, and the system resources available to the solution. A farm solution is deployed directly to the SharePoint farm by a farm administrator. They have full trust and access to the system resources available to the farm. In contrast, a sandboxed solution is deployed to a specific site collection. It can be deployed by the site collection administrator or other site collection users with adequate permissions. The trust of a sandboxed solution is restricted to the scope of the site collection. It has access to a limited amount of system resources. Because sandboxed solutions operate in a restricted environment with limited trust, problems that may occur with the solution are limited to the site collection it is deployed to.

Benefits of Custom SharePoint Solutions:

Custom SharePoint Solutions allow the ability to create packages that can be centrally managed and deployed to multiple sites within the SharePoint farm. This makes management and updates more streamlined than working with Middle Tier Solutions. Also, the development environment will be familiar to seasoned .NET developers. The Microsoft SharePoint Team has developed the SharePoint 2010 platform to allow developers to quickly take ideas and turn them into functional SharePoint Solutions.

Drawbacks of Custom SharePoint Solutions:

Custom SharePoint Solutions developed in Visual Studio often fall into corporate policies regarding custom code being deployed to servers. Some companies have detailed processes that are strictly followed for custom code being reviewed prior to deployment. This can be a double edged sword: it enforces quality coding practices, but also increases the software development lifecycle time.

While SharePoint 2010 Enterprise edition provides a broad array of features and capabilities, it is not going to be the ideal solution for every business. Below are some of the common pros and cons of SharePoint 2010.
 
SharePoint is sharp when...

  • The requirement for an enterprise grade intranet platform is a driving force for change.
  • You are a Microsoft shop who extensively uses the Microsoft technology stack.
  • You have web and .Net developers with SharePoint experience on staff or have access to these resources through an IT staffing or project outsourcing model.
  • You want to meet several disparate business needs with a single platform.

SharePoint is dull when...

  • You are planning to use it chiefly as a Web Content Management System (WCMS). SharePoint is best at document management, collaboration and workflows; there are far better WCMS solutions available.
  • Cross browser compatibility is an important requirement. There are capabilities which require ActiveX controls which will only work in Internet Explorer, such as the datasheet list views. There are both frontend and administrative capabilities which are only available to Internet Explorer.
  • You don’t have or are unwilling to commit the required architecture and IT resources to make SharePoint all that it can be. SharePoint does a lot of things out of the box, but excels at very few of them without custom configuration and development services you will only get from IT professionals.

SharePoint is not a decision to rush into. An IT consulting firm can help you understand how well SharePoint may meet your requirements. If you do decide to go with SharePoint, getting the most out of it requires the assistance of IT professionals with SharePoint experience. If you currently do not have such professionals on staff, consider working with a firm who can provide that expertise through either a staff augmentation or project outsourcing delivery model.

Put TDK’s Project Solutions Practice to work to deliver the best technology solution to fit your unique business needs.