Enter the simple Facade design pattern.
By simply adding a Facade layer to your design, you can prepare for immediate or future web service implementation. The basics of a Facade pattern offer an 'interface' to your business modules and database code. This interface layer consists of methods that either pass directly through to identical methods on the business objects or they combine multiple business calls into one interface method. This allows for easier updates to application code, better control of your business logic, and most importantly an easy path to web service development.
The Facade layer you create easily maps to a fully functional web service, with many of today's development IDE's like Visual Studio automatically recognizing the interface methods on the Facade and allowing you to expose them as web methods on web service layer. Even existing applications can be updated by introducing the Facade pattern into the application logic. And, by using the Facade pattern, you also made life easier when trying to performance tune or scale your application code later down the road.
So if you need web services now, plan to use them in the future, or aren't quite sure if you'll ever need them, consider always introducing a Facade interface design pattern into your application code and feel confident that you'll have a 'web service' ready application.
Feel free to comment or ask questions.
