Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What's the difference between Java Web Application and Java Enterprise Application? [closed]

I have been doing some research about the difference between Java web application and enterprise application and what I have found is that they have little bit similar architecture.

For example Enterprise Application have Client -, Presentation -, Business Logic - and Data tier.

Client Tier can be Java clients, browser-based clients and mobile clients.
Presentation Tier can be JavaBeans components, servlets, portals and JSP components.
In Business Logic Tier you can have servers, web services (SOAP, Restful and others) and MDB components.
In Data Tier you can have DBMS, LDAP and Data Feed.

Now if we compare those components to web application you can use them without creating Java Enterprise application. For example I can use many different technologies to implement my web application such as Hibernate, Maven, JSP or JSF, Databases, Servlets, JavaBeans and etc.

My biggest question is what is the major difference between Java Enterprise application and Web application? Why I would use Java Enterprise application?

like image 997
Amir Al Avatar asked Jul 06 '13 20:07

Amir Al


People also ask

What is the difference between web application and enterprise app?

1.Web application is deployed in Web server which has web container Web application - JSP, Servlet, Java 2.web apps are programs which created to run in a web browser. 1.Enterprise App is deployed in Application server which has Web container, EJB container,...

Can we use Java without creating Java Enterprise Application?

Now if we compare those components to web application you can use them without creating Java Enterprise application. For example I can use many different technologies to implement my web application such as Hibernate, Maven, JSP or JSF, Databases, Servlets, JavaBeans and etc.

What is the difference between J2EE web application and enterprise application?

2.web apps are programs which created to run in a web browser. An enterprise application will contain enterprise beans (session/entity beans) and will run in a J2EE Container which provides transaction and security services to the beans and it will be named as .ear file.

What is the difference between application and applet in Java?

Difference between Application and Applet: Applications are just like a Java programs that can be execute independently without using the web browser. Applets are small Java programs that are designed to be included with the HTML web document. They require a Java-enabled web browser for execution.


Video Answer


2 Answers

Why would I use Java Enterprise application?

This question arose almost at the same time that the specification itself saw the light.

Several books had been written about this topic.

Expert One-on-One J2EE Development without EJB

POJOs in Action: Developing Enterprise Applications with Lightweight Frameworks

And also technologies like Spring offers alternatives.

Therefore, in the most cases you can build a web application that satisfies your client's requirements without the needs of to build an enterprise application.

However, there are applications with special functional and/or non-functional requirement, which need to have a business layer running over an insfrastructure that offers certain services such as: distributed transactions, messaging proccessing, timer services and remote method invocation.

This kind of infrastructure services are not available in web servers, for this reason you need to develop an application (or at least some components) that run over a heavyweigh application servers.

like image 196
Gabriel Aramburu Avatar answered Oct 12 '22 10:10

Gabriel Aramburu


As you can see from the oracle website, the Java Enterprise Edition is a specification. There are lots of implementations from various vendors. The main difference from the standard edition and the enterprise is that for the latter you need an application server, instead of a web server like tomcat. This is because the EJBs where you put the business logic (that exists only in the Java EE specification) needs a container that takes care of them.

JBoss, Geronimo, Resin, WebSphere among others are applications servers that manage EJBs.

like image 42
Paolof76 Avatar answered Oct 12 '22 09:10

Paolof76