PDA

View Full Version : User data in a cloud environment



avianmanagement
2013-03-07, 00:26
If one had a application that had a lot of users who were not from the same company, lets say users were general public using an app you have developed.

In a cloud app how does one handle them not seeing each others data. Do you set up each user with their own databases and set of tables, or can they share one databases and set of tables, but only see their own data ?

Also if you sold access to the app on line what is the best way to add the users to the system, preferably an automated way

barrymavin
2013-03-07, 00:39
The Lianja Cloud Server handles multiple tenants. Once a user has logged in, they are "rooted" into their own tenancy. They have separate database, apps and libraries. You can however create symbolic links to the Apps and Library directories and they can still have their own private databases. They can only see resources in their tenancy.

The tenancy that a user belongs to is specified in the users workspace; the "Domain" column of the sysroles table.

When the user first attempts to access the system via a url such as www.david.com/lianjacloud (http://www.david.com/lianjacloud) they are presented with the Lianja App Center "Login page" (same a desktop). After the login, the Lianja Cloud Server "roots" them into the tenancy specified in the "domain" column for that user. The Lianja App Center is then displayed in the browser. Only those apps that they have permission to run are displayed as tiles. The Lianja "Permissions and Roles" are in effect after they have logged in.

They click on a tile and run an App.

It works in the same way as desktop does. They can go "Home" (back to the App Center) and select another App to run or they can "Logout".

You don't have to do anything special in your apps, just use the permissions and roles properly.

The "Domain" would typically be unique for a given customer e.g. david.com or lianja.com or hank.com. So you can bulk load the sysroles table using ODBC or whatever.

Thats basically it.

avianmanagement
2013-03-07, 00:56
Thanks for that Barry,

So do I need to set up a separate domain for each user ? www.david.com, www.hank.com etc ? That would be a pain if one had say 1000 users.

What would be the best way to handle the following.

I create an application for use by the general public and have lets say 1000 users, they have no connection to each other in terms of data access.

Do I have to create 1000 domains, one for each of them ?

barrymavin
2013-03-07, 01:18
If you want each user to have their own private databases they have to have their own "tenancy".

It is simple, you just create symbolic links to the apps and library directory and copy the database directory to their tenancy.

This is how Lianja Hosted Cloud will work as well.

If you look a the c:\lianja\cloudserver\ directory you will see it is structured like this:



c:lianja\cloudserver\tenants\
c:lianja\cloudserver\tenants\public\
c:lianja\cloudserver\tenants\public\apps\
c:lianja\cloudserver\tenants\public\data\
c:lianja\cloudserver\tenants\public\library\
c:lianja\cloudserver\tenants\public\profiles\


and on Linux:



/opt/lianja/cloudserver/tenants
/opt/lianja/cloudserver/tenants/public
/opt/lianja/cloudserver/tenants/public/apps
/opt/lianja/cloudserver/tenants/public/data
/opt/lianja/cloudserver/tenants/public/library
/opt/lianja/cloudserver/tenants/public/profiles


"public" is for users with "*" as their domain.

avianmanagement
2013-03-07, 01:29
Hi Barry,

Sorry if I'm being thick here but I don't understand this cloud stuff AT ALL.

So are you saying that I can have three users who use apps and data stored in say

c:lianja/cloudserver/tenants/david/apps


c:lianja/cloudserver/tenants/hank/apps

c:lianja/cloudserver/tenants/barry/apps

They would each use the same url in their browser, say www.visualaims.com/lianja, and when the log in the system would direct them to their own tennants/ subdirectory for the apps, data etc?

Or would they all need their own url in the browser, www.david.com, www.hank.com, www.barry.com

barrymavin
2013-03-07, 01:32
They do not need their own URL.

They all just goto www.david.com/lianjacloud

The "domain" is their "tenancy" name which you specify in the record along with their username. The Lianja Cloud Server handles the multi-tenancy for you.

avianmanagement
2013-03-07, 01:47
Ok that you for clearing that up.

That sounds a really nice way to have user access.

If I add a new user will the Lianja Cloud Server set up the new subdirectories, Database, tables etc, or does one have to do that in code ?