External content type is probably the most important Business Connectivity Services (BCS) concept to understand, so I decided to create a brief post about it. In essence, an external content type is the SharePoint and Office representation of a real business entity like a Customer, Order or Employee.

Implementation-wise, external content types are the evolution of BDC entities from Microsoft Office SharePoint Server 2007. They are metadata descriptions of the connectivity settings, data structures and stereotyped operations – like create, read, update and delete - that allow access to business entities as exposed by external systems (such as databases, web services, line-of-business applications, among others). In addition to the new stereotyped operations now supporting read/write access to external data, external content types in SharePoint 2010 can also describe SharePoint and Office integration behaviors like mappings to native Office item types including Contact, Task, Appointment and Post as well as data offlining into Outlook 2010 and SharePoint Workspace 2010. These are very important new aspects as they are the basis for providing familiar experiences for information workers to interact with external data inside SharePoint and Office.

You can learn more about External content types in the SharePoint SDK topic “What Are External Content Types?”. In this post though, I’d like to emphasize their role as a building block for features and solutions that leverage BCS.

clip_image002[1]

SharePoint 2010 features like External Lists, External Data Search, and External Data Columns are all based on external content types. In a similar way, SharePoint and Office solutions needing access to external data can do so through BCS by relying on one or more external content types. This means that defining external content types will be among the first steps of building a BCS-enabled solution. Once you define an external content type, you can use it to easily integrate external data on client and server thanks to the Business Connectivity Services runtime available with SharePoint 2010 and Office 2010.

In terms of authoring, both SharePoint Designer 2010 and Visual Studio 2010 provide external content type designers that allow you to create, edit and publish external content types into the Business Data Connectivity Metadata Store in SharePoint 2010. Once published, external content types can be reused across SharePoint and Office either by end-users using the out-of-the-box SharePoint features or by solutions created by power users and/or developers.

clip_image004

Figure 1. Summary view in SharePoint Designer 2010 (Beta) of an external content type representing business customers stored in a SQLServer database.

clip_image006

Figure 2. Visual Studio 2010 (Beta) showing an external content type with methods to read customer information (from two different line-of-business applications) implemented in a .Net assembly.

Now that you know about external content types, go ahead and create some in SharePoint Designer 2010 or Visual Studio 2010 to experience their power first hand!

- Rolando Jimenez Salgado, Sr. Lead Program Manager