Помните «ПОЦЕЛУЙ» - будьте проще;глупо.
Более важно иметь чистый и поддерживаемый код, ориентированный на модель предметной области, а не разбивать его по техническим соображениям.
Да;Хранение базы данных - это один аспект, да, обработка вызовов веб-службы - это другой, но слишком легко тратить много времени, чтобы сделать «чистое» разделение, и единственный результат заключается в том, что для изменения вещей требуется больше времени.(Как всегда, кто-то работал над 14-уровневым «корпоративным» приложением.)
В идеале, «бизнес-логика» - это тот модуль, который вы пишете, а адаптация веб-сервиса и хранение данных просто должны работать"магически".Поскольку это не так, вам, очевидно, приходится иметь дело и с этим, но это не является основным направлением.
Я настоятельно рекомендую следующее: бизнес-правила = ваша модель данных.Методы веб-сервиса должны быть как можно более тонкими и раскрывать модель как можно более четко.
Это довольно полезная статья о «бизнес-уровне» http://thedailywtf.com/Articles/The-Mythical-Business-Layer.aspx
Также помните, что «слои»«являются абстрактными понятиями, и не является фундаментальным требованием, чтобы они были« физически »разделены в проектах с различными затмениями и т. д. Действительно, это не так.