Enterprise JavaBeans (EJB)
Enterprise JavaBeans (EJB) is the server-side and platform-independent Java application programming interface (API) for Java Platform, Enterprise Edition (Java EE). EJB is used to simplify the development of large distributed applications.
The EJB container handles transaction management and security authorization, allowing a bean developer to concentrate on business issues. Additionally, a client developer can concentrate on the presentation layer without focusing on the EJB business logic.
The EJB container handles transaction management and security authorization, allowing a bean developer to concentrate on business issues. Additionally, a client developer can concentrate on the presentation layer without focusing on the EJB business logic.
Web Archives (WAR)
It is used to deploy web applications according to the servlet standard. It is a jar file containing a special directory called WEB-INF and several files and directories inside it (web.xml, lib, classes) as well as all the HTML, JSP, images, CSS, JavaScript and other resources of the web application.
Enterprise Archives (EAR)
t is used to deploy enterprise application containing EJBs, web applications, and 3rd party libraries. It is also a jar file, it has a special directory called APP-INF that contains the application.xml file, and it contains jar and war files.
Jar (java archive)
compression techniques used - generally contains java information like class/java files. But can contain any files and directory structure
Java and JavaScript
Java is an OOP programming language while Java Script is an OOP scripting language. Java creates applications that run in a virtual machine or browser while JavaScript code is run on a browser only. Java code needs to be compiled while JavaScript code are all in text.
Java and JavaScript
Java is an OOP programming language while Java Script is an OOP scripting language. Java creates applications that run in a virtual machine or browser while JavaScript code is run on a browser only. Java code needs to be compiled while JavaScript code are all in text.
Differences Between JavaScript & HTML
Hypertext markup language (HTML) is a language used to create Web pages. The HTML language is interpreted by the Web browser, and it delivers the images and text for the user. JavaScript is a more advanced language to make Web pages dynamic.
Java Runtime Environment contains JVM, class libraries, and other supporting files. It does not contain any development tools such as compiler, debugger, etc. JRE =JVM + Java Packages Classes (like util, math, lang, awt, swing etc) + run-time libraries
The JRE is the environment within which the virtual machine runs.
JRE - JAVA Runtime Environment
JVM - JAVA Virtual Machine
JRE is the container, JVM is the content.
Different OpenJDK and Oracle JDK
OpenJDK and Oracle JDK have almost the same code, but Oracle JDK has more classes and some bugs fixed.
OpenJDK is a reference model and open source, while Oracle JDK is an implementation of the OpenJDK and is not open source. Oracle JDK is more stable than OpenJDK.
Web
Server is designed to serve HTTP Content. App Server can also serve
HTTP Content but is not limited to just HTTP. It can be provided
other protocol support such as RMI/RPC
-
Web Server is mostly designed to serve static content, though most Web Servers have plugins to support scripting languages like Perl, PHP, ASP, JSP etc. through which these servers can generate dynamic HTTP content.
-
Most of the application servers have Web Server as integral part of them, that means App Server can do whatever Web Server is capable of. Additionally App Server have components and features to support Application level services such as Connection Pooling, Object Pooling, Transaction Support, Messaging services etc.
- As web servers are well suited for static content and app servers for dynamic content, most of the production environments have web server acting as reverse proxy to app server. That means while servicing a page request, static contents (such as images/Static HTML) are served by web server that interprets the request. Using some kind of filtering technique (mostly extension of requested resource) web server identifies dynamic content request and transparently forwards to app server
such
configuration is Apache Tomcat HTTP Server and Oracle (formerly BEA)
WebLogic Server. Apache Tomcat HTTP Server is Web Server and Oracle
WebLogic is Application Server.
web
server
-
serves files stored somewhere (most commonly .css, .html, .js).
Common web servers are Apache, Nginx or even Python's
SimpleHTTPServer.
application
server
-
serves files generated on the fly. Essentially most web servers have
some sort of plugins or even come with built-in functionality to do
that. There exist also strict application servers like Gunicorn
(Python), Unicorn (Ruby), uWSGI (Python), etc.