Briefly, I have to produce a server whose back finish queries information from another server. I am wondering how others might approach this issue.
Here is a longer description from the problem: I have to produce a server (refer to this as server Alpha) which makes demands to a different server (refer to this as server Omega) according to webpages which are asked for through the client. The demands are network messages and therefore are not SQL queries. The asked for information will participate this content that will get offered to Alpha's clients. For instance, the customer may want to display a pal list. Alpha would query Omega for that client's buddy list. Alpha then shows an internet page using the buddy list.
The clients cannot connect straight to Omega. The server Alpha virtually just handles client connections, handles queries in the client towards the Omega server and serves new webpages (that could contain information queried from Omega).
I am a new comer to web design. I'm not sure much about Apache modules. But, it appears like the majority of the functionality has already been available within Apache. It appears like Apache might be extended for delivering the network messages that question information in the other server, Omega. An alternative choice would be to produce the Alpha server on your own.
Which approach can you use? Can there be another approach that's better?
Without getting more detail by what you are doing, it may sound like either of those approaches could be overkill. Basically used to do buddy list querying inside a modern Web programming atmosphere, I'd consider something similar to the next:
- Server Alpha is my normal Web stack: Apache, my application server (i.e. Passenger for Rails, or something like that like JBoss for Java, etc.).
- Server Omega looks like it's already established, and so i will not address it. When not existing, it may be another server set up like Alpha.
- Web demands from customers arrived at Alpha through the www.
- My Web application on Alpha connects to Omega through the appropriate protocol. This can be XMPP to question a Jabber server, or LDAP, or whatever. Omega returns its results.
- Web application on Alpha uses these leads to develop a page revisit the consumer.
Seems like you would like whether reverse proxy, or application server. You are a little vague by what type of data Omega is really coming back -- if you would like Omega to create webpages, then consider reverse proxies. Apache includes a built-in proxy module, but I have heard that Squid has better performance:
If Alpha and Omega are utilizing a custom protocol, then you will want to treat Omega being an application server.
In the seem from it, it is the type of system that might be offered with a fairly regular scripted web page. Using, for instance, PHP the script calls the rear-finish web-service and creates a web page using the information. Just how much processing is needed, is dependent around the distinction between the output from Omega and what you would like the HTML to appear like.
An Apache module appears to become overcomplicated - and another server complete overkill.