In case you want to skip to the crux of my inquiry just read the bold type.
I just finished my CS degree (at 39 years old :-)). For my final project I designed and built a system that can provide local positioning / location awareness to mobile wifi devices (only have Android client thus far). The server receives data from clients, processes it, and responds to the clients with a messages containing information about their respective locations. I would like to continue the project (perhaps release as open source but that is a different discussion). Thus far my server application has been running on the CS department's hardware where I could pretty much do whatever I wanted. I'm getting kicked off that system in a few weeks so I have to find a new home for my server application. Hosting it from my home computer isn't going to do it.
I need a host that will let me run my Java server (along w/ mySQL db) -- preferably on the cheap since I haven't yet got a job. I have very little experience with the "real world" of web development / hosting. I'm having trouble figuring out what kind of hosting service will let me run my application as is. If that turns out to be a tall order then I need to know what my options are for changing thing so that I can get up and running with some hosting. I want a place where I have shell access to do $>java myapp -- where myapp uses plain old ServerSocket. -- just about may as well be a TCP chargen server.
As an aside, I'm also researching whether or not I should rewrite this in a different language. Trying to figure out if there is a substantially better (for whatever reason) one for what I'm doing. This might also potentially have a bearing on my hosting needs. One possibility is to write the server in something more widely accepted by hosting services.
I have been searching for answers to my question and haven't found quite what I'm looking for. Part of the problem might be that I don't know exactly what terminology to use. If there is a good answer to this question elsewhere please feel free to point me towards it.
Inexpensive Java hosting will most likely not allow you to run daemon jobs - you may have to adapt your server code so it runs in the same JVM as the servlet container that Java hosting plans generally provide. That would also obviate the need for shell access (which the basic plans often don't offer).
Cheap options start at around $10 per month, although you won't get a lot of disk space or DB space for that.
Joined: Nov 27, 2011
I'm new to this but my understanding is that Servlet requires the use of http. I'm currently just sending plaintext back and forth. JSON objects to the server and (at this stage) just a short text response back to the client. I am not sending information from a webpage or to a webpage. Do I really need to get tied to using protocols designed for web content? I am certain that my understanding of many things is incomplete or even wrong. Any help getting me on the right path is MOST APPRECIATED.
Joined: Sep 21, 2011
Michael Faughn wrote:I'm new to this but my understanding is that Servlet requires the use of http. I'm currently just sending plaintext back and forth. JSON objects to the server and (at this stage) just a short text response back to the client. I am not sending information from a webpage or to a webpage. Do I really need to get tied to using protocols designed for web content?
Joined: Nov 27, 2011
Well, REST is a new concept to me...just read up on it a little bit. Not sure that paradigm fits here but maybe. SOAP might seem a better fit. Have to look into it more and discuss it with folks who can offer educated / experienced opinions. The client is very intentionally not built for users to actively solicit information input, i.e. the user is not the one requesting state transitions.... HTTP will obviously still work as a wrapper and it makes sense to just use it since the infrastructure is there and there isn't a compelling reason to cling to my current code if doing so is creating obstacles. I want to test things out and Hello World it and then research, think, and more carefully plan things before growing the project any more.
Thanks for a push in the right direction. I tried posting on another well known Q/A site and was immediately shut down. It's nice to find a place where people will help out.
FWIW, I've been done with my degree program for about 4 weeks now. I kind of had blinders on getting through the program (with 2 small kids and wife extremely busy in prep going up for tenure next year). I more or less consumed what was presented in class and not much more. I took the blinders off within a day or so of finishing and pretty much immediately starting trying to transition to the "real world". I am awestruck at how much was not covered and how much I have to learn. I have been working far, far harder to try and bootstrap myself up to speed than I ever did in school...and I was definitely in the top tier of CS students in my program. Wow. I wish I had started when I was half my age.