Hi Folks

There's a concept I'm trying to wrap my brain around.  It's similar to MVC, 
separating responsibilities between the display and model/controller layers.  
In terms of coding, I know how to make that happen.  However, in terms of 
server architecture, I do not.

For the purposes of semantics, please assume "server" refers to either a 
physical box and/or software service, application, container, etc.

Let's say we have a database server and Tomcat application server.  The web 
application uses JSP.  The app is configured to connect to the DB.  With this 
configuration, all the communication with the DB and page rendering occurs 
within the Tomcat application.

Now let's say that we want the Tomcat application to only do rendering.  It 
connects to a different server, X, and no longer to the DB.  The X server 
connects to the DB.  Requests and data flow between the Tomcat app and the X 
server.

What is X?  Is it a web service?  Application behind a web socket?  What 
platforms support those?  Is that what the whole SOAP, xml, and JSON stuff is 
for?

And why do it?  Are there any benefits to such an architecture?  Scaling maybe? 
 Support for rendering different output types (HTML vs Something Else)?  
Theoretically I'm thinking that maybe the different servers could live inside 
different security zones, but I don't know if that's a valid requirement.

Thanks for your time and patience.  :-)

--
Cris Berneburg
CACI Lead Software Engineer

Reply via email to