Authors: Steve Fox, Chris Johnson & Donovan Follette
Publisher: Wrox, 2013
Audience: Experienced developers who want to learn SharePoint
Reviewed by: Kay Ewbank
When Microsoft SharePoint first appeared, it looked as though it was going to be another application that you felt you ought to get to know, but there seemed so many vaguely interesting looking apps around at the time that then vanished, so you had to wonder if it would repay the effort. Since then SharePoint has grown in market share and importance, and its close ties with Microsoft Office mean it really is worth learning about SharePoint from a developer’s viewpoint.
Beginning SharePoint 2013 Development is aimed at developers who know how to program, and want to know about working with SharePoint. It’s well written, code heavy, and has nice touches suggestions for recommended reading (mainly MSDN articles) at the end of each chapter.
The book starts with an introduction to SharePoint, the platform and the administration facilities. The authors then look at the SharePoint apps model, how SharePoint fits with apps for Office, and the three deployment models for SharePoint – SharePoint hosted, auto-hosted and provider hosted. This is a major change in SharePoint 2013, and even developers who are familiar with earlier releases of SharePoint would benefit from this material.
The next chapter looks at the different developer tools you can use – SharePoint Designer, Napa (Microsoft’s lightweight browser-based tool for SharePoint development), Visual Studio, Expression Blend and Fiddler. The next chapter is a good introduction to the things you’re most likely to be asked to develop for SharePoint – web parts, working with SharePoint data, cloud-hosted apps, event receivers, ASPX pages and Master pages. It’s a good start to give you a feel for the environment you’re now working in.
Part 2 of the book is titled ‘fundamental SharePoint 2013 development building blocks’, with clearly written chapters showing how you can package and deploy your apps and how they can be distributed. As mentioned earlier, all this has changed in SharePoint 2013, and the authors explain the new options well. There’s a good chapter giving an overview of the client-side object model and REST APIs. Part two ends with what’s described as an overview of OAuth in SharePoint, though in fact it’s a fairly detailed look. OAuth is the open standard designed to let apps access services in a Web-friendly manner on behalf of an app or user, and SharePoint apps use it to authorize calls to SharePoint APIs.
The next chapter looks at remote event receivers in SharePoint. While previous releases of SharePoint supported event receivers, there were restrictions on how you used them. SharePoint 2013 lets you build remote event receivers as web services with the URL endpoint registered with SharePoint. When an event fires, the web service is called, SharePoint passes on the item properties for the event, and the Web service does whatever it’s supposed to do to react to the event. The examples in this chapter show the type of app this makes possible, and by the end of the chapter I felt a developer should be able to create a useful app based around receivers.
SharePoint’s Business Connectivity Services are next to be considered. These are essentially the successor to Microsoft Office SharePoint Server (MOSS), and give developers a way to provide information from (and to) ‘Line of Business’ (LOB) systems using SharePoint. MOSS was a pain to work with because you had to work directly with the XML for setting the connections to the LOB systems, but Business Connectivity Services is a lot better. A mark of just how much better can be gauged from the product jointly developed by Microsoft and SAP that lets companies view and use SAP data in SharePoint.
Developing apps using Office Services understandably gets its own chapter, much of which is dedicated to what’s new in Excel Services, Word Automation Services, Access Services and the new PowerPoint Automation Services.
The final chapter looks at developing workflow applications for SharePoint. Workflows are ‘structured, automated process flows that engage human interaction when needed’. Essentially, they’re the flowcharts behind SharePoint apps, and are considerably more powerful in SharePoint 2013. There’s support for SharePoint’s cloud app model, and workflows are no longer hosted in SharePoint, but out of process either on its own server or in Azure as a service.
I liked the approach taken in this book, and found its descriptions of SharePoint concepts and terms clear and understandable. It does not attempt to teach any programming skills, this is purely a book for programmers who want to learn about SharePoint. It would also be useful to developers who know an earlier version of SharePoint as the app model in 2013 has changed so radically, and the new model is described so well in this book.