Мой 2с на подходе с общей схемой ...
Это мой предпочтительный подход (личные предпочтения), но, как я понимаю, ключевым дифференцированным фактором является не бизнес-логика, а поиск данных. Это один из подходов.
Бизнес-логика будет и должна работать одинаково независимо от предоставленных данных. С точки зрения кода, уровень данных должен отвечать за выборку только правильных данных об арендаторах на основе идентификатора клиента. Могут быть некоторые мнения, что такая фильтрация данных по арендатору также должна выполняться на бизнес-уровне. Одним из преимуществ является то, что у вас есть дополнительное преимущество, заключающееся в том, что вы работаете с правильными данными арендатора.
Не думаю, что вы найдете подходящий стартовый набор для приложения SAAS. На мой взгляд, лучшим способом было бы прочитать код нескольких завершенных проектов, чтобы вы начали.
На некоторых ресурсах (поскольку вы не указали, какие именно технологии, я предоставляю ссылки, связанные с asp.net-mvc)
- Если вы планируете использовать asp.net-mvc, советую взглянуть на блог Майка Хэдлоу и приложение Sutekishop , а также серию Роба Эштона по некоторым понятиям мультитенантности.
- если вы планируете использовать веб-формы asp.net, посмотрите LitwareHR на codeplex (я лично не просматривал исходный код, но, очевидно, он построен на тех же принципах, что и в статье, приведенной в вопрос).
- Если я не ошибаюсь, я думаю, что Dot Net Nuke также является мультитенантным приложением.