What we need to run a Rails application

In the Head First Rails, it mentions that we need the following in order to run an application on a server:

1- Application framework. 2- Database system. 3- Web server. 4- Object relational mapping library.

The point that I couldn't understand well is "Application framework". Can you describe what is meant by this point?

Regarding the web server, which is where our application is run, can we say that if we deploy the application to the local machine the local machine is a web server. And, if we deploy the application to www.xyz.com, the web server is xyz.com?

Thanks.

Abder-Rahman Ali wrote:

In the Head First Rails, it mentions that we need the following in order to run an application on a server:

1- Application framework. 2- Database system. 3- Web server. 4- Object relational mapping library.

Wow, that's absolutely wrong. I've done without 4 quite nicely, and some people do without 1. Even 2 isn't necessary for certain types of applications. Only 3 is essential.

The point that I couldn't understand well is "Application framework". Can you describe what is meant by this point?

Basically, an application framework is a set of libraries -- such as Rails -- which takes care of the infrastructure of the application (setting up an architecture, talking to the Web server, etc.).

Regarding the web server, which is where our application is run, can we say that if we deploy the application to the local machine the local machine is a web server. And, if we deploy the application to www.xyz.com, the web server is xyz.com?

Yes on both counts. A Web server is just a computer that can respond to HTTP requests.

Thanks.

Best,

Thanks a lot Marnen.

"Application framework" relates to the framework itself which in this case is Rails. Others in the ruby realm include Sinatra and Merb.

Regarding the web server, which is where our application is run, can we say that if we deploy the application to the local machine the local machine is a web server. And, if we deploy the application to www.xyz.com, the web server is xyz.com?

Rails has 3 environments: development, test and production. It does not matter which machine is used. What matters is which environment you're running your application on (ie. development, test or production).

Gordon Yeong.