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#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...