In parts 2 & 3 of this series I discussed a bare bones service application missing several components, not to mention a complete lack of business logic. At the end of this series a fully fleshed out service application will be built that includes all features any service application would use – this will include WCF end points and “extra server” publishing of services into other farms.
I want to stress that even prior to the final parts of this series a very usable service application can be built and consumed by clients – even without WCF. Most service application tutorials jump from trivial to complex in a single gulp. My goal here is to tease out the pieces that make these services useful in smaller bite size pieces (in case that was not obvious). I also have a few tricks that include exposing service application business logic using REST (probably not what you exactly think, but true enough).
Regarding this post, I’m overdue citing my resources and wish to correct that oversight before moving forward. First, the approach I’m taking in this series is directly attributable to Microsoft MVP Wouter van Vugt who can be found at the following link:
Wouter presented the very first (to me) accessible (and short) tutorial entitled “The Road to Rome”. I believe these posts are no longer available on the web at its original location – however the code samples can be found here.
His posts (numbering only 4) began VERY slow and presented a bare bones approach to building a service application. Unfortunately I found myself in deeper water by the fourth post because of the jump into WCF and the need to fully refactor the solution. A big motivation for my posts here is to take that same road to Rome over a greater number of posts to gradually build up our capability. These posts are about understanding, not about best practice engineering.
On the other extreme is our great teacher Andrew Connell and his MSDN tutorial and videos (the service app video must have been a real challenge as this topic is not well suited for casual viewing). His materials can be found at the following links. His source code represents decent engineering practices but not accessible (IMHO) for the first time learners in this area. Probably better to take this on in a proper training environment such as CriticalPath training .
I liberally borrowed approach and code snippets from the above gentleman and many others that can be found on the web. Here are a few more.
That’s it for this post – Cheers!