Models

I have been thinking of a model for an application. Ideally I think applications should support the following features:

local (user, database, files)
remote (user)
remote (user, database, files)