I have an existing job booking and tracking application written in VB6 that I am looking to re-write as a .NET based system. The current application has served us well in our shop for a number of years, but is pretty basic. It grew and evolved from a simple editor for structured text files containing job information. Essentially it is a single-tier monolith using text files on a network share. It currently supports job create, edit, print archive etc and has no searching facilities (would be very slow with over 7,500 text files!)
I am looking to re-write this as a 3-tier client server with an SQL Server back-end data store. For comunication between the tiers I have been looking primarily at WCF so far, however it seems this may be overkill for my requirements. I have created a few prototypes with it and maintaining all the proxy interfaces and the general level of fiddly-ness is a bit off putting, for what is going to be a non-commercial application. As a result I have been looking into other possibilities, including using TCP with NetSerializer (NetSerializer - A fast, simple serializer for .NET
I know this is rather a high-level and sketchy question, but can anyone offer any advice on a way foward choosing a technology. I have pretty much ruled out Remoting and Named Pipes.
Primarilty this is to be a LAN based application, but I would also like to be able to use it over the Internet so as to have access from home.
I have a fair amount of development experience, but mostly with back-end and desktop applications. If WCF does offer the best solution, then can anyone recommend a book for an experienced developer, who is new to WCF.