In this post we will learn many basic terminologies related to web technologies.
The following question will also be covered in the post:
Where do Servlets stand in the web architecture?
What is the difference between Web Application and Enterprise Application?
Java is basically used to develop two types of applications: Standalone applications and Enterprise Applications.
Standalone applications: A standalone application is an application that runs locally on the device and doesn't require anything else to be functional. All the logic is built into the app, so it doesn't need an internet connection nor any other services installed.
Basically we can say that standalone applications don’t follow the client server architecture.
Standalone applications is further divided into two types: CUI applications and GUI applications.
CUI Application is a standalone application, it will be designed in such a way to take input from users though command prompt and to provide output data to the user through the same command prompt, where command prompt is acting as an user interface and it is supporting characters data.
GUI Application is a standalone application, it will be designed in such a way to take input data from users through the collection of graphics components and to provide out data to the users through the same collection of graphics components, where the collection of graphics components is acting as an user interface and it is supporting graphics data.
To prepare standalone applications, java has provided some core libraries like java.lang, java.util, java.awt, javax.swing….
Enterprise application: If we design and execute any java application on the basis of client-server architecture or by distributing application logic over multiple machines then java application is called as enterprise applications.
There are two types of enterprise applications:
Web Applications and Distributed Applications.
Difference between Web Application and Distributed Application:
Web application is a client-server application, where the complete application logic will be distributed over server machine.
Distributed application is a client-server application, where the complete application logic will be distributed over both client and server machine.
In distributed applications, client may be a java program, an applet, a servlet, a JSP page, a framework application like struts, JSF, Spring application.
To prepare web application, we will use a set of technologies called as web technologies like CGI, Servlets, JSP….
To prepare distributed applications we will use a set of technique called as distributed technique. ex Socket programming, RMI, ejb, Web Services.
The main intention of web applications is to provide dynamic response from server machine.
The main intention of distributed application is to establish communication between local machine and remote machine in order to get remote services from remote machine to local machine.
Web applications are executed by both web servers and application servers. Distributed are executed by only application servers.
Web application is the collection of web components (Servlet, JSP) and which are executed by the web containers (Servlet Container, JSP Container).
Distributed application is the collection of distributed components like EJB components and which are executed by EJB container.