Difference between Web Server and Application Server! Apache Http Server ,Weblogic,Tomcat, Jboss
Summary
TLDRDieses Video klärt den Unterschied zwischen Webservern und Anwendungsservern auf. Es erklärt, dass Webserver für statische Inhalte wie Text, Bilder und Videos gedacht sind, während Anwendungsserver für dynamische Inhalte und Geschäftslogik benötigt werden, die oft mit Datenbanken interagieren. Der Fokus liegt auf Java-basiertem Anwendungsserver wie Tomcat, WebLogic und JBoss, die Servlets und JSPs ausführen. Es unterscheidet zwischen kleinen Anwendungsservern, die Servlet-Container bieten, und vollständigen Anwendungsservern, die auch EJB-Container für große, verteilte Geschäftsanwendungen bieten.
Takeaways
- 🌐 Der Hauptunterschied zwischen Webservern und Anwendungsservern liegt in ihrer Funktion: Webserver dienen zur Bereitstellung statischer Inhalte, während Anwendungsserver sowohl statische als auch dynamische Inhalte verwalten können.
- 📄 Statische Inhalte beinhalten Text, Bilder, PDF-Dateien und andere Dateien, die nicht oft geändert werden und keine Geschäftslogik erfordern.
- 🔧 Dynamische Inhalte umfassen Datenbanktransaktionen, die durch Servlets und JSPs (Java Server Pages) auf Java-basierende Anwendungsserver wie Tomcat ausgeführt werden.
- 🏢 Geschäftslogik bezieht sich auf die internen Abläufe und Richtlinien einer Organisation, die oft mit Hilfe von Standardsoftware oder benutzerdefiniertem Code automatisiert werden.
- 🛠 Enterprise JavaBeans (EJBs) sind für die Entwicklung von Geschäftslogik in größeren, verteilten Anwendungen verwendet und erfordern eine vollständige Java-fähige Anwendungsserver wie WebLogic oder JBoss.
- 🔗 Webserver wie der Apache HTTP Server sind für die Bereitstellung statischer Inhalte konzipiert und benötigen keine Java-Umgebung.
- 💾 Tomcat ist ein Beispiel für einen kleinen Java-fähigen Anwendungsserver, der Servlets und JSPs ausführen kann, um dynamische Inhalte bereitzustellen.
- 🔄 In der Enterprise-Welt ist es erforderlich, Anwendungsserver mit Funktionen wie Hochverfügbarkeit, Skalierbarkeit, Lastverteilung und Fehlertoleranz zu verwenden.
- 🌐 Die Integration von verschiedenen Anwendungen und Datenbanken in der Enterprise-Welt erfordert eine komplexe Architektur, die oft auf vollständigen Java-fähigen Anwendungsservern basiert.
- 🔑 Die Wahl zwischen Webservern und Anwendungsservern hängt von den spezifischen Anforderungen ab, wie zum Beispiel die Art des Inhalts, der bereitgestellt werden muss, und die Komplexität der Geschäftslogik.
Q & A
Was ist der Hauptunterschied zwischen einem Webserver und einem Anwendungsserver?
-Ein Webserver dient zur Bereitstellung statischer Inhalte wie Text, Bilder und Videos, während ein Anwendungsserver für die Verarbeitung von dynamischen Inhalten und Geschäftslogik verantwortlich ist, die oft mit Datenbanken interagieren.
Welche sind die drei Konzepte, die man verstehen muss, um den Unterschied zwischen Webserver und Anwendungsserver zu verstehen?
-Die drei Konzepte sind statische Inhalte, dynamische Inhalte und Geschäftslogik.
Was ist ein Beispiel für statische Inhalte auf einer E-Commerce-Website?
-Statische Inhalte auf einer E-Commerce-Website könnten Produktbeschreibungen und herunterladbare PDF-Dateien mit detaillierter Produktinformation sein.
Was bezeichnet man als private Inhalte und warum sind sie als privat angesehen?
-Private Inhalte beziehen sich auf Geschäftsfunktionen und -codes, die spezifisch für eine Organisation sind und nicht für die Öffentlichkeit bestimmt sind, weil sie interne Richtlinien und Funktionen betreffen.
Wie werden servlets in der Java-Programmierung definiert und wofür werden sie verwendet?
-Servlets sind Java-Programme, die auf einem Java-fähigen Anwendungsserver ausgeführt werden und für die Verarbeitung von dynamischen Funktionen benötigt werden, die eine Verbindung zur Datenbank herstellen.
Was ist JSP und wie wird es in Webanwendungen verwendet?
-JSP steht für JavaServer Pages und wird verwendet, um Java-Code in HTML einzubinden, um dynamische Inhalte in Webanwendungen zu ermöglichen.
Warum benötigt man einen EJB-Container, wenn man Enterprise Java Beans (EJBs) verwendet?
-Ein EJB-Container ist erforderlich, um die Geschäftslogik auszuführen, die in EJBs entwickelt wurde, und bietet Unterstützung für erweiterte Funktionen wie Hochverfügbarkeit, Skalierbarkeit und Lastenausgleich.
Was ist der Unterschied zwischen einem Java-fähigen Kleinst- und einem Vollstreck-Anwendungsserver?
-Ein Java-fähiger Kleinst-Anwendungsserver wie Tomcat kann Servlets und JSPs ausführen, während ein Vollstreck-Anwendungsserver wie WebLogic oder JBoss auch EJBs ausführen kann und umfangreichere Funktionen für große, verteilte Anwendungen bietet.
Welche Fähigkeiten erfordert eine Anwendung in der Enterprise-Welt, die EJBs verwendet?
-In der Enterprise-Welt, bei der EJBs verwendet werden, sind Fähigkeiten wie Hochverfügbarkeit, Skalierbarkeit, Lastenausgleich, Fehlertoleranz und Integration mit mehreren Datenbanken und Anwendungen erforderlich.
Wie können Webserver und Anwendungsserver in einer Enterprise-Umgebung koordiniert werden?
-In einer Enterprise-Umgebung können Webserver für die Bereitstellung statischer Inhalte und Anwendungsserver für die Verarbeitung von dynamischen Inhalten und Geschäftslogik koordiniert werden, um eine vollständige und skalierbare Anwendungsarchitektur zu bieten.
Outlines
🌐 Unterschied zwischen Webserver und Anwendungsserver
Der erste Absatz stellt die Frage nach dem Unterschied zwischen Webservern und Anwendungsservern und führt verschiedene Server-Typen wie Apache HTTP, Tomcat, Weblogic und JBoss ein. Es wird betont, dass selbst erfahrene Ingenieure manchmal Schwierigkeiten haben, diese zu unterscheiden. Der Sprecher erklärt, dass man drei Konzepte verstehen muss: statische Inhalte, dynamische Inhalte und Geschäftslogik. Als Beispiel wird eine E-Commerce-Website genannt, die sowohl öffentliche Inhalte (z.B. Produktbeschreibungen und PDFs) als auch private Inhalte (z.B. interne Geschäftsfunktionen und Richtlinien) umfasst.
📄 Webserver und Anwendungsserver für statische und dynamische Inhalte
Der zweite Absatz erklärt, dass Webserver für die Bereitstellung statischer Inhalte wie Text, Bilder, Audio- und Videodateien gedacht sind, die nicht oft geändert werden. Diese Inhalte werden auf dem Server gespeichert und müssen nur angezeigt werden, ohne zusätzliche Geschäftslogik. Im Gegensatz dazu sind dynamische Inhalte, die Datenbanktransaktionen beinhalten, komplexer und erfordern Java-Programme wie Servlets und JSPs. Diese werden auf Java-fähigen Anwendungsservern ausgeführt, die auch als Servlet-Container bezeichnet werden.
🏢 Enterprise JavaBeans (EJB) und vollständige Anwendungsserver
Der dritte Absatz führt Enterprise JavaBeans (EJB) als eine Spezifikation für die Entwicklung großer, verteilter Geschäftsanwendungen auf der Java-Plattform ein. EJBs ermöglichen es, die Geschäftslogik einer Organisation zu entwickeln, was in einer vollständigen Java-fähigen Anwendungsumgebung ausgeführt wird, die auch als EJB-Container bezeichnet wird. Der Sprecher unterscheidet zwischen kleinen Java-fähigen Anwendungsservern, die für Servlets und JSPs konzipiert sind, und vollständigen Anwendungsservern, die auch EJBs unterstützen und für große Unternehmensszenarien mit hohen Anforderungen an Verfügbarkeit, Skalierbarkeit und Fehlertoleranz geeignet sind.
🌟 Graphische Darstellung von Web- und Anwendungsservern in der Enterprise-Welt
Der vierte Absatz verwendet eine grafische Darstellung, um die Rolle von Webservern für statische Inhalte und Java-fähigen Anwendungsservern für dynamische Inhalte und Geschäftslogik zu veranschaulichen. Es wird erklärt, dass Webserver für die Bereitstellung von statischen Inhalten über das Internet an Endbenutzer gedacht sind, während Java-fähige Anwendungsserver für die Ausführung von Servlets, JSPs und EJBs benötigt werden. In der Enterprise-Welt, wo Integration mit mehreren Anwendungen und Cloud-Diensten, hohe Verfügbarkeit, Fehlertoleranz und Lastverteilung erforderlich sind, werden vollständige Anwendungsserver wie WebLogic, JBoss und WildFly eingesetzt.
Mindmap
Keywords
💡Webserver
💡Application Server
💡Statische Inhalte
💡Dynamische Inhalte
💡Geschäftslogik
💡Servlet
💡JSP
💡Enterprise JavaBeans (EJB)
💡Konnektivität
💡Lastenausgleich
Highlights
介绍网络服务器和应用服务器的区别
讨论Apache HTTP、Tomcat、Weblogic和JBoss等服务器的特点
解释静态内容、动态内容和业务逻辑的概念
通过电子商务网站示例阐述公共内容和私有内容的区别
讨论如何通过ERP软件和自定义开发实现业务功能自动化
解释网络服务器在提供静态内容中的作用
讨论动态内容和数据库交互的必要性
介绍Servlet和JSP在动态内容处理中的角色
阐述Java启用的应用服务器在执行Servlet和JSP中的重要性
讨论Enterprise Java Beans (EJB) 在构建企业级应用中的作用
解释为什么需要EJB容器来执行业务逻辑
区分网络服务器、小规模应用服务器和全规模应用服务器的不同用途
通过图形化方式展示静态内容、动态内容和业务逻辑的执行过程
讨论在企业级应用中实现高可用性、可扩展性和负载均衡的重要性
解释为什么需要全规模应用服务器来处理复杂的企业级业务逻辑
总结网络服务器和应用服务器在不同场景下的应用
Transcripts
foreign
[Music]
application server so in fact not only
web server application server because we
have a lot of different flavors of web
servers and application servers in the
market okay so apart from that we are
going to discuss about what exactly is
the difference between uh a particular
web server like Apache HTTP Tomcat
weblogic Wells parent gebos so I had a
discussion with a lot of Engineers and
not only freshers even the experienced
persons are a lot of times get confused
between what exactly the difference
between a web server and application
server and what are the situations or
conditions where we need to implement
the web server and where we need to
implement the application servers like
Tomcat weblogic web experience JBoss so
I am going to cover all of the concepts
in this video
to understand the difference between a
web server and application servers okay
you need three concepts to be clear so
what is static contents second is
dynamic content and third is business
logic
so let us take a look with example what
is the difference between static
contents Dynamic contents and business
logic suppose that I am running at
e-commerce website okay and what exactly
is there on the website uh I will
display a lot of products along with the
description and apart from that I could
have a PDF file which is giving the more
detailed information about our product
right so which you can download from the
website
apart from that if someone want to do
any kind of a shopping then I would have
a shopping cart on my e-commerce website
from there users can buy the products
and then that means they are doing a
certain kind of a transactions
so this is specifically called public
content why we are saying it is a public
content because this is specifically
designed for the public anyone can
access the website and can see the
contents and can download the public
information PDF documents which is
specifically related with the product
anyone can access it anyone can download
it so it can be defined as a public
content right apart from that because I
am running the e-commerce website so I
have my own organization so if I have
organization then I have my internal
policies internal business
functionalities okay because I have a
different internal departments HR
department manufacturing Department
Supply Department technical department
and I have my own business
functionalities and if I am going to
implement all my business
functionalities
from paper to computer right that means
I am going for the automation of all the
functionalities in that case I have to
implement certain kind of a software and
codes so what does it mean software and
code
[Music]
so either I will use certain kind of a
standard software for my organization
okay those are available in the market
okay or maybe I will go for the custom
development of my business logic right
so that means I am doing a certain kind
of Auto automation of my business
functionalities with the help of certain
code and by using the certain kind of a
standard software those are available in
the market for example you have an Erp
right for for a different kind of a
business entities okay so whenever we
want to automate our internal business
functionalities we will uh we we buy the
Erp software and then we internally
implement it across all our departments
okay and apart from that maybe that
there are certain functionalities that
is not
in line with the the functionality that
has been provided by my Erp software so
for that I will go for the custom
development of the uh business logic
okay so that would be a combination of
the standard software and apart from
that there would be a custom code as
well so okay in nutshell you can say
that whenever I am going for the
automation of my business
functionalities okay for my organization
then I have to implement certain kind of
a software or maybe I have to implement
a certain kind of a code uh
implementations okay so this is called
as a private content why disk and
business function it is why it is called
a private content because this is a
private content that is specifically for
my organization right I don't want to
disclose this to the outer world because
this is my own business function it is
my own internal policies so now when we
talk about the complete scope of the
content okay so there would be a public
content and apart from that we have a
private content okay so public content
is specifically designed for the public
and it is available on the public domain
which user can access over the Internet
apart from that you have a private
content and your business
functionalities and code which is
completely internal to your organization
so as I said you have uh given I have
given you the example of e-commerce
website okay apart from that we have a
different departments across the world
for example we have a financial
institute manufacturing Transportation
Education Health entertainment
agriculture so every organization has
their own internal business
functionalities and qualities right for
example if I talk about the financial
institute of banks uh the what is the
business functionalities of a bank they
have to open the account they have to
close the account they have to give the
loan and then apart from that they have
a lot of internal function business
functionalities those they Implement
with the help of certain standard
software or with the help of some custom
development
similarly if you go for the
manufacturing Department transportation
education help they all have their own
business functionalities their own way
to work they have their own internal
policies so again if they are going for
the automation then they have to
implement all the Technologies either
with the help of standard software or
with CN Pro standard code
okay so this is all about the content
public content private content and
business functionality and let us talk
about uh more on the
web server and application server part
right so when we say that we have a
public content and or even it is a
private content or a business
functionalities or business logic then
for execution of your public content
okay or you can say about you want your
content to be accessible for the outer
world for that you will need a certain
kind of execution engine which is called
a web server and application server now
what are the conditions when we need a
web server and what are the conditions
when we need our application
server so let us talk about static
content so it is also clear from the
name the contents are static that is not
going to be changed or not going to be
changed very frequently or you don't
need any kind of a if else then and but
kind of the situations for displaying of
the content
for example you have a static content
like text you have image then you have a
audio file then you have a video file
and then you have a HTML page you can
take the example of a new Regency okay
so for example if I take the example of
a News website okay what exactly the
content are there in the website you
have a static text that is for the news
whatever the news is there for that you
have a static text and then apart from
that you could have image you can have
the audio file or video file of the news
right so that is called a specifically
called Static contest because that not
going to be changed you don't need to
execute any kind of a business Logic for
displaying it over the internet you just
you have a text which has been written
and placed somewhere or you have an
image audio file or video file which you
have uploaded somewhere that need to be
displayed on the browser and that if you
have audio video file that can be played
with the help of your any video player
if you have an image or text file that
also you can display over the website so
you don't need any kind of a business
Logic for the execution here right so
all the contents are stored in the
storage and that you want to display it
over the web browser to the end user
right and in a preformatted form right
so for that you need a execution engine
that would able to execute the static
content because these are all called as
a static content validated text image
audio file video file and and and some
more content that I'm going to discuss
in the next few slides so these are
called the static contents and the
execution the engine that you need here
is for the execution of your static
contents okay and that is called a web
server that means whenever you have a
certain kind of a contents that you need
for the execution of the static contents
that is called a web server okay now
second is called the dynamic contents
now apart from the functionality which I
have explained in the web server if you
want to a certain kind of a dynamic
content for example you have a database
and you want to do certain kinds of
transactions where your
business functionality needs to insert
some data in your database or it may
need to delete update or view the data
from the database let me see you have a
database there you have certain
candidate data which is displaying over
your website and users are doing certain
kind of transactions okay and that
transaction may be inserting deleting or
updating the data in your database this
is called a certain kind of a dynamic
contents okay and for that specifically
we are talking about a Java so for that
you have a functionalities or you are or
a programming language that you can say
as servlets and jsps so if you want to
enhance your application with the
dynamic contents or with the business
functionalities where it can con connect
with the database and can do certain
kind of a transactions then you need a
servlet and GSP so what exactly is
servlet so servers are the Java programs
that run on Java enabled application
server so now here servers or you can
say it is a Java program okay and why it
is required when we need a certain kind
of a dynamic functionalities where our
business logic need to connect with the
database for a certain kind of
transactions so now because what I'm
saying is that this is a Java program
okay so you need a Java enable
application server for the execution of
your business logic okay and what is JSP
so JSP is adding Java code to HTML so if
you want your HTML code which enabled
with the Java code for execution of your
Dynamic content so you can Club HTML
code and then Java code in the jsps okay
which is called Java server pages okay
so these two technologies are
specifically related with the Java and
if you wanted to execute any code which
is specifically related with the Java
then you need a
Java base or Java enabled application
server okay and that is called a servlet
container or you can also say a Java
enabled application server Okay so
servlet container is also a name for
your Java enabled application server
which is used for execution of your
servlets and jsps so now third is your
business logic so first we discuss about
the web server which is a static
contents and then we discuss about the
dynamic contents where your business
logic need to connect with the database
for certain kind of executions where you
are inserting updating or deleting some
data in the database for that you will
need a servlet container for execution
of your servlets and jsps because that
Dynamic functionalities you can achieve
with the help of servers and jsps now
apart from that you have a business
logic so as we have discussed so far
that you have a different kind of
sectors across the world and every
sector or organization has their own
business logic own policies and then
they Implement all those things with the
help of standard software or maybe with
the help of custom development custom of
the course where they execute the
business functionalities
right and all these functionalities why
these buttons functions are required
that is required for high availability
scalability load balancing and failure
specifically in the Enterprise world
where
we have running a business which is
scattered across the world we have a
multiple stakeholders are connected with
each other they are communicating with
each other right for the executions of
your business logic okay and for this
kind of functionalities for execution or
development of business logic we use the
ejbs which is called Enterprise Java
beans which is a concept of advanced
Java so Enterprise Java beans ejb is a
specification for developing large scale
distributed business applications on the
Java platform so if you need
to develop the business logic of your
organization okay so apart from servlets
and jsps you need the Enterprise Java
bins for the development of the or you
can say for the programming of your
business logic okay and pgb is also
called as a several Java apis for
construction of enterprise software so
whenever we talk about that the
Enterprise world or Enterprise
applications okay there we develop the
applications in Enterprise Java beans
and when we have Enterprise Java beans
for that we need to execute in the a
separate application server or you can
again say a Java enable application
server which has the capability of ajb
container because we are developing the
business logic in ejps so we need a ejb
container so now we have three things
here one is the web server which we use
for the uh static contents second we
have a bit uh Dynamic contents right
which is uh specifically for it with the
transactions uh with the help of
database okay and for that we have
developed the application in servlets
and jsues for that that we need this a
servlet container which is also called
Java enable application server but third
layer is business logic when we are
developing the business code with the
help of ejbs then we need a full scale
application server or full scale Java
enable application server which has a
capability of ejb container okay so for
static contents you need a web server
when we talk about the dynamic
functionalities of dynamic content then
you need a Java enabled small SQL
application server why we are calling it
a small scale because it doesn't contain
the ejps it has the capabilities only
web server along with that it has the
capability of execution of your servlets
and JSP okay that's why we are saying it
as a Java enabled small scale
application server
but when we come for the execution of
your business logic which is developed
in ejbs you should need a high
availability scalability load balancing
and failure kind of a functionalities
okay for that we need our Java enabled
full scale application server okay so we
have three kind of entities here
web server and application server and
application server for them we can
divide into two categories one is the
small scale application server and
second is the full scale application
server so here where the difference
comes between the web server like Apache
HTTP server tomcat and then weblogic web
experience JBoss so Apache HTTP server
is just a web server it has a capability
only of to serve the static contents and
second when we talk about
the Tomcat so Tomcat is a small scale
application server okay which is used
for as a web server as well as to
execute the diamond contents which is
developed in your serverless and GSP so
your Tomcat can execute the servlet and
jsps okay because when we install the
Tomcat we need a Java as well for
installation of Tomcat but when we
install your web server we don't need
any Java because we are not executing
any business functionalities but when we
are installing the Tomcat we need a Java
because we are going to execute the
servlets and jsps which is a Java based
programs and when it comes to ejbs we
have apart from the static contents and
and dynamic contents of servers and jsps
we have a business code developed in
ejbs then we need a ejb container which
is the part of your full flash
application server like
weblogic web square and JBoss so in that
case we need the full flash application
servers
so now let us take a look in the
graphical way okay for example we have a
certain kind of static contents which
user are accessing over the uh internet
with the help of internet from the
browser for that we can Implement a web
server where we can place our text
images and video files and which can be
displayed to the end user with the help
of browser okay for that we need a web
server and if you have a large number of
user base you can have a multiple
parallel web servers in parallel okay
but now when we talk about the dynamic
contents where you are uh application or
your website need a certain kind of
functionalities to connect with the
database then your web server would not
be sufficient for that one and for that
you need a Java enabled small
application server okay and which also
called as subnet container and for that
you have a tomcat okay and apart from
that from Apache you have open source
version of a small Java enable
application server which is called Tom
ee Tommy okay
which is just a servlet container okay
so that means when you have a web
application which needs the support of
your servlets and jsps as well that
means you need a certain kind of support
for dynamic contents okay then for that
you need a smaller scale application
server okay and when we talk about the
business logic which is called an egbs
then you need a ejp container apart from
your Dynamic contents or you can sit
apart from your servlet container right
so for that you have a web apps for full
flash website uh application servers
like weblogic JBoss EAP wildfly and web
sphere
and this ejp application or this
business logic may need to integrate
with the certain Cloud applications this
may need to communicate with some
different application across the world
in Enterprise world with the help of
java mixing systems apart from that as I
said it needs the high availability
capabilities right and then it may need
a station management failure
capabilities and the scalability okay
and there could be multiple database are
involved in the transactions okay so
that means this is the part of your
Enterprise world the functionalities are
getting increased because we are in the
Enterprise world we have where we have
integration with the multiple partners
across the world and they are working
all together at the real times right for
to to complete our business
functionalities so this is called
Enterprise world and when we are in an
Enterprise world where we need a such
this kind of functionalities we have a
multiple databases we have integration
with the multiple applications like with
the help of JMS we have a station
management capabilities we have failure
capabilities load balancing failure
scalabilities
for that we need a full scale
application server okay and in this part
where we are showing that HTTP call and
RMI call that means if we have
application which contain the static
contents which contain the dynamic
content which has the business logic as
well like okay which is deployed on your
full flash application server like
weblogic JBoss or web Square so you are
there for for
to execute the business functionalities
which is developed in your Java ejps
okay uh your your circulates and jsps
can connect to your ejps with the help
of HTTP or https call or maybe with the
help of RMI call that is a direct call
uh from your thick client to your
application server okay and you may need
to have a GTA author transactions all
right uh where your application doing a
lot of transactions which is uh part of
the distributed transactions okay and
there you may need a connection pooling
that means you need for performance
enhancement you need a connection pools
and data sources as well okay so for all
of these functionalities you will have
full flash application server
now it will uh I hope it will clear to
you what is the difference between a web
server which is specifically designed
for a static contents okay and then when
we talk about a small scale application
server for execution of dynamic content
that is developed in tablets and jsps
then you need you have a small scale
application server that is called Tomcat
but when we have a ejbs which need to
execute in the ejp container you need a
full flash application server where we
have a weblogic JBoss and web square
application server so thanks for
watching this video and stay tuned for
you for few more interesting videos
Browse More Related Video
Was sind Bodentypen - Böden 5
10 kostenlose KI-Tools (die du noch nicht kennst...)
Ist KI-Content sicher für SEO?
Web Server and Application Server | Explained 🔥🔥
Die 10 größten Kostenfaktoren der Deutschen! Hierfür geben Deutsche ihr Geld aus! Mit Spar Analyse!
Optimization method | Neural Style Transfer #3
5.0 / 5 (0 votes)