Server Architecture (How To)

Hi,

Basically I am new to building server applications and I was wondering whether there are any good books that can show good design patterns that can be used when building a server application.

I am mostly interested in building a server for online reservation systems. I thought of this scenario since I believe it is one of the most complicated.

Basically the server (in this scenario) can have multiple client connects. Once connected the clients would REQUEST data from the server and the server would RESPOND back with the appropriate data.

This may seem like a web server could do it. However, I want to keep the connection ALIVE between the client and server so that the server can still send other RESPONSES to that client in case the data first transmitted changes.

For example a Client_A could REQUEST data about a particular flight and the server would RESPOND by sending an xml file with all the available seats. Then Client_B connects to the server and makes a REQUEST to book one of those seats. The server would thus send a RESPONSE to Client_B to confirm that the seat has been booked, and another RESPONSE to Client_A to inform it about the change (most probably send the whole xml file again).

I thought about some ideas on how to develop such a server application. The first way is to develop a traditional server application (in which case I will need some books to learn how to build such an architecture).

The other option I thought of (I hope someone will keep reading after this point) is to actually get a Web Service Application Server and modify it so that it can keep connections ALIVE. This would mean that I could deploy the server business logic still as some Web Service.

I feel stupid writing these things and it is all because of lack of experience. I know that applications like the one I mentioned already exist but cannot understand from were I can find resources to understand how they work!

Thanks and Regards,

Sim085

[2029 byte] By [sim085a] at [2007-11-27 10:20:35]
# 1

http://www.telekinesis.com.au/wipv3_6/FundamentalNetworkingInJava.A21

ejpa at 2007-7-28 17:04:32 > top of Java-index,Core,Core APIs...
# 2

Thanks ejp,

I already have that book :) Arrived to the section were Channels are being discussed. They are new to me and therefore I am re-reading it to make sure I got it all right. I know that in the last chapter of the book there are some real life examples. I still did not arrive there (I usually never jump pages when reading books). I will give a quick look to this evening to see if it covers the scenario I discussed in my first post :)

Guess from your answer it seems that modifying a Web Service Application Server is out of the question! I thought it was kind of weird. The only think I liked about it is that the server would actually be very easy to extend its functionality!

Anyways, Thanks again,

Regards,

Sim085

sim085a at 2007-7-28 17:04:32 > top of Java-index,Core,Core APIs...
# 3

You can use APACHE open source project: MINA

MaoZedonga at 2007-7-28 17:04:32 > top of Java-index,Core,Core APIs...
# 4

Thanks :) I will look into that!! It definitly seems to be what I am looking for :)

Regards,

Sim085

sim085a at 2007-7-28 17:04:32 > top of Java-index,Core,Core APIs...