After much hard work and testing, I’m happy to finally have released the SharePoint Service Application Starter Kit.
What is it?
A Visual Studio Extension that installs SharePoint project templates for creating custom SharePoint Service Applications of different flavors.
How to Get It
The installers are available from the Visual Studio Gallery, and directly from within Visual Studio via the Extension Manager.
There are two versions of the Extension:
- Visual Studio 2010 (Supports SharePoint 2010)
- Visual Studio 2012 (Supports SharePoint 2010 and 2013)
Additional documentation can be found on the CodePlex site for this project.
Why did I write it?
Writing custom service applications is probably one of the most complicated development tasks you can do as a SharePoint developer. Lots of moving parts, and unfortunately, not a whole lot of examples. There are also quite a few pitfalls you can run into – from inefficiently calling methods you don’t need to, to leaving a bunch of cruft behind in the configuration database, to worse.
Still, when done correctly, service applications can offer a lot of benefits, such as backup and restore, auto-provisioning of databases, and ability to scale across multiple servers.
Since I’ve been busy creating service applications over the last two years (like Blue Rooster’s Sepulveda social framework), I’ve learned a lot about good habits when developing these, and wanted to package that up as a starting point for others. Also, I’ve wasted a lot of time renaming classes and generating new Guids when copying an existing project to start a new service application :).
What do you get with it?
After installing the extension in Visual Studio, you will see several templates under the SharePoint category:
- SharePoint WCF Service Application
A service application that communicates via WCF services between the Web Front Ends and the Application Servers.
- SharePoint WCF Service Application w/ Custom Database
Everything in #1, with support for provisioning a custom SQL Server database.
- SharePoint WCF/REST Service Application
Everything in #1, with REST services deployed to _vti_bin, supporting AJAX access to the service application.
- SharePoint WCF/REST Service Application w/ Custom Database
Everything in #2, with REST services deployed to _vti_bin, supporting AJAX access to the service application.