I am thinking of a certain application. It should have a database driven back-end and clients can be: Browsers (Via HTTP/S and XHTML/JS), Applications (windows, mac, mobile devices) via Web-Service SOAP requests.
I thought about designing the back end in layers.
the initial layer would be the database, of course. Above it, Web Service servers, capable of talking to SOAP capable clients making requests, reading and writing data into a database. For those clients, the application context would be in the client itself and the SOAP would be used only when needing to read or write data from the application backend.
I was wondering regarding the Browser Presentation Layer. Should it make use of the web services layer? or just access the database directly to serve the requests made by web browser clients?