I manage a system which has several different winform front ends used at multiple locations.
Admittedly when I first created the system I didn't understand much about OOP or n-tier design so it's all a bit of a mess.
I did plan on creating a web service which would act as the DAL/BL but upon further reading I hear this isn't the best idea, performance being an issue for one thing.
So what's the best way of going about this? I don't want to move to a web based version of the front ends as it doesn't give me the flexibility that I require as I often need to access different types of hardware directly. But I'm uncomfortable having all of the data access code in the program and for it to be accessing the database directly. It also creates more work having to update all of the programs individually.
Should I just take the limitations of and performance issue of using a web service to do this as unavoidable?