So you've created a Web app… Now what?
This is a question that haunted me for a very long time. I have the know how to create an entire web application, but I didn't have a clue how to actually publish this web app so my friends, family and co-workers could see it.
In the end I spent countless hours pouring through blogs, videos and asking questions online and off. It was a painful process and I was met with countless barriers.
So I put together a video that takes you through the ENTIRE process, step by step.
I'm very proud of this tutorial, as I'm not aware of any other like it on the web (at least none that I could easily find or that answered all of my questions about publishing a Java web application).
What You'll Learn from this Video
- Why would I want to publish my Java web application?
- What resources/technologies are involved in the publishing process?
- How much does it cost to host/publish a Java web application?
- How long does this process take?
Why would I want to publish my Java web application?
There are two main reasons why you'd want to publish your work to the internet for all to see.
The first reason is that it's nice to have your work published so that you can have other people use your app and test it out. Most of the bugs that are found during the development life-cycle of an application come from the QA process (quality assurance). So having your work publicly available allows for a much broader audience to access your application and test it for you.
The second main reason is… Why wouldn't you want to publish your cool application? The whole point of slaving away in front of a computer and programming all day is so that you can unleash your work on the world and receive fame and fortune right?! In all seriousness, publishing your web app is usually the end goal of any development process, so it's a good idea to become familiar with the process.
What resources/technologies are involved in the publishing process?
The main resource you'll need is something called a virtual private server (VPS). Java applications require web servers that aren't usually available with regular hosting plans, so the next step up from a regular run of the mill hosting plan is to get yourself your own VPS.
Essentially a VPS is your very own computer that you'll be able to “virtually” log into and use. A virtual private server is often just a “server image” that exists along side MANY images on a single physical server… Picture you taking your computer and slicing it into many smaller less powerful computers and then selling people access to those less powerful computers. That's what a VPS is in a nutshell.
With your own VPS, you can use it just like it's a regular computer, so you can install all of the software you'll need to host your Java web application.
Note: There's also hosting companies that provide dedicated servers, which is an entire machine dedicated just to your purposes (so you're not sharing a single computer's resources with many other people). This extra power comes at an additional cost of course.
How much does it cost to host/publish a Java web application?
Thankfully all of the software you can use to host your Java web applications is free, but the actual VPS is not. VPS plans vary in price, but the key is the find the best bang for your buck. I've tested around 6 different hosting companies and I've found that the cheapest VPS you can get that still packs reliability and speed is via InterServer. You can get plans for around $8-$11 per month, which is fantastic for a VPS!
How long does this process take?
The whole process takes an hour or two, so in the grand scheme of the life-cycle of the development of your software, it's a drop in the bucket! I've put together a 45 minute video that takes you step-by-step through this process and explains everything you need to know in detail.
My goal here is to have covered all of your bases for being able to publish your web application online so that you can send a URL over to your friends and family bragging about your programming abilities ;)
Please enjoy the video and if you have any questions or run into any issues, please leave a comment below the video and I'll be happy to help you out.