I asked this the other day but it was closed, probably because I have a tendency to ramble so I’ll get straight to the question.
I’ve written programs before so I’m not looking for an introduction to programming.
I was wondering if anyone had a good site/article/book that they think would be a good introduction to designing a server application.
The server will be a linux based amazon ec2 server with apache. I would prefer to use python, I know Java as well though if you think that would be a better programming language for server technology. It will be accessed over the internet via a web browser.
Again, does anyone know of a good site/article/book that they think would be a good introduction to designing a server application?
**Edit
The end application will be for use with a web browser to access via ajax to return information from a database/maintain a database and add/delete files from the server. Right now though I’m just looking to write a simple app that will take an ajax call, do something simple with it, and return the manipulated data.
**Edit
For starters I would like to just integrate with a static HTML page that uses javascript to ajax and update the HTML. Later I’ll move onto creating the pages dynamically based on database information and templates with ajax calls to have the server update a database when I get more comfortable.
**Final Edit
Ok, for all the people who voted to close this. Where in your mind is “where is a good place to start learning to write a server application” not a straightforward or vague question? Seriously it isn’t vague or unanswerable. The only way it would be overly broad is if you assume that when I ask about learning how to write a server application you are assuming that I already have a working knowledge of how server applications work and just left out what should be assumed to your elite hacker mind as given. To summarize, you had to learn about server application theory somewhere. All I’m asking is where (outside of school) and how can I learn the same thing.
Outside of those guys thank you all for providing the information I was looking for. It changed my thinking about how applications run on servers and gave me some insights.
I think you should clarify exactly what you want to build first. Java and Python both have their own strengths and weaknesses for development and execution – they also have a multitude of libraries and frameworks that you can use. For example, in Python you could build web applications off of Tornado, Twisted, Pyramid, Django, and countless others. Java has numerous
Apache has been on a general decline from having a place in webapp stacks. It’s a great general web server, but it’s totally unneeded with the technologies you’re mentioning. If you’re deploying Java, you can use Tomcat and Jetty. If you’re deploying Python, you can use something small like nginx to proxy http to the python app or use the uwsgi protocol. Most people I know have something like nginx or varnish on port 80, and just proxy everything back to python/java/php/apache/etc.
Once you explain exactly what you want to learn how to build , you’ll likely have better answsers.