Question

I'm working on a personal project to help me branch out and learn some new/different technologies. I'm a .NET programmer but I want to learn Ruby and how to develop Android apps. I have developed pieces already but need the whole system to tie together now.

End Goal:

I want to develop an Android app that will display game schedules, scores, and standings for a local sports league. The server should periodically poll (scrape) the web site for new data/changes and push the data to the corresponding user's app. The polling will happen on a per user basis (as the web scrapper must log in to the website on behalf of each user in order to scrape their relevant data).

What I have so far:

  • I have a web scrapper (already developed in ruby) that logs in acquires a user's data from the facility's web site.
  • I have ruby script which allows me to push data down to a test Android app using Google Cloud Messaging

Where I'm stuck:

So now I need the app to register it's GCM registration ID with my server...except I don't have a server part figured out yet. I could currently do this with the knowledge I have acquired so far, but I fear this will only work on my local machine (where I'm currently developing/testing). This is because both Rack and Sinatra launch a WEBrick web server, I want to be able to use Rack (or maybe Sinatra, but trying to learn Ruby without any frameworks) with Apache as that's what my web hosts uses. Can I instruct Rack to use Apache? Are WEBrick and Apache even the same thing?

I keep reading about all kinds of Ruby specific web servers (Puma, Passenger, Thin, Unicorn, etc.) that I've never heard of before...I'm not sure if these are akin to Apache or something entirely different.

Was it helpful?

Solution

I found my answer on StackOverflow. Basically no, WEBRick is not the same thing as Apache, one is a "application server" and the other is a web server (respectively), and both are needed. Essentially the Web Server is a pass through for HTTP messages to the App Server (this is known as reverse proxy web server).

More detailed information can be found on StackOverflow (and I highly recommend reading it): Ruby On Rails Server Options

Licensed under: CC-BY-SA with attribution
scroll top