Today, I’ve been busy writting a new open source sample application, using ASP.NET 2.0 and MS SQL Server 200x. As usual, I began writing down the model of the application and generating the code using my AjGenesis code generation engine. I love that project!
It frees me from repetive and cumbersome tasks, as tedious web page creation, or long stored procedures code.
Now, I have a system with:
- Tenants
- Applications
- Users
- Roles

Each user belongs to a Tenant. There is the “main” Tenant, one that provides the AjSaaS application. You can define new applications, and create new tenants (enterprise that uses applications). A tenant can use many applications, and an application can be used by many tenants.
Each tenant has a collection of users. Each application has a collection of roles. A user can plays many roles (in differents applications, if his/her tenant has adquired many services).
This is my first day of work. I’m now working on implementing membership and role providers based on the above schema (using the provider features of ASP.NET 2.0).
After that feature, the next steps are:
- Implement one or two sample application to put under the system (I’m planning to implement some entities with CRUD functionality).
- Implement user-defined entities as in
Building an End User Defined Data Model – Part 1
http://www.15seconds.com/issue/050324.htm
Building an End User Defined Data Model – Part 2
http://www.15seconds.com/issue/050414.htm
using some ideas published at
Multi-Tenant Data Architecture
http://msdn2.microsoft.com/en-us/library/aa479086.aspx
The final idea is to extend the system up to level 0,1,2 of the maturity model at
SaaS Simple Maturity Model
http://blogs.msdn.com/gianpaolo/archive/2006/03/06/544354.aspx
Some business rules would be implemented with customizable Workflow Foundation workflows, or something similar usign AjBasic as a Saas Code Language (a la SalesForce, they included a controlled programming language to extend their systems).
I’m in my sabbatic week. When I finished with this week, I’ll publish the first version of code, with open source license.
Angel “Java” Lopez
http://www.ajlopez.com/en
Hi AJ Lopez,
I found this website by investigations on the Multi-Tenancy subject and I am currently searching for an inmplementation of a multi-tenancy app with tenants, users, roles, credentials, etc. Are you still working on your interesting project? Thank you in advance for any reply!
Greetings from Germany, Daniel
Comment by Daniel Pavic — October 27, 2007 @ 8:21 pm