In the last few years, it has become clear to me that the churn in the end-user device space (mobile vs. desktops, mobile fragmentation, Windows "legacy" vs. Windows 8, etc.) has made it necessary to move as much logic as possible to services, so that supporting new or different platforms is as easy as possible. Sadly, it is not always possible or within the timelines to make that move. Few of my projects implement logic in services, and I know it will cause me problems in the long run.
Justin James is the Lead Architect for Conigent.