[jboss-user] [JBoss Seam] - Data separation in multi tenant applications with seam

christian_zeidler do-not-reply at jboss.com
Fri May 25 10:27:00 EDT 2007


We are currently designing an application that will be exposed to multiple customers, and are therefore evaluating seam. The question we are currently discussing is how to separate the customers? data. Generally I would consider three alternatives: 

1) Sharing the same database and schema. Associating every record with one client by using an ID.
2) Sharing the same database, but using separate schemas. This would mean that the tables in the schema that hold client specific data would be created for each client and identified via the table name (e.g. client1_data, client2_data etc.).
3) Using separate databases. And let the application connect to the correct database on logon based on the user?s information.

Each of these options does have advantages and disadvantages concerning scalability, performance and security related issues. While we are still evaluating these options, I?m interested in how these options could be implemented in a seam application.

Concerning option 1, storing the client ID in the session context and including it in all the queries should do the job.

Are there any good strategies concerning option 2 or 3?

I?d like to call upon the community?s experience with these topics, and ask you for your opinions on these strategies and their implementation within seam.

Thanks? for your help!
Christian


View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4048694#4048694

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4048694



More information about the jboss-user mailing list