Why do the tiers need to be on different machines?
My app works on a very clear MVC architecture:
Request ----> Controller ----> BL ----> Controller ----> XSLT
processor ----> Response
HTTP INTERNAL RETURNS PROCESSES WHATEVER
WRAPPER XML XML TO ... [Currently HTML, XML, CSV, pdf]
The request URL is therefore constructed to say what action/information is
required AND how it is to be presented
eg \controller\Order?order_no=1034&csv=true for a spreadsheet of order 1034.
If I need to return raw XML over http I just tell it to forget the XSLT view
If I need to scale, I will load balance, as all of this happens within a
webapp (the controller is just a servlet which loads the relevant Action
(BL) which the URL specifies)
It's all a lot easier than other RPC, etcetera
From: email@example.com [mailto:firstname.lastname@example.org]On Behalf Of
Sent: Wednesday, May 02, 2001 4:28 PM
Subject: Re: XML based system architecture
This is fine with a 2 tier architecture because XML servers can do SQL
But it becomes more complicated if you want to do more generic requests
(not just SQL) to a business logic (BL) layer.
In my case, I also like to be able to pass on the authentication
information and to add a load-balancing mechanism later on in front of
That's why I was thinking of a BL server accessible via HTTP.
That's why I was thinking of a way to do an HTTP request from the XML
server, do get to a sort of servlet chaining.
Am I going to a wrong way thinking that?
If not, how can I do servlet chaining from the XML server?
Should I implement a tag library that will allow me to do servlet
chaining? (or to make and XML-RPC/SOAP call if my BL server is an
> You could use XML-RPC ( simpler ) or SOAP ( more functionality ).
> I did something similar, but only 2-tier distributed.
> XML -> SQL - > XML -> HTML
> HTML FORM -> XML -> SQL
> ie for Outbound