first off - feel free to answer as many or few of the questions here as you like - I am just trying to gather some preliminary general knowledge basically
I am wanting to practice my java/jsf skills (at my job I have been doing pl sql stuff for almost a year now and I am starting to worry I will lose my java/jsf skills!).
I have only created two websites, so I am not very familiar with doing it, and the two I did create I just used Joomla. I have done a bit of java and jsf development, but nothing I have put online.
I am wanting to create the site using eclipse ide. So my first question is how to go about this (let me explain). I know how to start and create the site within eclipse, but I am not sure how to put all of that onto a hosting sites servers and make it work there rather than just on localhost. If that makes sense. I am assuming I will just need to ftp transfer the files to the hosting site file system, but I am not sure. I want to ask here first to get an idea before I just start and then find out I cannot put my work on to an actual online site.
Also, I could use a tip on what hosting site to use (since this is to be a jsf site, does the hosting site I choose matter - I am assuming it does). In the past I have used hostgator. But like I said, I used joomla, and I am not even sure if it is possible to do a jsf site on hostgator. This process is pretty murky to me right now I am sure you can tell, really I am still trying to figure out what questions to even ask. So any type of useful tutorials would be nice (I do not need tutorials on creating jsf stuff in eclipse or anything like that, I need help with actually publishing a jsf site).
I have searched a bit on these forums for similar topics, and I have seen a link to some hosting sites suggestions, but they seem to be priced high, and I am assuming that is because they are intended for more business than personal use. So if anyone could give me some recommendations I would appreciate it. I should say the site could be used just by me and a few fellow co workers, or it could be used quite often by fellow employees, depending on the usefulness of the tools I plan to put on it. It could end up getting daily visits from a few hundred people, so please take that into consideration. I am not familiar enough with the site hosting options that are out there to know what I should looking at (# of active connections, # of databases, bandwidth, all the stats the hosting sites throw at you to show why they are such a great deal - I guess I should look into researching what these options mean and what kind of site they are intended for - but that is partly why I am here too I guess).
Thanks for any tips at all
True wisdom is in knowing you know nothing - Socrates
A production webapp must be a WAR (or EAR). so the fact that you developed it using Eclipse, NetBeans, IntelliJ, whatever, makes no difference. In fact, I've had a few projects where I switched back and forth between Eclipse and IntelliJ. The main thing is that you have a mechanism (internal or external) that can construct a WAR. If the IDE can do that, fine, although I personally have scar tissue and always keep a means of doing a non-IDE build using something like Ant or Maven. An IDE may also have a deployment mechanism, but you'd have to check to see if you can use that mechanism to deploy to your target server.
As far as hosting providers go, there are basically several tiers. The cheapest hosts are LAMP or equivalent platforms. They can run on relatively slow CPUs and have relatively little memory. They're useless for J2EE.
A step up is a hosting provider that also provides a J2EE server as part of the package. Typically, it's Tomcat. It may not be the most up-to-date release of Tomcat, however, and if you need extensive customization (for example, I have Spring hooks in my Tomcat servers), this may not be sufficient. These days, some "cloud servers" qualify at this level.
Going up the scale in terms of power (and price ) is the full-blown shell account system. Details may vary, but basically, you "own" the server, have your own private remote login, and can install whatever J2EE server you want. Typically, you'd want 2GB of RAM and a 2GHz CPU as a baseline.
Installing a webapp usually involves FTP or SCP copying of the WAR. In my case, I'm running full shell, so I build RHEL RPMs, which allows me to maintain both the WAR and its external (non-java) infrastructure in a single installation package.
A full shell host is likely to run about $200/month, but if it's what you need to stay in the game, you may have to just bite the bullet. And, of course, do what it takes to make it tax-deductible, so as to reduce the pain a little.
An alternative that is usually much cheaper is to host on a machine of your own in your own home (or wherever). Most of us don't have fixed IP addresses (I do, but it costs dearly). So what you can do is hook up with a service such as dyndns that can be used to make your (non-public) server appear on the public Internet. Assuming that your ISP doesn't block that kind of stuff.
An IDE is no substitute for an Intelligent Developer.
Oh yes, I like that last idea. I just built a new system so I have an old pc that is still pretty powerful I can use exclusively as a server. I have been trying to decide how to use it, I don't know why I did not think to do that. I have heard about it being done, it just didn't come to me.
Thanks Tim, great advice as always!
If you have any other advice for taking this route or any tutorials/documentation/etc I should look at please let me know.