End to End process of Web Application Development in 9 easy steps
Updated: Sep 14, 2021
1. Select a programming language
Software development in any organization starts with selecting a programming language for coding the application. Either the client could suggest the programming language in which he/she wants their project to be coded or the development team could also be the decision maker on which programming language is best to use. There could be many factors like security, maintainability, community support etc. based on which the programming language is chosen. Some of the most common programming languages in the market today are Java, Python, C# etc. but for this example I am selecting Java.
2. Select an Editor to write the code
The best way to write a code is to select an editor. Editors makes the life of the developer very much easier as they come with built in libraries so they point out the developer wherever he/she makes a mistake in syntax etc. These editors also comes with built in plugins which have their own specific role in making coding easier. There are many different editors available in the market today namely Eclipse, Intellij, Pycharm etc. Each editor is best to be used for coding in a specific programming language, for example Eclipse is best for coding a Java application, Pycharm is best for coding a Python application and so on but you could use one editor for coding applications belonging to different programming languages. Some editors are open source i.e. they could be used by anyone for free but some are paid i.e. you will be required to pay a small fee to use some of the features of that editor. In this example I am selecting Eclipse as it is open source as well as best editor to be used for coding a Java application.
3. Select a project and build management software
There are many advantages of using a project and build management software like Maven, Gradle etc. because they provide a central repository to get dependencies, they provide a common project structure which could be implemented across the organization, also they provide plugins for test automation framework and in addition to that they also provide the flexibility to integrate the project with continuous integration tools like Jenkins. In this example I am selecting Maven because it has lot of advantages and the biggest advantage is that you could distribute your code with other people and they are not required to make any modifications in that code, they could execute on their machine the exact same code provided to them. Without using a project management software like Maven you can't easily distribute your code with other people without getting into the hassle that they first need to modify your code before executing the same on their machine.
4. Write your code
You just need to create a Maven project in Eclipse editor and it would provide you a build in structure. You need to write your Java code under "src" folder in Maven. Save the maven project in your local directory and remember the file location.
5. Create the file with ".war" extension
In this step the whole project code will get condensed into one file having ".war" extension. Basically any file that has ".jar" or ".war" is a Java file. As we have written our code in Java so we are creating a Java file with ".war" extension because we want to use this file ultimately in the application server which supports just the file with ".war" extension. To condense the whole Java project code into one file you need to open the command prompt and change the directory to the location where the Maven project is saved. Now type command "mvn clean install" to create a war file for your project.
6. Install the application server
An application server is a server that hosts applications. As we want to host our application into the application server so that it could be accessed from anywhere, we need to deploy it in the application server. Most commonly used application server is Apache Tomcat. You could install Apache Tomcat in the same machine in which you have created your project and war file or the other way is that you could install it in a different machine. Generally in real time, application server is installed in different machine than the one in which you have created your whole project and it is because you want your application to access all the machine resources so that users do not face any issue when they try to access the application from their web browser. As this example is just for demonstration purpose, I am considering that the Apache Tomcat server is also installed in the same machine in which whole project code has been created. During the process of installing the Apache Tomcat application server it would ask you the port number which you would like your application server to use and this port would get reserved for Apache Tomcat application server, you need to remember this port number as you will use it in future when you try to access the application from web browser.
7. Deploy the war file created earlier into the application server
When you install the Apache Tomcat server in your machine it would create multiple folders. In this step you just need to copy your war file created in step # 5 and paste it in "webapps" folder of Apache Tomcat. We are performing this step so that we could be able to access our application from any web browser.
8. Access the application from any web browser
To access your application from the browser, you just need to type the URL "IP address of the machine in which Apache Tomcat server is installed:port number which is getting used by Apache Tomcat server/name of the deployed war file". If you try to access the application from the same machine in which apache tomcat server is installed then you could also use "localhost" instead of the IP address of the machine. Port number should be same which was used when Tomcat server is installed as mentioned in step # 6. You could open the web browser in any machine and just type the above mentioned URL and you would be able to access the application.
9. Buy a user friendly domain name for your application
You could also buy a domain name for your application so that you are not required to type the URL as mentioned in step 8. You will get a user friendly domain name like "goole.com" or "amazon.com". There are many companies from where you could buy a domain name for your application, these companies would charge you a small fee for providing you a user friendly domain name.
Finally when you type that user friendly domain name in any web browser, then internally it would connect to the same URL "IP address of the machine in which Apache Tomcat server is installed:port number which is getting used by Apache Tomcat/name of the deployed war file" as mentioned in step # 8 and you will be able to access your application.
I have created a flowchart for your better understanding of the above mentioned steps: