With the move to consolidate on a single enterprise platform, the question most often asked is how other informational assets can be leveraged. SharePoint 2010 provides many tools and approaches to solve this issue.

With many organizations seriously considering SharePoint 2010 as an enterprise platform to support multiple business process the question of integration is often raised. Put simply, adopting SharePoint 2010 as a robust platform can lead to many efficiencies, one frequently touted is the consolidation of existing informational assets.

However the step from having multiple disparate systems to having multiple workloads on the SharePoint 2010 platform is often too wide a chasm for enterprises to adopt. Frequently many organizations are adopting the approach of incrementally rolling out SharePoint 2010 functionality whilst integrating with their existing systems. This integration can be in the form of storing data within the SharePoint environment itself, or more commonly, utilizing SharePoint as a consolidated user interface to external data assets.

Integrating External Data and SharePoint

This latter approach has many benefits, not in the least the reduction of complexity of data migration but also aligning focus into achieving tangible business value quickly from the platform. Existing informational assets remain outside of SharePoint but are exposed on the platform providing a consolidated view, interface and functionality to end users.

Fortunately SharePoint 2010 comes with a wealth of integration capabilities available for enterprises to take advantage of. Built in platform capabilities such as Business Connectivity Services or the new REST Data Access services allow two way integration.  Many larger enterprise software vendors have started offering integration capabilities with SharePoint 2010 and Microsoft recently announced the CMIS connector for SharePoint 2010.

Lets have a look at some of the features that can be leveraged:

1. Business Connectivity Services

Business Connectivity Services (BCS) is a new feature of the SharePoint 2010 platform, building on the Business Data Catalog (BDC) functionality of Microsoft Office SharePoint Server 2007.

BCS provides a set of services and features that provide new ways of connecting and integrating external Line of Business (LOB) data into SharePoint 2010. BCS is extremely powerful and flexible allowing enterprises to create connections to external data sources through the use of SharePoint Designer or more complex scenarios with custom code development.

For organizations that wish to manage external data within SharePoint, BCS provides a robust and scalable platform to do so.

BCS data can be surfaced within the SharePoint interface in a way that is completely transparent to end users, promoting usability and compliance. BCS can also be used to connect external data to Office 2010 applications in the same way. With full CRUD capabilities, multiple connectors shipping with the platform (Database, WebServices, WCF, .NET and custom connectors) and full lifecycle control by administrators, BCS offers a wealth of integration possibilities.

2. Web Services

As with previous versions of SharePoint a number of Web Services have been included that can be leveraged by both SharePoint and external systems for integration purposes. Common web services include the ability authenticate, search, manage content and much more.

SharePoint 2010 also includes built in RESTful web services which are intended for use by remote components that need basic capabilities for list and library data. REST Services can be simply accessed using HTTP requests, utilizing standard HTTP verbs such as GET, PUT, DELETE and POST to perform CRUD operations against the service.

These interfaces allow the support of remote systems with SharePoint 2010, allowing organizations to create custom interfaces to SharePoint or customizing existing systems to interact with the platform. A very common scenario is the ability to use SharePoint workflows or InfoPath forms to query an external system, and based on the result perform an action within SharePoint.

3. Client Object Models

Also new to SharePoint 2010 are the various flavors of client object models allowing developers to write and execute code from client machines utilizing the three new client object model flavors. These new Object Models are frequently used to integrate SharePoint 2010 and other systems from a usability perspective. Users can access both SharePoint and other informational assets from a single interface that does not necessarily have to be the SharePoint interface (think custom built Web Applications for example).

SharePoint 2010 introduces three client API’s that provide a vast amount of functionality. The three new Client Object Models are:

  1. ECMAScript Client -- This can be leveraged through javascript to get a SharePoint context and perform operations on various SharePoint objects.
  2. SilverLight Client -- Created specifically to use with Microsoft’s Silverlight technology this Object Model provides asynchronous communication capabilities that is a part of the Silverlight framework. SilverLight is also the development framework for the Windows Phone 7 that further exposes other opportunities with SharePoint and mobile integration.
  3. .NET Managed Clients -- Allows remote access from .NET Managed clients such as console application, windows forms applications and others.

These new Object Models open up a wealth of opportunities to have content accessed from outside of SharePoint. Creating rich Silverlight applications that can leverage and consume both SharePoint and external data can create the illusion to users that they are not accessing SharePoint at all. The ECMAScript client utilized through javascript is a compelling way to interact and inject SharePoint functionality with existing web applications. Finally the .NET Managed Client allows for legacy .NET based applications to be able to interact with SharePoint in a consistent manner.

4. CMIS

Many enterprises have pre-existing content management systems that wish to be exposed within SharePoint 2010. Realizing the need for interoperability to occur, a handful of enterprise CMS providers (namely IBM, EMC, Microsoft and others) created the Content Management Interoperability Specification (CMIS).

The CMIS connector for SharePoint 2010 was released as part of the SharePoint Administration Toolkit in June 2010. It allows the ability to perform content management functions between systems that adhere to the CMIS specification.

Based on a service-orientated architecture, CMIS provides SharePoint the ability to perform basic content centric capabilities including CRUD (Create, Read, Update and Delete) functions, document versioning, querying the remote repository, navigating folder hierarchy and object discovery.

Many of the current ECM vendors are starting to develop prototypes and implementations of CMIS including Alfresco, Oracle and Open Text that should open a range of integration possibilities not just with SharePoint but with the majority of leading ECM systems.

Although it is still early days, CMIS could become a very compelling solution for the integration of SharePoint 2010 to many content repositories, allowing users to interact with these repositories from within the SharePoint 2010 platform itself.

Final Thoughts

With a wide array of options available from both a platform and end user perspective it will be interesting to see the road that many organizations adopt. Will organizations start migrating data into SharePoint 2010, will external data remain in proprietary systems whilst being consumed through the SharePoint interface providing users a consistent experience, or will the approach be to build applications using the SharePoint API but presenting a completely different interface to users? Only time will tell.