If we have a strictly layered architecture, can we allow outside components to interact directly with the lower layeres?
In my lower layers, I am providing a service, and in the top most layer I have a layer called Applications which is basically various set of applications that can use that service. Users (which are considered entities outside the system) can interact with the Application layer through standard protocols. Pretty much similar to what happens in the Internet's architecture. Now if I have users of different types, say admins, ordinary users, ...; do they have to do all the interactions with the system through application layer or can we allow some types of the users to directly interact with the lower layers as well?